Files
upstream-jitsi-videobridge/resources/analyze-timeline.pl
upstream-mirror e1257b7a05
Some checks failed
Java CI with Maven / Java 17 (push) Failing after 7m2s
Java CI with Maven / Java 21 (push) Failing after 5m0s
snapshot of https://github.com/jitsi/jitsi-videobridge.git @ fcbf741c646bc237d2ed85a1e86910532532b831 (2026-09-15)
2026-09-15 16:12:38 +05:00

43 lines
1.1 KiB
Perl
Executable File

#!/usr/bin/perl -w
use Statistics::Descriptive;
use strict;
my %stats;
my @stat_names;
while (<>) {
if (/Reference time: /) {
my $prev_time;
while (/; \(([^)]*), PT([0-9.]*)/g) {
my $name = $1;
my $time = $2;
my $delta_time;
if (defined $prev_time) {
$delta_time = $time - $prev_time;
}
else {
$delta_time = $time;
}
$prev_time = $time;
if ($name =~ /Toggleable pcap writer:/) {
$name =~ s/writer: .*/writer/;
}
if (!defined ($stats{$name})) {
$stats{$name} = Statistics::Descriptive::Full->new();
push(@stat_names, $name);
}
$stats{$name}->add_data($delta_time * 1e3);
}
}
}
for my $name (@stat_names) {
my $s = $stats{$name};
printf("%s: min %.3f ms, mean %.3f ms, median %.3f ms, 90%% %.3f ms, 99%% %.3f ms, max %.3f ms\n",
$name, $s->min(), $s->mean(), $s->median(), scalar($s->percentile(90)), scalar($s->percentile(99)), $s->max());
}