Devel::STrace::Monitor - Monitor interface component for Devel::STrace


Devel-STrace documentation  | view source Contained in the Devel-STrace distribution.

Index


NAME

Top

Devel::STrace::Monitor - Monitor interface component for Devel::STrace

SYNOPSIS

Top

    #
    #    open the mmap'ed file
    #
    use Devel::STrace::Monitor;

    my $view = Devel::STrace::Monitor->open('somefile.map');

    my $cycles = 0;
    while (1) {
        print "\n**************************************\n";
    #
    #    refresh the internal ringbuffer map
    #
        $view->refresh();
    #
    #    dump the current traces
    #
        $view->trace(\&dump_trace);

        sleep 10;
    }
    #
    #    method to display the traces
    #
    sub dump_trace {
        my ($key, $slot, $depth, $line, $time, $entry) = @_;

        $lastkey = $key,
        print "\n**************************************\n"
            unless ($lastkey eq $key);

        if ($time) {
    #
    #    trim the weekday and year from timestamp
    #
            my $frac = ($time - int($time)) * 1000000;
            $frac=~s/\..*$//;
            my @parts = split(/\s+/, scalar localtime($time));
            pop @parts;    # get rid of year
            print "$key($depth) : $slot : $entry:$line at ",
                join(' ', @parts), '.', $frac, "\n";
        }
        else {
            print "$key($depth) : $slot : $entry:$line (No timestamp)\n";
        }
    }

DESCRIPTION

Top

Provides methods to

The interfaces provide a simple framework for building an external application that can attach to a running Perl application, monitor its current execution, and eventually detach, all while permitting the application continue to run uninterrupted.

A more complete debugger module is planned to exploit the various command/control structures available via Devel::RingBuffer. Note that this module will be fully compatible with the resulting debugger so that, e.g., an application can first be monitored to detect troublespots, and then the debugger can be attached to fully debug the problem.

METHODS

Top

Refer to the include classdocs for summary and detail method descriptions.

SEE ALSO

Top

Devel::STrace

Devel::RingBuffer

IPC::Mmap

plstrace.pl is a simple command line script using this module.

AUTHOR, COPYRIGHT, AND LICENSE

Top


Devel-STrace documentation  | view source Contained in the Devel-STrace distribution.