package HeaderDoc::PerfPoint;
use HeaderDoc::Utilities qw(findRelativePath safeName getAPINameAndDisc printArray printHash unregisterUID registerUID quote html2xhtml sanitize unregister_force_uid_clear);
use File::Basename;
use strict;
use vars qw($VERSION @ISA);
use POSIX qw(strftime);
use Time::HiRes qw( usleep ualarm gettimeofday tv_interval );
use Carp;
$HeaderDoc::PerfPoint::VERSION = '$Revision: 1.3 $';
my $perfDebug = 1;
sub new {
my($param) = shift;
my($class) = ref($param) || $param;
my $self = {};
bless($self, $class);
$self->_initialize();
my (%attributeHash) = @_;
foreach my $key (keys(%attributeHash)) {
my $ucKey = uc($key);
$self->{$ucKey} = $attributeHash{$key};
}
return ($self);
}
sub _initialize {
my($self) = shift;
$self->{BACKTRACE} = undef;
($self->{STARTSEC}, $self->{STARTUSEC}) = gettimeofday();
$self->{FINISHSEC} = undef;
$self->{FINISHUSEC} = undef;
$self->{SECS} = undef;
$self->{USECS} = undef;
}
sub finished {
my $self = shift;
my $localDebug = 0;
($self->{FINISHSEC}, $self->{FINISHUSEC}) = gettimeofday();
$self->{SECS} = $self->{FINISHSEC} - $self->{STARTSEC};
$self->{USECS} = $self->{FINISHUSEC} - $self->{STARTUSEC};
if ($self->{USECS} < 0) {
$self->{USECS} += 1000000;
$self->{SECS} -= 1;
}
if ($localDebug) {
print STDERR "BT: ".$self->{BACKTRACE}."\n";
print STDERR "STARTSEC: ".$self->{STARTSEC}."\n";
print STDERR "STARTUSEC: ".$self->{STARTUSEC}."\n";
print STDERR "FINISHSEC: ".$self->{FINISHSEC}."\n";
print STDERR "FINISHUSEC: ".$self->{FINISHUSEC}."\n";
print STDERR "SECONDS: ".$self->{SECS}."\n";
print STDERR "USECS: ".$self->{USECS}."\n";
}
}
1;