Aion-Telemetry
view release on metacpan or search on metacpan
my ($report, $total) = refreport;
$total # -> $report->[0]{interval} + $report->[1]{interval}
scalar @$report # -> 2
round $total # -> 0.5
$report->[0]{mark} # => reper2
$report->[0]{count} # -> 2
round $report->[0]{interval} # -> 0.3
round $report->[0]{percent} # -> 60.0
$report->[1]{mark} # => main
$report->[1]{count} # -> 1
round $report->[1]{interval} # -> 0.2
round $report->[1]{percent} # -> 40.0
```
## refreport (;$clean)
Make a report on reference points.
Parameter `$clean == 1` clean the report.
```perl
my $s = refreport;
lib/Aion/Telemetry.md view on Meta::CPAN
my ($report, $total) = refreport;
$total # -> $report->[0]{interval} + $report->[1]{interval}
scalar @$report # -> 2
round $total # -> 0.5
$report->[0]{mark} # => reper2
$report->[0]{count} # -> 2
round $report->[0]{interval} # -> 0.3
round $report->[0]{percent} # -> 60.0
$report->[1]{mark} # => main
$report->[1]{count} # -> 1
round $report->[1]{interval} # -> 0.2
round $report->[1]{percent} # -> 40.0
```
## refreport (;$clean)
Make a report on reference points.
Parameter `$clean == 1` clean the report.
```perl
my $s = refreport;
lib/Aion/Telemetry.pm view on Meta::CPAN
}
# СоздаÑÑ Ð¾ÑÑÑÑ Ð¿Ð¾ ÑепеÑнÑм ÑоÑкам
sub refreport(;$) {
my ($clean) = @_;
my @v = values %REFMARK;
%REFMARK = (), undef $REFMARK_LAST_TIME if $clean;
my $total = sum map $_->{interval}, @v;
$_->{percent} = ($_->{interval} / $total) * 100 for @v;
@v = sort {$b->{percent} <=> $a->{percent}} @v;
return \@v, $total if wantarray;
join "",
"Ref Report -- Total time: ${\ sinterval $total }\n",
sprintf("%8s %12s %6s %s\n", "Count", "Time", "Percent", "Interval"),
"----------------------------------------------\n",
map sprintf("%8s %12s %6.2f%% %s\n",
$_->{count},
sinterval $_->{interval},
$_->{percent},
$_->{mark},
), @v;
}
1;
__END__
=encoding utf-8
lib/Aion/Telemetry.pm view on Meta::CPAN
my ($report, $total) = refreport;
$total # -> $report->[0]{interval} + $report->[1]{interval}
scalar @$report # -> 2
round $total # -> 0.5
$report->[0]{mark} # => reper2
$report->[0]{count} # -> 2
round $report->[0]{interval} # -> 0.3
round $report->[0]{percent} # -> 60.0
$report->[1]{mark} # => main
$report->[1]{count} # -> 1
round $report->[1]{interval} # -> 0.2
round $report->[1]{percent} # -> 40.0
=head2 refreport (;$clean)
Make a report on reference points.
Parameter C<$clean == 1> clean the report.
my $s = refreport;
refreport 0 # -> $s
refreport 1 # -> $s
t/aion/telemetry.t view on Meta::CPAN
my ($report, $total) = refreport;
::is scalar do {$total}, scalar do{$report->[0]{interval} + $report->[1]{interval}}, '$total # -> $report->[0]{interval} + $report->[1]{interval}';
::is scalar do {scalar @$report}, scalar do{2}, 'scalar @$report # -> 2';
::is scalar do {round $total}, scalar do{0.5}, 'round $total # -> 0.5';
::is scalar do {$report->[0]{mark}}, "reper2", '$report->[0]{mark} # => reper2';
::is scalar do {$report->[0]{count}}, scalar do{2}, '$report->[0]{count} # -> 2';
::is scalar do {round $report->[0]{interval}}, scalar do{0.3}, 'round $report->[0]{interval} # -> 0.3';
::is scalar do {round $report->[0]{percent}}, scalar do{60.0}, 'round $report->[0]{percent} # -> 60.0';
::is scalar do {$report->[1]{mark}}, "main", '$report->[1]{mark} # => main';
::is scalar do {$report->[1]{count}}, scalar do{1}, '$report->[1]{count} # -> 1';
::is scalar do {round $report->[1]{interval}}, scalar do{0.2}, 'round $report->[1]{interval} # -> 0.2';
::is scalar do {round $report->[1]{percent}}, scalar do{40.0}, 'round $report->[1]{percent} # -> 40.0';
#
# ## refreport (;$clean)
#
# Make a report on reference points.
#
# Parameter `$clean == 1` clean the report.
#
done_testing; }; subtest 'refreport (;$clean)' => sub {
my $s = refreport;
( run in 0.372 second using v1.01-cache-2.11-cpan-05162d3a2b1 )