DashProfiler::Apache - Hook DashProfiler into Apache mod_perl (v1 or v2)


DashProfiler documentation  | view source Contained in the DashProfiler distribution.

Index


NAME

Top

DashProfiler::Apache - Hook DashProfiler into Apache mod_perl (v1 or v2)

SYNOPSIS

Top

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

Top

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

Top

DashProfiler by Tim Bunce, http://www.tim.bunce.name and http://blog.timbunce.org

COPYRIGHT

Top


DashProfiler documentation  | view source Contained in the DashProfiler distribution.