Commit | Line | Data |
---|---|---|
2463b787 JR |
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 | awk '{printf "%.3f", $0}' ); | |
13 | hz=${S/.000/} | |
14 | hz_title=${hz/./-} | |
15 | ||
16 | echo "Graphing Hz: ${hz} CPU: ${load}" | |
17 | ||
18 | PLOT1="[\"Trigger latency, Freq:${hz}Hz, CPU load: ${load}%\", \"T (ms)\", \"count\", [$DATA1]]" | |
19 | ||
20 | babeltrace2 --plugin-path="$plugin_path" --component sink.plot.PlotSink \ | |
21 | --params="histograms=[$PLOT1]" \ | |
22 | "./trace/${load}_cpuload_${delay}ms" | |
23 | done << EOF | |
24 | 0 1 10000 | |
25 | 25 1 10000 | |
26 | 50 1 10000 | |
27 | 75 1 10000 | |
28 | 100 1 10000 | |
29 | 0 10 5000 | |
30 | 25 10 5000 | |
31 | 50 10 5000 | |
32 | 75 10 5000 | |
33 | 100 10 5000 | |
34 | 0 100 6000 | |
35 | 25 100 6000 | |
36 | 50 100 6000 | |
37 | 75 100 6000 | |
38 | 100 100 6000 | |
39 | 0 1000 1500 | |
40 | 25 1000 1500 | |
41 | 50 1000 1500 | |
42 | 75 1000 1500 | |
43 | 100 1000 1500 | |
44 | 0 10000 300 | |
45 | 25 10000 300 | |
46 | 50 10000 300 | |
47 | 75 10000 300 | |
48 | 100 10000 300 | |
49 | 0 60000 50 | |
50 | 25 60000 50 | |
51 | 50 60000 50 | |
52 | 75 60000 50 | |
53 | 100 60000 50 | |
54 | EOF | |
55 | ||
56 | pdf_unite="" | |
57 | csvs="" | |
58 | # Generate united graph and base pdf list to unite | |
59 | while read -r delay ; do | |
60 | S=$(echo "scale=3; 1 / ( $delay / 1000 )" | bc | awk '{printf "%.3f", $0}' ); | |
61 | hz=${S/.000/} | |
62 | hz_title=${hz/./-} | |
63 | local_pdf_unite="" | |
64 | echo "Combining graphs for Hz: ${hz} hz_title: $hz_title" | |
65 | ||
66 | loggers="" | |
67 | for load in 100 75 50 25 0; do | |
68 | path=trigger-latency-freq-${hz_title}hz-cpu-load-${load}-.D1.csv | |
69 | csvs="$csvs $path" | |
70 | loggers="[\"duration-csv\", \"${load}% CPU\", \"${path}\"], $loggers" | |
71 | local_pdf_unite="${local_pdf_unite} trigger-latency-freq-${hz_title}hz-cpu-load-${load}-.pdf" | |
72 | done | |
73 | pdf_unite="$pdf_unite $local_pdf_unite" | |
74 | ||
75 | PLOT1="[\"Trigger latency, Freq:${hz}Hz\", \"T (ms)\", \"count\", [$loggers]]" | |
76 | babeltrace2 --plugin-path="$plugin_path" --component sink.plot.PlotSink \ | |
77 | --params="histograms=[$PLOT1]" \ | |
78 | "./trace/0_cpuload_${delay}ms" | |
79 | done << EOF | |
80 | 1 | |
81 | 10 | |
82 | 100 | |
83 | 1000 | |
84 | 10000 | |
85 | 60000 | |
86 | EOF | |
87 | ||
88 | # Add united graphs to the pdfunite cmd | |
89 | while read -r delay ; do | |
90 | S=$(echo "scale=3; 1 / ( $delay / 1000 )" | bc | awk '{printf "%.3f", $0}' ); | |
91 | hz=${S/.000/} | |
92 | hz_title=${hz/./-} | |
93 | ||
94 | pdf_unite="trigger-latency-freq-${hz_title}hz.pdf $pdf_unite" | |
95 | ||
96 | done << EOF | |
97 | 60000 | |
98 | 10000 | |
99 | 1000 | |
100 | 100 | |
101 | 10 | |
102 | 1 | |
103 | EOF | |
104 | ||
105 | rm -rf $csvs | |
106 | ||
107 | pdfunite $pdf_unite summary.pdf | |
108 |