Jane Avriette > Time-Checkpoint-0.36 > Time::Checkpoint

Download:
Time-Checkpoint-0.36.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

NAME ^

Time::Checkpoint

ABSTRACT ^

Simple module to report deltas between waypoints in code, with extensible reactions.

SYNOPSIS ^

  my $t = Time::Checkpoint->new( );
  $t->checkpoint( 'Start' );

  # Code elapses ...

  my $delta = $t->checkpoint( 'Start' );

  # With callback

  my $t = Time::Checkpoint->new(
    callback => \&print_delta
  );

  $t->checkpoint( 'foo' );

  sub print_delta {
    my ($checkpoint, $old_time, $new_time) = (@_);
    my $delta = $new_time - $old_time;
    $LOG->debug( "$checkpoint: delta $delta seconds" );
  }

  # More code elapses...

  $t->checkpoint( 'foo' ); # print_delta is called

METHODS ^

Constructor

new( )

The constructor takes either no arguments or a hash with one key: callback. If a callback is passed (a code ref), that code will be called with the arguments $name_of_checkpoint, $old_timestamp, $new_timestamp. Returns a Time::Checkpoint object.

checkpoint( $name )
cp( $name )

Takes one argument, the name of the checkpoint reached. When called, it will perform a hash lookup to determine when it was called last. It will return the delta between the two. It will also call the 'callback' code, as mentioned above, provided it exists.

list_checkpoints( )
lscp( )

Takes no arguments. Returns a hash of checkpoints and their timestamps.

checkpoint_status( $name )
cpstat( $name )

Returns the timestamp for a given checkpoint, or undef.

checkpoint_remove( $name )
cprm( $name )

Removes the specified checkpoint, returning its value if it had one.

flush( )

Removes all checkpoints.

AUTHOR ^

  Jane A. Avriette <jane@cpan.org>

BUGS ^

Yep.

syntax highlighting: