Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2968 from sanssecours/🐪
Browse files Browse the repository at this point in the history
Camel: Remove Plugin
  • Loading branch information
markus2330 authored Sep 16, 2019
2 parents 2a16f99 + 82028c7 commit 4ac53f5
Show file tree
Hide file tree
Showing 24 changed files with 166 additions and 1,201 deletions.
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ matrix:
-boolean;\
-c;\
-cachefilter;\
-camel;\
-ccode;\
-conditionals;\
-constants;\
Expand Down
308 changes: 138 additions & 170 deletions doc/images/flamegraph.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions doc/images/plugins.dot
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ strict digraph G {
c [shape=Mdiamond];
c -> c;
cache [shape=Mdiamond];
storage [shape=Mdiamond];
camel -> storage;
camel [shape=Mdiamond];
camel -> camel;
code [shape=Mdiamond];
ccode -> code;
conditionals [shape=Mdiamond];
Expand Down
Binary file modified doc/images/plugins.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 0 additions & 3 deletions doc/man/man7/elektra-plugins.7
Original file line number Diff line number Diff line change
Expand Up @@ -189,9 +189,6 @@ c \fIc/\fR writes Elektra C\-structures (\fBksNew(\.\. keyNew(\.\.\.\fR)
file \fIfile/\fR reads and writes a file from/to a single key
.
.IP "\(bu" 4
camel \fIcamel/\fR reads and writes a very limited subset of YAML \fIhttp://www\.yaml\.org\fR
.
.IP "\(bu" 4
yamlcpp \fIyamlcpp/\fR reads and writes data in the YAML \fIhttp://www\.yaml\.org\fR format using yaml\-cpp \fIhttps://github\.com/jbeder/yaml\-cpp\fR
.
.IP "\(bu" 4
Expand Down
2 changes: 1 addition & 1 deletion doc/news/2017-10-31_0.8.20.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ See [plugin overview](https://www.libelektra.org/plugins/)
to get an overview of the ever-growing number of plugins.

The [yamlcpp plugin](https://www.libelektra.org/plugins/yamlcpp)
and [camel plugin](https://www.libelektra.org/plugins/camel)
and camel plugin
add first support for YAML.

The [mini plugin](https://www.libelektra.org/plugins/mini)
Expand Down
2 changes: 1 addition & 1 deletion doc/news/2017-12-22_0.8.21.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ and the compiled book can be downloaded from [here](https://www.libelektra.org/f

- The new [Directory Value plugin](https://www.libelektra.org/plugins/directoryvalue) supports storage plugins such as [YAJL](https://www.libelektra.org/plugins/yajl) and [YAML CPP ](https://www.libelektra.org/plugins/yamlcpp). It adds extra leaf values for directories (keys with children) that store the data of their parents. This way plugins that normally are only able to store values in leaf keys are able to support arbitrary key sets.
- The [YAML CPP plugin](https://www.libelektra.org/plugins/yamlcpp) reads and writes [YAML](http://yaml.org) data using [yaml-cpp](https://github.com/jbeder/yaml-cpp). The plugin supports arrays, binary data and metadata.
- The [Camel plugin](https://www.libelektra.org/plugins/camel) stores data as simplified YAML flow lists containing double quoted keys and values. For proper YAML support please use the [YAML CPP](https://www.libelektra.org/plugins/yamlcpp) instead.
- The Camel plugin stores data as simplified YAML flow lists containing double quoted keys and values. For proper YAML support please use the [YAML CPP](https://www.libelektra.org/plugins/yamlcpp) instead.
- The [mINI plugin](https://www.libelektra.org/plugins/mini) reads and writes simple property list, separated by equal (`=`) signs.
- The [xerces plugin](https://www.libelektra.org/plugins/xerces) allows Elektra to read and write XML data. The plugin uses [Xerces-C++](http://xerces.apache.org/xerces-c) for this task. It supports both arrays and metadata.
- The [boolean plugin](https://www.libelektra.org/plugins/boolean) normalizes boolean values such as `0`, `1`, `true` and `false`.
Expand Down
2 changes: 1 addition & 1 deletion doc/news/2019-02-26_0.8.26.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ and be assured that you can safely set a path value to the key. A more detailed

- We fixed some compiler warnings for the plugins

- [`camel`](https://www.libelektra.org/plugins/camel),
- `camel`,
- [`line`](https://www.libelektra.org/plugins/line),
- [`mini`](https://www.libelektra.org/plugins/mini) and
- [`resolver`](https://www.libelektra.org/plugins/resolver)
Expand Down
9 changes: 9 additions & 0 deletions doc/news/_preparation_next_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@ The following section lists news about the [modules](https://www.libelektra.org/

- We removed 9 obsolete or unfinished plugins: boolean cachefilter cpptype dini enum regexstore required simplespeclang struct. _(Markus Raab)_

### Camel

We removed the experimental plugin. For a plugin that is able to parse similar syntax, please take a look at the

- [YAJL](../../src/plugins/yajl) , and
- [YAML CPP](../../src/plugins/yamlcpp)

plugins. _(René Schwaiger)_

### GOpts

- The error message, if non of the gopts variants can be compiled, was improved. _(Klemens Böswirth)_
Expand Down
25 changes: 12 additions & 13 deletions doc/tutorials/profiling.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,11 @@ cmake -GNinja "$REPOSITORY_DIRECTORY" \
-DPLUGINS=ALL
```

We will analyze the [YAMBi plugin][yambi] below. Please make sure that the CMake command above includes the plugin:
We will analyze the [YAJL plugin][yajl] below. Please make sure that the CMake command above includes the plugin:

```
-- Include Plugin yambi
-- Include Plugin yajl
```

Expand All @@ -154,29 +154,29 @@ ninja
cd "$REPOSITORY_DIRECTORY"
```

. In the next step we use [`benchmark_plugingetset`](../../benchmarks/README.md) to execute [YAMBi][] for the input file [`generated.yaml`][]. To do that we
. In the next step we use [`benchmark_plugingetset`](../../benchmarks/README.md) to execute [YAJL][] for the input file [`keyframes_complex.json`]. To do that we

1. create the folder `data` in the directory [`benchmarks`](../../benchmarks), and
2. download the file [`generated.yaml`][] as `test.yambi.in`
2. save the file [`keyframes_complex.json`][] as `test.yajl.in`

. The following commands show you how to do that:

```sh
mkdir -p benchmarks/data
curl -L https://github.com/ElektraInitiative/rawdata/raw/master/YAML/Input/generated.yaml -o benchmarks/data/test.yambi.in
cp src/plugins/yajl/yajl/keyframes_complex.json benchmarks/data/test.yajl.in
```

. Now we first check if running [`benchmark_plugingetset`][] works without instrumentation:

```sh
"$BUILD_DIRECTORY/bin/benchmark_plugingetset" benchmarks/data user yambi get
"$BUILD_DIRECTORY/bin/benchmark_plugingetset" benchmarks/data user yajl get
```

. If everything worked correctly, then the command above should finish successfully and not produce any output. To instrument the binary we set the environment variable `XRAY_OPTIONS` to the value `xray_mode=xray-basic verbosity=1`.

```sh
export XRAY_OPTIONS='xray_mode=xray-basic patch_premain=true verbosity=1'
"$BUILD_DIRECTORY/bin/benchmark_plugingetset" benchmarks/data user yambi get
"$BUILD_DIRECTORY/bin/benchmark_plugingetset" benchmarks/data user yajl get
```

. The command above will print the location of the XRay log file to `stdterr`:
Expand All @@ -190,18 +190,18 @@ export XRAY_OPTIONS='xray_mode=xray-basic patch_premain=true verbosity=1'
. Now we can use the log file to analyze the runtime of the execution paths of the binary. To do that we first save the name of the log file in the variable `LOGFILE`. This way we do not need to repeat the filename every time in the commands below.

```sh
LOGFILE=$("$BUILD_DIRECTORY/bin/benchmark_plugingetset" benchmarks/data user yambi get 2>&1 |
LOGFILE=$("$BUILD_DIRECTORY/bin/benchmark_plugingetset" benchmarks/data user yajl get 2>&1 |
sed -nE "s/.*Log file in '(.*)'.*/\1/p")
```

. To list the 10 functions with the longest runtime we use the command `llvm-xray account`:

```sh
llvm-xray account "$LOGFILE" -top=10 -sort=sum -sortorder=dsc -instr_map "$BUILD_DIRECTORY/bin/benchmark_plugingetset"
#> Functions with latencies: 94
#> Functions with latencies: 35
#> funcid count [ min, med, 90p, 99p, max] sum function
#> 1 1 [ 2.414035, 2.414035, 2.414035, 2.414035, 2.414035] 2.414035 <invalid>:0:0: main
#> 1340 1 [ 2.403729, 2.403729, 2.403729, 2.403729, 2.403729] 2.403729 <invalid>:0:0: elektraYambiGet
#> 1 1 [ 0.004791, 0.004791, 0.004791, 0.004791, 0.004791] 0.004791 <invalid>:0:0: main
#> 1333 1 [ 0.002007, 0.002007, 0.002007, 0.002007, 0.002007] 0.002007 <invalid>:0:0: elektraYajlGet
#> …
```

Expand All @@ -226,5 +226,4 @@ flamegraph flamegraph.txt > flamegraph.svg

. Additional information on how to use the data produced by [XRay][] is available [here](https://llvm.org/docs/XRayExample.html).

[yambi]: ../../src/plugins/yambi/README.md
[`generated.yaml`]: https://github.com/ElektraInitiative/rawdata/blob/master/YAML/Input/generated.yaml
[`keyframes_complex.json`]: ../../src/plugins/yajl/yajl/keyframes_complex.json
30 changes: 0 additions & 30 deletions scripts/cmake/Modules/FindYAEP.cmake

This file was deleted.

2 changes: 1 addition & 1 deletion scripts/deploy/website
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ LD_FLAGS='-Wl,-z,now -Wl,-z,relro'

cmake -DENABLE_ASAN=ON -DBUILD_FULL=OFF -DBUILD_SHARED=ON -DBUILD_STATIC=OFF -DBUILD_DOCUMENTATION=OFF \
-DCMAKE_INSTALL_PREFIX="${INSTALL_PATH}" \
-DPLUGINS='ALL;-EXPERIMENTAL;-fstab;-ruby;-lua;-python;-xerces;-yamlcpp;-python2;file;camel;-dbus' \
-DPLUGINS='ALL;-EXPERIMENTAL;-fstab;-ruby;-lua;-python;-xerces;-yamlcpp;-python2;file;-dbus' \
-DTOOLS='kdb;website-backend;website-frontend' \
-DCMAKE_C_FLAGS="$C_FLAGS" \
-DCMAKE_CXX_FLAGS="$C_FLAGS" \
Expand Down
1 change: 1 addition & 0 deletions scripts/docker/ubuntu/disco/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ RUN apt-get update && apt-get -y install \
ed \
git \
libantlr4-runtime-dev \
libyajl-dev \
libyaml-cpp-dev \
llvm \
locales \
Expand Down
2 changes: 1 addition & 1 deletion scripts/docker/website/backend/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ RUN ldconfig \
&& cd build \
&& cmake -DENABLE_ASAN=ON -DBUILD_FULL=OFF -DBUILD_SHARED=ON \
-DBUILD_STATIC=OFF -DBUILD_DOCUMENTATION=OFF \
-DPLUGINS="ALL;-EXPERIMENTAL;-fstab;-ruby;-lua;-python;-xerces;-yamlcpp;-python2;file;camel;yajl" \
-DPLUGINS="ALL;-EXPERIMENTAL;-fstab;-ruby;-lua;-python;-xerces;-yamlcpp;-python2;file;yajl" \
-DTOOLS="kdb;website-backend" \
-DCMAKE_C_FLAGS="$C_FLAGS" \
-DCMAKE_CXX_FLAGS="$C_FLAGS" \
Expand Down
2 changes: 1 addition & 1 deletion scripts/docker/website/frontend/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ RUN mkdir build \
&& cd build \
&& cmake -DENABLE_ASAN=ON -DBUILD_FULL=OFF -DBUILD_SHARED=ON \
-DBUILD_STATIC=OFF -DBUILD_DOCUMENTATION=OFF \
-DPLUGINS="ALL;-EXPERIMENTAL;-fstab;-ruby;-lua;-python;-xerces;-yamlcpp;-python2;file;camel;yajl" \
-DPLUGINS="ALL;-EXPERIMENTAL;-fstab;-ruby;-lua;-python;-xerces;-yamlcpp;-python2;file;yajl" \
-DTOOLS="kdb;website-frontend" \
-DCMAKE_C_FLAGS="$C_FLAGS" \
-DCMAKE_CXX_FLAGS="$C_FLAGS" \
Expand Down
1 change: 0 additions & 1 deletion src/plugins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ productive use:
- [mozprefs](mozprefs/) for Mozilla preference files
- [c](c/) writes Elektra C-structures (`ksNew(.. keyNew(...`)
- [file](file/) reads and writes a file from/to a single key
- [camel](camel/) reads and writes a very limited subset of [YAML][]
- [yamlcpp](yamlcpp/) reads and writes data in the [YAML][] format using [yaml-cpp](https://github.com/jbeder/yaml-cpp)
- [yanlr](yanlr/) reads data using a parser generated by [ANTLR](http://www.antlr.org)
- [yambi](yambi/) reads data using a parser generated by [Bison](https://www.gnu.org/software/bison)
Expand Down
6 changes: 0 additions & 6 deletions src/plugins/camel/CMakeLists.txt

This file was deleted.

49 changes: 0 additions & 49 deletions src/plugins/camel/README.md

This file was deleted.

Loading

0 comments on commit 4ac53f5

Please sign in to comment.