Why not adopt me?
NAME
DashProfiler::Apache - Hook DashProfiler into Apache mod_perl (v1 or v2)
SYNOPSIS
To hook DashProfiler into Apache you add this to your httpd.conf:
PerlModule DashProfiler::Apache;
PerlInitHandler DashProfiler::Apache::start_sample_period_all_profiles
PerlCleanupHandler DashProfiler::Apache::end_sample_period_all_profiles
PerlChildExitHandler DashProfiler::Apache::flush_all_profiles
You'll also need to define at least one profile. An easy way of doing that is to use DashProfiler::Auto to get a predefined profile called 'auto':
PerlModule DashProfiler::Auto;
Or you can define your own, like this:
PerlModule DashProfiler::Apache;
<Perl>
DashProfile->add_profile( foo => { ... } );
</Perl>
DESCRIPTION
The DashProfiler module itself will work just fine with Apache. The DashProfiler::Apache just fine-tunes the integration in a few ways:
* Sets a precondition on start_sample_period_all_profiles() so that it only starts a period for 'initial' requests (where $r->is_initial_req is true). This is typically only relevant if your code uses $r->internal_redirect.
* Adds a simple trace mechanism so you can easily see which DashProfiler::Apache functions are called for which Apache handlers.
Example Apache mod_perl Configuration
PerlModule DashProfiler::Apache;
PerlInitHandler DashProfiler::Apache::start_sample_period_all_profiles
PerlCleanupHandler DashProfiler::Apache::end_sample_period_all_profiles
PerlChildExitHandler DashProfiler::Apache::flush_all_profiles
<Perl>
# files will be written to $spool_directory/dashprofiler.subsys.ppid.pid
DashProfiler->add_profile('subsys', {
granularity => 30,
flush_interval => 60,
add_exclusive_sample => 'other',
spool_directory => '/tmp', # needs write permission for apache user
});
</Perl>
AUTHOR
DashProfiler by Tim Bunce, http://www.tim.bunce.name and http://blog.timbunce.org
COPYRIGHT
The DashProfiler distribution is Copyright (c) 2007-2008 Tim Bunce. Ireland. All rights reserved.
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.