-
Notifications
You must be signed in to change notification settings - Fork 0
/
plot_metrics.js
56 lines (50 loc) · 1.46 KB
/
plot_metrics.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* Plotter
* https://www.npmjs.com/package/plotter
*
* dependencies:
* brew install gnuplot
* npm install plotter
*
*/
var plot = require('plotter').plot;
var Plotter = {
plotRTTs: (rttMap, outputFile) => {
plot({
data: { 'RTT': rttMap }, //Object.keys(rttMap).map((k)=>rttMap[k]),
filename: outputFile,
format: 'png',
style: 'linespoints', // lines, points, linespoints
title: 'RTT vs download timestamp',
xlabel: 'Time',
ylabel: 'rtt (milliseconds)',
decimalsign: ',',
hideSeriesTitle: true,
// yFormat: '%.2f s',
// time: '%H:%M:%S',
// logscale: true,
});
},
plotE2Edelay: (streamMetrics, outputFile) => {
var delayList = streamMetrics.frameMetrics.map((f)=>f.e2e_delay);
plot({
data: delayList,
filename: outputFile,
format: 'png',
style: 'linespoints', // lines, points, linespoints
title: 'E2E Delay',
xlabel: 'Time',
ylabel: 'E2E delay (seconds)',
xRange: {
min: parseInt(streamMetrics.E2E_delay.min),
max: parseInt(streamMetrics.E2E_delay.max),
},
yRange: {
min: 0,
max: 1000,
},
decimalsign: '.',
hideSeriesTitle: true,
});
}
};
module.exports = Plotter;