CGI::Application::Plugin::DBIProfile3pm
Dbi profiling plugin
Usage
# Set env in apache or in perl.$ENV{DBI_PROFILE} = '2/CGI::Application::Plugin::DBIProfile::Driver';use CGI::Application::Plugin::DevPopup;use CGI::Application::Plugin::DBIProfile;The rest of your application follows...
Installation
To install this module, run the following commands:
perl Makefile.PLmakemake testmake install
Overview
CGI::Application::Plugin::DBIProfile provides popup (using CAP::DevPopup if available) holding DBI Profile information (see DBI::Profile, DBI::ProfileDumper). It will output both graphed output and a DBI::ProfileDumper report.
Configuration
To enable, set the DBI_PROFILE environment variables. For example
- in apache config for cgi
-
SetVar DBI_PROFILE 2/CGI::Application::Plugin::DBIProfile::DriverSetVar CAP_DBIPROFILE_EXEC 1
- in apache config for mod_perl
-
PerlSetVar DBI_PROFILE 2/CGI::Application::Plugin::DBIProfile::DriverPerlSetVar CAP_DBIPROFILE_EXEC 1
- in your CAP module
-
BEGIN {$ENV{DBI_PROFILE} = '2/CGI::Application::Plugin::DBIProfile::Driver';$ENV{CAP_DBIPROFILE_EXEC} = 1;}
If you disable it, be sure to unset the DBI_PROFILE env var, as it will continue to accumulate stats regardless of the setting of CAP_DBIPROFILE_EXEC, you just won't see them.
Modes of operation
It has two modes of opperation; per-request or per-process. In a CGI environment, there is no difference.
- per-request - this is the default.
- per-process - set the following env var to a true value.
-
CAP_DBIPROFILE_PERPROCESS 1
Under mod_perl, the per-request setup will show the DBI Profile specific to each page hit. The per-process setup will show the DBI Profile that has accumulated for the life of the apache process you are hitting.
Please note, running under the per-process setting can cause your memory usage to grow significantly, as the profile data is never cleared.
Graphing plugins
The default graphing module is CGI::Application::Plugin::DBIProfile::Graph::HTML, which generates a minimal inline HTML graph. To change which graphing plugin is used, it's just another environment variable (no need to set this if you like the default).
CAP_DBIPROFILE_GRAPHMODULE Your::Graph::Module::Name
Please see CGI::Application::Plugin::DBIProfile::Graph::HTML for information on writing new graph modules.
Todo
Tests. None exist at this time.
Other graphing plugins (Plotr, Open Flash Chart, GraphML using Graph::Easy).
Add checks to be sure $dbh->{Profile} isn't disabled (probably better in ::Driver).
Requirements
- Data::JavaScript
- IO::Scalar
- HTML::Template
Optional:
- •
-
GD::Graph
For CGI::Application::Plugin::DBIProfile::Graph::GDGraphInline support.
- •
-
SVG::TT::Graph
For CGI::Application::Plugin::DBIProfile::Graph::SVGTT support.
- •
-
HTML::BarGraph
For CGI::Application::Plugin::DBIProfile::Graph::HTMLBarGraph support.
Special thanks
To Sam Tregar, for the original codebase on which this was based, and DBI::ProfileDumper itself.
Copyright & license
Copyright 2007 Joshua Miller, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Releases
7 releases since Debian 7 (Wheezy); the text changed 3 times.