Aion-Telemetry

 view release on metacpan or  search on metacpan

t/aion/telemetry.t  view on Meta::CPAN

use common::sense; use open qw/:std :utf8/; use Test::More 0.98; sub _mkpath_ { my ($p) = @_; length($`) && !-e $`? mkdir($`, 0755) || die "mkdir $`: $!": () while $p =~ m!/!g; $p } BEGIN { use Scalar::Util qw//; use Carp qw//; $SIG{__DIE__} = sub { ...
# 
# Aion::Telemetry - measures the time the program runs between specified points
# 
# # VERSION
# 
# 0.0.1
# 
# # SYNOPSIS
# 
subtest 'SYNOPSIS' => sub { 
use Aion::Telemetry;

my $mark = refmark;

my $sum = 0;
$sum += $_ for 1 .. 1000;

undef $mark;

my $s = << 'END';
Ref Report -- Total time: 0.\d+ ms
   Count          Time  Percent  Interval
----------------------------------------------
       1  0.\d+ ms  100.00%  main::__ANON__
END

::like scalar do {refreport 1}, qr!$s!, 'refreport 1  # ~> $s';

# 
# # DESCRIPTION
# 
# Telemetry measures the time a program runs between specified points.
# Time inside subsegments is not taken into account!
# 
# # SUBROUTINES
# 
# ## refmark (;$mark)
# 
# Creates a reference point.
# 
done_testing; }; subtest 'refmark (;$mark)' => sub { 
my $reper1 = refmark "main";

select(undef, undef, undef, .05);

my $reper2 = refmark "reper2";
select(undef, undef, undef, .2);
undef $reper2;

select(undef, undef, undef, .05);

my $reper3 = refmark "reper2";
select(undef, undef, undef, .1);
undef $reper3;

select(undef, undef, undef, .1);

undef $reper1;

# report:



( run in 1.495 second using v1.01-cache-2.11-cpan-39bf76dae61 )