NAME

    AlignDB::Stopwatch - Record running time and print standard messages

SYNOPSIS

        use AlignDB::Stopwatch;
    
        # record command line
        my $stopwatch = AlignDB::Stopwatch->new->record;
    
        # record config
        $stopwatch->record_conf($opt);
    
        $stopwatch->start_message("Doing really bad things...");
    
        $stopwatch->end_message;

ATTRIBUTES

 program_name

    program name

 program_argv

    program command line options

 program_conf

    program configurations

 start_time

    start time

 div_char

    Divider char used in output messages, default is [=]

 div_length

    Length of divider char, default is [30]

 min_div_length

    minimal single-side divider length, default is [5]

 uuid

    Use Data::UUID to generate a UUID that prevent inserting meta info more
    than one time on multithreads mode

METHODS

 record

    Record $main::0 to program_name and [@main::ARGV] to program_argv.

    Getopt::Long would manipulate @ARGV.

        my $stopwatch = AlignDB::Stopwatch->new->record;

 record_conf

    Record a hashref or object to program_conf.

        $stopwatch->record_conf( $opt );

 block_message

    Print a blocked message

        $stopwatch->block_message( $message, $with_duration );

 start_message

    Print a starting message

        $stopwatch->start_message( $message, $embed_in_divider );

 end_message

    Print a ending message

        $stopwatch->end_message( $message );

AUTHOR

    Qiang Wang <wang-q@outlook.com>

COPYRIGHT AND LICENSE

    This software is copyright (c) 2008- by Qiang Wang.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

