Aspect::Library::Profiler - reusable method call profiling aspect
# profile all subs on SlowObject aspect Profiler => call qr/^SlowObject::/; # will be profiled SlowObject->foo; # will not FastObject->bar;
This class implements a reusable aspect that profiles subroutine calls. It uses
Benchmark::Timer to profile elapsed times for your calls to the affected methods. The profiling report will be printed to
STDERR at the end of program execution.
The design comes from
Attribute::Profiled by Tatsuhiko Miyagawa.
+-------------+ | A | +-------------+ | X -> Y <- Z | +-^-----------+
Suppose you want to profile some code, call it
X, part of a larger program, called
A. So you run your program under a profiler, and notice most of the time is spent not in
X, but in
Y, but so does
Z. You only want to profile how
Y, not how
Y. This is where this aspect can help- you can install a profiling aspect with a
cflow() pointcut, to profile only usage of
Y by code in the call flow of
See the Aspect pods for a guide to the Aspect module.
You can find an example of using this aspect in the
examples/ directory of the distribution.
No bugs have been reported.
Please report any bugs or feature requests through the web interface at http://rt.cpan.org.
Please report any bugs or feature requests through the web interface at http://rt.cpan.org/Public/Dist/Display.html?Name=Aspect-Library-Profiler.
See perlmodinstall for information and options on installing Perl modules.
The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.
Adam Kennedy <firstname.lastname@example.org>
Marcel Grünauer <email@example.com>
Ran Eilam <firstname.lastname@example.org>
Copyright 2001 by Marcel Grünauer.
Some parts copyright 2009 - 2011 Adam Kennedy.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.