Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Devel::STrace::MonitorUser Contributed Perl DocumentaDevel::STrace::Monitor(3)

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

SYNOPSIS
	   #
	   #	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
       Provides	methods	to

       o   attach to and read the memory mapped	file generated by
	   Devel::STrace (or future full featured debuggers) using
	   Devel::RingBuffer.

       o   set or clear	any of the $DB::single,	$DB::trace, or $DB::signal
	   control variables of	the AUT	(via their tie'd interfaces in the
	   AUT).

       o   inspect the current execution call stack of the AUT

       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
       Refer to	the include classdocs for summary and detail method
       descriptions.

SEE ALSO
       Devel::STrace

       Devel::RingBuffer

       IPC::Mmap

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

AUTHOR,	COPYRIGHT, AND LICENSE
       Dean Arnold <mailto:darnold@presicient.com>

       Copyright(C) 2006, Dean Arnold, Presicient Corp., USA.  All rights
       reserved.

       Permission is granted to	use this software under	the same terms as Perl
       itself.	Refer to the Perl Artistic License for details.

perl v5.32.0			  2006-08-13	     Devel::STrace::Monitor(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | AUTHOR, COPYRIGHT, AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Devel::STrace::Monitor&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help