Revision history for Devel-StatProfiler 0.56 2025-10-24 23:34:42 CEST - Add Module::Build::WithXSpp to configure_requires 0.55 2025-10-23 23:05:41 CEST - Release 0.54_01 as stable without changes 0.54_01 2025-10-23 23:04:24 CEST - Update bundled csnappy library to fix issues on CentOS 9 (and probably other platforms) - Test tweaks 0.54 2025-10-23 14:47:04 CEST - Release 0.53_01 as stable without changes 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 )" (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