Tracing and Metrics
Tracing
The tracing can be activated and set up in the waveware server via the DataManagement. You can use this feature to collect timing data needed to troubleshoot latency issues in rule development. Click on the 'Telemetry' button in the DataManagement ribbon.
Check the option 'Activate tracing', save and continue with setup.
'Jaeger' and 'Zipkin' applications are supported to process the results and display the data. The applications should be run on the server on which the waveware server is also running.
-
Jaeger
Download the application (https://www.jaegertracing.io/download/) and unzip the "jaeger-all-in-one.exe" in any direcotry, e.g. "C:\Temp\wavewareTracing".- Live Tracing
Open a command line (CMD) and run the "jaeger-all-in-one.exe" with the parameter "--collector.otlp.enabled". Using any browser, you can view trace data locally and instantaneously at the "http://localhost:16686" link.
- Save data of the tracing
To save the determined process data in files, create a directory with the sub-folders "values" and "keys", e.g. "C:\Temp\wavewareTracing\trace\values" and "C:\Temp\wavewareTracing\trace\keys".- Open Windows PowerShell and change to the directory of "jaeger-all-in-one.exe".
- Set the following environment variables:
$env:SPAN_STORAGE_TYPE ="badger" $env:BADGER_EPHEMERAL ="false" $env:BADGER_DIRECTORY_VALUE ="C:\Temp\wavewareTracing\trace\values" $env:BADGER_DIRECTORY_KEY ="C:\Temp\wavewareTracing\trace\keys" $env:BADGER_SPAN_STORE_TTL ="168h"
- Start the 'jaeger-all-in-one.exe' in this Powershell.
./jaeger-all-in-one.exe --collector.otlp.enabled
The trace data is now stored in files in the two directories. The data can be evaluated for 168 hours. If a longer period of time is necessary, the environment variable "BADGER_SPAN_STORE_TTL" must be adjusted accordingly. To evaluate the data from the files, also start the "jaeger-all-in-one.exe" with the above environment variables and adjust the paths accordingly.
- More information and documentation for Jaeger [extern]: https://www.jaegertracing.io/docs
- Live Tracing
-
Zipkin
Zipkin is preferably deployed via Docker. Therefore, in order to use Zipkin, you need a pre-set up, working Docker environment (https://www.docker.com/) on the local server.- Open the command line (CMD) and run the following command to start Zipkin as a Docker container:
docker run -d -p 9411:9411 openzipkin/zipkin
- If the Docker container is running on the local system, you can then retrieve trace data via the following link in the browser: "http://localhost:9411"
- More information and documentation for Zipkin [external]: https://zipkin.io/pages/quickstart.html
- Open the command line (CMD) and run the following command to start Zipkin as a Docker container:
Metrics
You can activate metrics in the waveware server via the DataManagement. Click on the 'Telemetry' button in the ribbon to make settings in the 'waveware metrics' area.
Check the 'Activate metrics' option, save and continue with the setup.
The 'Prometheus' application is supported for outputting the metrics. The application must be run on the server on which the waveware server is also running.
- Download the application (https://prometheus.io/download/) and unzip it in any directory, e.g. "C:\Temp\prometheus".
- In this directory, create a configuration file "otel.yml" with the following content:
global: scrape_interval: 1m scrape_timeout: 1m evaluation_interval: 10s scrape_configs: - job_name: "otel" static_configs: - targets: ["localhost:9464"]
Be sure to format the .YML file correctly. Line indentations must be transferred correctly. - Open Windows PowerShell or command line and navigate to the directory where the configuration file and the 'prometheus.exe' are located. Run the following command to start the application along with the configuration file:
./prometheus.exe --config.file=otel.yml
- Then the metric data can be called up in the local browser via the "http://localhost:9090" link.