SoW-2019-0002: Dynamic Snapshot
[lttng-tools.git] / doc / examples / trigger-on-event / performance / generate-graph.sh
1 #!/bin/bash
2 #
3 # Copyright (C) 2020 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
4 #
5 # SPDX-License-Identifier: MIT
6
7 plugin_path=$(dirname "$0")
8
9 DATA1="[\"duration\", \"D1\", \"performance:hit\", [\"source\", \"iteration\"], \"performance:receive\", [\"source\", \"iteration\"]]"
10
11 while read -r load delay count; do
12 S=$(echo "scale=3; 1 / ( $delay / 1000 )" | bc );
13 hz=${S/.000/}
14
15 echo "Graphing Hz: ${hz} CPU: ${load}"
16
17 PLOT1="[\"Trigger latency, Freq:${hz}Hz, CPU load: ${load}%\", \"T (ms)\", \"count\", [$DATA1]]"
18
19 babeltrace2 --plugin-path="$plugin_path" --component sink.plot.PlotSink \
20 --params="histograms=[$PLOT1]" \
21 "./trace/${load}_cpuload_${delay}ms"
22 done << EOF
23 0 1 10000
24 25 1 10000
25 50 1 10000
26 75 1 10000
27 100 1 10000
28 0 10 5000
29 25 10 5000
30 50 10 5000
31 75 10 5000
32 100 10 5000
33 0 100 6000
34 25 100 6000
35 50 100 6000
36 75 100 6000
37 100 100 6000
38 0 1000 1500
39 25 1000 1500
40 50 1000 1500
41 75 1000 1500
42 100 1000 1500
43 0 10000 300
44 25 10000 300
45 50 10000 300
46 75 10000 300
47 100 10000 300
48 0 60000 50
49 25 60000 50
50 50 60000 50
51 75 60000 50
52 100 60000 50
53 EOF
54
55 pdf_unite=""
56 csvs=""
57 # Generate united graph and base pdf list to unite
58 while read -r delay ; do
59 S=$(echo "scale=3; 1 / ( $delay / 1000 )" | bc );
60 hz=${S/.000/}
61 hz_title=${hz/./}
62 local_pdf_unite=""
63 echo "Combining graphs for Hz: ${hz} hz_title: $hz_title"
64
65 loggers=""
66 for load in 100 75 50 25 0; do
67 path=trigger-latency-freq-${hz_title}hz-cpu-load-${load}-.D1.csv
68 csvs="$csvs $path"
69 loggers="[\"duration-csv\", \"${load}% CPU\", \"${path}\"], $loggers"
70 local_pdf_unite="${local_pdf_unite} trigger-latency-freq-${hz_title}hz-cpu-load-${load}-.pdf"
71 done
72 pdf_unite="$pdf_unite $local_pdf_unite"
73
74 PLOT1="[\"Trigger latency, Freq:${hz}Hz\", \"T (ms)\", \"count\", [$loggers]]"
75 babeltrace2 --plugin-path="$plugin_path" --component sink.plot.PlotSink \
76 --params="histograms=[$PLOT1]" \
77 "./trace/0_cpuload_${delay}ms"
78 done << EOF
79 1
80 10
81 100
82 1000
83 10000
84 60000
85 EOF
86
87 # Add united graphs to the pdfunite cmd
88 while read -r delay ; do
89 S=$(echo "scale=3; 1 / ( $delay / 1000 )" | bc );
90 hz=${S/.000/}
91 hz_title=${hz/./}
92
93 pdf_unite="trigger-latency-freq-${hz_title}hz.pdf $pdf_unite"
94
95 done << EOF
96 60000
97 10000
98 1000
99 100
100 10
101 1
102 EOF
103
104 rm -rf $csvs
105
106 pdfunite $pdf_unite summary.pdf
107
This page took 0.03176 seconds and 5 git commands to generate.