Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Attention: ATM CPU and Memory are not correctly measured!

The evaluation feature offers some graphical user interface and instrumentation to measure the latency and throughput of a given query and to create some plots.

...

Before the evaluation feature can be used the features monolithicrcp.evaluation.studio feature and latency have to be added to the odysseus Odysseus product.

An evaluation is maintained by an evaluation job, which encapsulates all necessary settings. A evaluation job is project relative so that it must be assigned to an Odysseus project.

  1. To create a new evaluation, go to an Odysseus project and use right click, browse to "new" and choose "Evaluation Job".
  2. Choose a project wide unique name for your evalation evaluation job and press next.
  3. Choose the Odysseus Script file from the project you want to evaluate.
  4. Now you should see the evaluation job in your editor view. You may change the settings, which are described in the following.

...

Query File: This is the query file you want to evaluate. It should deliver at least one executable, physical query plan. Remember that the query will be executed more than once, so you should design the script to be re-executable. This means for example, the query file may not try to install new sources which are already installed. Hint: you may use something like "#DROPALLSOURCES" or "#IFSRCDEF/#IFSRCNDEF" in Odysseus Script.

New (2017.02.16): There is now the possibility to add a Setup File and a Tear Down file. Similar to JUnit these scripts are called directly before and after the run (e.g. to register sources). These scripts can ran before and after each run or onyl once before and after the whole runs (Setup/Tear down every Run).

Folder for processing results:This is a the folder where the evaluation dumps the results. For each new run of an evaluation, a new subfolder (named by date and time) is created.

...

Parameters: These parameters can be used to iterate over certain settings (or values) in your query file. If you created a new evaluation job, you have two predefined examples: "var_1" and "var_2". "var_1" is the name of the variable and the values are given at the right (each line is a value). So the predifined predefined parameter "var_1" has the values "a", "b" and "c" and "var_2" the values "x", "y", and "z". If the parameters are active (the checkbox is checked), the evaluation will iterate over the values. It will produce each possible combination of all active parameters. For this example there will be 9 different runs:

...

You can add a new parameter using the "Add" button and remove a parameter by selectiing selecting the parameter and using the "Remove" button.

...

Measure Latency: If it is activated, the evaluation job adds the his pre-transformation handler to measure the latency of the query. The pre-transformation handler changes the query files (e.g. it activates the metadata latency by adding "#METADATA Latency" to the query. Furthermore, it adds the LatencyCalculationPipe and a FileSink to each root operator of the query. Therefore, if your query has different sinks, you will also have different latency results. TODO: This has changed. Currently your sources must contain valid metadata for processing!!

Create plots for latencies: If activated, the evaluation will use the merged files to create some plots, which are stored within the plot-folder (look above)

...

Measure Resources: If this is active, the evaluation job adds his pre-transformation handler to measure the CPU and memory consumption. The pre-transformation handler changes the query by adding the "#METADATA Systemload" directive to the query. To measure the systemload, the "Systemload Metadata Feature" is required.

Create plots for CPU: If activated, the evaluation will use the merged files to create a plot of the CPU consumption.

...

Plotsettings: You can choose the export type: PDF, PNG, JPEG, or GnuPlotGNUPLOT. Furthermore you may define the dimension of the plot, its height and width.

...

If the export type is PDF, PNG, or JPEG the resulting plot will look like the figure above. If the export type is chosen to be GNUPLOT, the evaluation feature will generate a .dat file with the merged measurements and a .gnu file containing a GNUPLOT Gnuplot script to generate a LaTeX file.

...

If you stop a query by hand (e.g. using the Queries view) - one evaluation run is canceled and the next run will be installed and started automatically.