SoW-2020-0002: Trace Hit Counters: trigger error reporting integration
[lttng-tools.git] / doc / examples / trigger-on-event / performance / README.md
CommitLineData
2463b787
JR
1# Trigger notification end-to-end latency analysis
2
3## Description
4This analysis is made-up of five executables.
5
6### `producer`
7
8```
9Usage: producer UNIQUE_ID NB_EVENT DELAY_MS
10```
11
12An application that emits `NB_EVENT` times the `performance:hit` event every
13`DELAY_MS` milliseconds.
14
15
16### `consumer`
17```
18Usage: consumer UNIQUE_ID NB_EVENT TRIGGER_NAME
19```
20
21A simple notification client that subscribes to the notifications emitted by the
22`TRIGGER_NAME` trigger. The consumer expects `NB_EVENT` notification and on each
23valid reception emits a `performance:receive` event.
24
25
26### `perform-experience.sh`
27
28```
29Usage: perform-experience.sh SOURCE_ID TRACE_DIRECTORY_NAME DELAY_MS NB_EVENT`
30```
31
32This script performs a complete end-to-end trigger latency experience with
33`DELAY_MS` between each trigger hit and `NB_EVENT` times.
34
35The resulting lttng-ust trace is stored inside `$(pwd)/trace/TRACE_DIRECTORY_NAME`
36
37### `generate-data.sh`
38
39```
40Usage: generate-data.sh
41```
42
43This script performs all configured experiences and apply the customs workload
44as necessary.
45
46The resulting traces are stored inside `$(pwd)/trace/`
47
48This script in its current form will run for about 25 hours.
49
50This script depends on `perform-experience.sh`.
51
52### `generate-graph.sh`
53
54```
55Usage: generate-graph.sh
56```
57
58This script generate all histograms and saved them individually as pdf files. It
59also generate a `summary.pdf` files that contains all pdfs in order of trigger frequency.
60
61This script does not have to run on the machine that produced the data.
62
63This script requires the presence of the "trace/" folder to work.
64
65This script depends on the `bt_plugin_plot.py` babeltrace 2 plugins. Hence this
66script requires Babeltrace 2 with python bindings and python plugin support.
67
68The `bt_plugin_plot.py` requires `matplotlib`.
69
70
71## Building
72
73Simply run the included Makefile.
74
75## Running the complete
76
771) Launch a session daemon using:
78 ```
79 $ lttng-sessiond
80 ```
812) Launch `generate-data.sh`
823) Wait ~25 hours
833) Launch `generate-graph.sh`
This page took 0.026121 seconds and 5 git commands to generate.