Revision history for Devel-StatProfiler

0.53_01   2025-10-21 18:15:14 CEST

    - Test tweaks

0.53      2024-07-19 13:49:48 CEST

    - Fix segfault under threads on recent Perls
    - Misc test tweaks

0.52      2024-06-24 23:49:31 CEST

    - Varios fixes for Perl 5.38
    - Fix segfault under Perl 5.24
    - Try to avoid segfaults if output directory is not writable

0.51      2020-03-26 18:20:02 CET

    - Make statprofilehtml more resilient to partial profile files

0.50      2016-10-24 12:20:51 CEST

    - Fix use-after-free error in Perls compiled without multiplicity

0.49      2016-10-15 18:22:24 CEST

    - Reduce the amount of distinct eval entries created by Sub::Quote

0.48      2016-02-07 19:25:14 CET

    - Fix some subtle errors in eval mapping

0.47      2016-02-07 14:34:42 CET

    - Depessimize pathological case of many source entries only
      differing for uninteresting details

0.46      2016-02-06 19:16:38 CET

    - Optimized flamegraph generation

0.45      2016-01-31 18:35:13 CET

    - Silence warning

0.44      2016-01-31 16:48:08 CET

    - Optimize get_hash_by_name for the common case

0.43      2015-11-04 21:40:31 CET

    - Do not die if there is no source code for an eval

0.42      2015-10-24 19:40:39 CEST

    - Fix warnings with reports generated by release 0.39 and earlier
    - Don't try to remap evals in discard_expired_process_data

0.41      2015-10-24 11:59:13 CEST

    - Don't load genealogy data over and over again during aggregation

0.40      2015-10-22 20:51:48 CEST

    - Start splitting aggregator/aggregate classes
    - Optionally, perform name remapping/eval uniquification
      during the initial aggregation pass

0.39      2015-10-18 18:51:00 CEST

    - Fix eval STRING source code collection for evals containing
      BEGIN blocks
    - Fix eval STRING source code collection for recursive evals
      (for example the "use base" in a multi-level hierarchy)

0.38      2015-09-17 08:54:01 CEST

    - Add basic support for expiring old aggregated data

0.37      2015-06-29 11:49:58 CEST

    - Actually merged the visualization changes mentioned in 0.36

0.36      2015-06-28 22:17:44 CEST

    - Some tweaks to visualization of XS/opcodes

0.35      2015-06-17 11:11:13 CEST

    - Improved aggregation of recursive subroutines (but it might be
      changed again in the future)
    - Fixed a bug that ignore inner frames for recursive subroutines

0.34      2015-06-15 20:45:03 CEST

    - Remove non-actionable warning

0.33      2015-06-08 12:45:05 CEST

    - No changes, only bumped the version

0.32      2015-06-08 12:26:30 CEST

    - Compilation fix

0.31      2015-06-08 09:43:05 CEST

    - Fix collected data for XSUBs called via Perl_call_sv (e.g. tie/overload)
    - Fix reported weight for ops that have inner runloops (e.g. sort)

0.30      2015-05-07 21:32:39 CEST

    - Performance tweaks during aggregation

0.29      2015-05-06 18:01:53 CEST

    - Fix another bug for reports with spaces in their names

0.28      2015-05-06 14:48:09 CEST

    - Fix bug for reports with spaces in their names

0.27      2015-05-05 21:51:50 CEST

    - Add a method to garbage-collect the data for old processes
    - Don't try to lock destroyed mutexes during global destruction

0.26      2015-05-03 18:34:57 CEST

    - Add global custom profile metadata (e.g. for VCS tags)
    - Fix for enabling/disabling tracing when Devel::StatProfiler
      is loaded at runtime from a do/eval
    - Better handling for truncated profile files
    - Various performance improvements
    - Revert to default color scheme for flame graphs

0.25      2015-04-19 19:28:05 CEST

    - Preserve parent-child relationship when forking with profiling disabled
    - Various performance improvements for aggregation/report generation

0.24      2015-04-12 23:43:40 CEST

    - Generate a zoomable flame graph in addition to the normal one
    - Add ad-hoc sub mapping (to uniquify subs that are logically the same but
      have been given different names with Sub::Name for debugging purposes)
    - Always save evals as "(eval <seq>)" (it was mostly the case already)
    - Do not save eval text for evals that can never be traced
    - Treat unterminated files as the last of a stream when doing aggregation
    - Upgraded flamegraph.pl to the latest version
    - Misc optimizations for large process trees

0.23      2015-03-29 16:01:23 CEST

    - Fixed bug in repeated report merged
    - Do not die() when calling can_process_trace_files() on
      non-existing files

0.22      2015-03-28 18:28:39 CET

    - Fixed backwards compatibility with reports generated by version
      0.20 or lower

0.21      2015-03-28 16:09:41 CET

    - Generate a synthetic file name for XS functions, based on the package
    - Speed up merge of packed source maps

0.20      2015-03-26 21:04:35 CET

    - Fix 'all_evals' mode for -source to work as documented
    - Reduce memory footprint for some pathological fork/eval uses

0.19      2015-03-24 11:23:02 CET

    - Handle reports with spaces in their names

0.18      2015-03-23 09:27:36 CET

    - Do not add unnecessary entries for files containing #line directives
    - Re-emit section markers after fork (re-emitting metadata needs to
      be done by the calling program)

0.17      2015-03-16 09:54:02 CET

    - Avoid pathological case when there are many process state files

0.16      2015-03-12 19:26:18 CET

    - Fix segfault when the output directory is not writable

0.15      2015-03-12 10:09:01 CET

    - Allow writing section start/end when profiling is enabled but
      the runloop has not started yet

0.14      2015-02-13 12:54:53 CET

    - Fix segmentation fault that happens under uWSGI when loading the
      module without starting the profiler

0.13      2015-01-27 17:03:19 CET

    - Speed up aggregation when there is an high number of child
      processes.

0.12      2014-12-30 09:54:29 CET

    - Make tables sortable
    - Move list of all files to a separate page
    - Use multiple directory levels for saved eval "" source code
    - Handle lexical subroutines

0.11      2014-12-05 10:31:08 CET

    - Test fix for Perl 5.14

0.10      2014-12-05 10:17:57 CET

    - Fix incorrect section attribution for the first/last
      sample of a section

0.09      2014-12-01 21:42:34 CET

    - Saner API to get the final merged report object

0.08      2014-11-27 17:15:41 CET

    - Fix glitch in the collection of eval BLOCK stack frames

0.07      2014-11-24 11:37:21 CET

    - Allow changing source code saving policy while profiling

0.06      2014-11-21 22:24:46 CET

    - Fix compressed report generation for #line-mapped files

0.05      2014-11-20 23:08:26 CET

    - Fix race condition when loading merged report

0.04      2014-11-19 23:47:19 CET

    - Test fixes for Perl 5.14
    - Optionally Gzip-compress generated HTML/SVG files

0.03      2014-11-18 12:36:18 CET

    - Do not report eval BLOCK stack frames
    - Allow running aggregation on multiple hosts
    - Minor tweaks to aggregation code

0.02      2014-10-07 08:46:13 CEST

    - Uniquely identify BEGIN blocks and anonymous subs
    - Made the report more complete, more usable, less hideous
    - Windows/Mac OS X portability
    - Switch to Text::MicroTemplate

0.01      2014-09-01 20:49:35 CEST

    - First public release
