brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 0535001 Raw
95 lines · plain
1package Perf::Trace::Util;2 3use 5.010000;4use strict;5use warnings;6 7require Exporter;8 9our @ISA = qw(Exporter);10 11our %EXPORT_TAGS = ( 'all' => [ qw(12) ] );13 14our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );15 16our @EXPORT = qw(17avg nsecs nsecs_secs nsecs_nsecs nsecs_usecs print_nsecs18clear_term19);20 21our $VERSION = '0.01';22 23sub avg24{25    my ($total, $n) = @_;26 27    return $total / $n;28}29 30my $NSECS_PER_SEC    = 1000000000;31 32sub nsecs33{34    my ($secs, $nsecs) = @_;35 36    return $secs * $NSECS_PER_SEC + $nsecs;37}38 39sub nsecs_secs {40    my ($nsecs) = @_;41 42    return $nsecs / $NSECS_PER_SEC;43}44 45sub nsecs_nsecs {46    my ($nsecs) = @_;47 48    return $nsecs % $NSECS_PER_SEC;49}50 51sub nsecs_str {52    my ($nsecs) = @_;53 54    my $str = sprintf("%5u.%09u", nsecs_secs($nsecs), nsecs_nsecs($nsecs));55 56    return $str;57}58 59sub clear_term60{61    print "\x1b[H\x1b[2J";62}63 641;65__END__66=head1 NAME67 68Perf::Trace::Util - Perl extension for perf script69 70=head1 SYNOPSIS71 72  use Perf::Trace::Util;73 74=head1 SEE ALSO75 76Perf (script) documentation77 78=head1 AUTHOR79 80Tom Zanussi, E<lt>tzanussi@gmail.com<gt>81 82=head1 COPYRIGHT AND LICENSE83 84Copyright (C) 2009 by Tom Zanussi85 86This library is free software; you can redistribute it and/or modify87it under the same terms as Perl itself, either Perl version 5.10.0 or,88at your option, any later version of Perl 5 you may have available.89 90Alternatively, this software may be distributed under the terms of the91GNU General Public License ("GPL") version 2 as published by the Free92Software Foundation.93 94=cut95