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