Changes - Revision history for DashProfiler
Changed DashProfiler subs that may be used as Apache handlers to return -1 (DECLINED).
Fixed period_exclusive sample calculation of overheads. Fixed period_sample to be disabled until start_period_sample() called. Slight performance boost (0.000015 instead of 0.000017).
Now ~17% faster (cheaper) when using DBI >= 1.603. Make tests more robust and work with Perl 5.10.
Added $sample->current_sample_duration method. Added $core->period_start_time method. Added DashProfiler->profile_names method. Added DashProfiler->set_precondition method. Added DashProfiler::Core->estimate_sample_overheads. Added automatic measurement of sample overhead time. Updated DashProfiler::Apache to use set_precondition to start sample periods only for initial requests. Updated DashProfiler::Apache docs to suggest PerlInitHandler instead of PerlPostReadRequestHandler.
Fixed fatal error in visit_profile_nodes() for DBI profiles with no Data. Changed propagate_period_count() to not reset period_count. Changed to increment period_count in end_sample_period() not start_sample_period(). Changed start_sample_period() to not call end_sample_period() automatically. So now multiple start_sample_period() calls without end_sample_period() calls are harmless - the period runs from the most recent start_sample_period() call. Added period_strict_start and period_strict_end attributes to control how missing/multiple start_sample_period() & end_sample_period calls are handled. The attributes can be code refs which are called when needed. Added extra_info attribute for use by scripts to carry any extra information.
Added DashProfiler::Apache Added -optional syntax to DashProfiler::Import
Fixed DashProfiler::Import :optionally to still export stubs Changed DashProfiler reset_all_profiles() to not call start_sample_period_all_profiles(). Changed DashProfiler::Auto to use file name not full path. Changed DashProfiler::Core end_sample_period() to do nothing if no period is active. Added more docs, especially to UserGuide and Auto.
Added :optional to DashProfiler::Import Added dbi_profile_args to pass extra args to dbi_profile_class->new(). Added DashProfiler::Auto for simple uses, including one-liners Added lots of documentation. Require perl 5.8 (just due to sprintf '%$N' usage in tests). Works for 5.6 Made Scalar::Util::weaken optional. Removed spool_directory arg (use dbi_profile_args => { Dir => ... } instead) Set local $ENV{DBI_AUTOPROXY} to avoid risk of problems Generalized get_dbi_profile() to take a '*' start_sample_period and end_sample_period check for overlaps end_sample_period now returns period_sample DBI Profile object not dbh Changed semantics of flush_hook return value.
Fix flush_hook attribute in flush(), Make Hash::Util optional. Make Perl::Critic optional.
First full release (1.01 was incomplete)
To install DashProfiler, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DashProfiler
CPAN shell
perl -MCPAN -e shell install DashProfiler
For more information on module installation, please visit the detailed CPAN module installation guide.