NAME

Apache::Profiler - profiles time seconds needed for every request

SYNOPSIS

  <Location /cgi-bin>
  PerlInitHandler Apache::Profiler
  </Location>

DESCRIPTION

Apache::Profiler is a mod_perl init (and cleanup) handler to profile time taken to process one request. Profiled data is reported to the Apache Log file. It'd be useful to profile some heavy application taking a long time to proceed.

Apache::Profiler is for mod_perl version 1.x. If you have mod_perl version 2.0 or later, you need Apache2::Profiler, which is included in this distribution, instead.

It uses Time::HiRes to take milliseconds, and outputs profiled data as Apache log notice level like:

  [Tue Oct  7 20:52:53 2003] [notice] [client 127.0.0.1] uri: /test.html takes 0.0648910999298096 seconds

CONFIGURATION

ProfileLongerThan
  PerlSetVar ProfileLongerThan 0.5

specifies lower limit of request time taken to profile. This example only logs requests which takes longer than 0.5 seconds. This value is set to 0 by default, which means it logs all requests.

TODO

  • customizable log format (exportable to some profiling tools)

  • profiles CPU time rather than gettimeofday

patches are always welcome!

SOURCE

You can contribute or fork this project via github:

http://github.com/mschout/apache-profiler

 git clone git://github.com/mschout/apache-profiler.git

BUGS

Please report any bugs or feature requests to bug-apache-profiler@rt.cpan.org, or through the web interface at http://rt.cpan.org/

AUTHOR

Michael Schout <mschout@cpan.org>

Initial implementation by Tatsuhiko Miyagawa <miyagawa@bulknews.net>.

COPYRIGHT & LICENSE

Copyright 2009 Michael Schout.

This program is free software; you can redistribute it and/or modify it under the terms of either:

  • the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or

  • the Artistic License version 2.0.

SEE ALSO

Apache2::Profiler, Time::HiRes