---
name: "CGI::Application::Plugin::DBIProfile"
section: "3pm"
platform: "linux"
package: "libcgi-application-plugin-dbiprofile-perl"
version: "0.07-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/CGI::Application::Plugin::DBIProfile"
---

# CGI::Application::Plugin::DBIProfile(3pm)

DBI profiling plugin

## NAME

CGI::Application::Plugin::DBIProfile - DBI profiling plugin

## SYNOPSIS

```
    # 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.PL
    make
    make test
    make install
```

## DESCRIPTION

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::Driver
      SetVar CAP_DBIPROFILE_EXEC 1
  ```

- in apache config for mod\_perl

  ```
      PerlSetVar DBI_PROFILE 2/CGI::Application::Plugin::DBIProfile::Driver
      PerlSetVar 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.

## SEE ALSO

- CGI::Application

  - CGI::Application::Plugin::DevPopup

  - CGI::Application::Plugin::DBIProfile::Data

  - CGI::Application::Plugin::DBIProfile::Driver

  - CGI::Application::Plugin::DBIProfile::Graph::HTML

  - CGI::Application::Plugin::DBIProfile::Graph::HTML::Horizontal

  - CGI::Application::Plugin::DBIProfile::Graph::HTMLBarGraph

  - CGI::Application::Plugin::DBIProfile::Graph::GDGraphInline

  - CGI::Application::Plugin::DBIProfile::Graph::SVGTT

  ## SPECIAL THANKS

To Sam Tregar, for the original codebase on which this was based, and DBI::ProfileDumper itself.

## AUTHOR

```
    Sam Tregar, C<< <sam@tregar.com> >>
    Joshua I Miller, C<< <unrtst@cpan.org> >>
```

## BUGS

Please report any bugs or feature requests to bug-cgi-application-plugin-dbiprofile@rt.cpan.org, or through the web interface at \<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CGI-Application-Plugin-DBIProfile\>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## 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.
