[libdevel-nytprof-perl] branch master updated (a709b73 -> 29dcc9a)

gregor herrmann gregoa at debian.org
Wed Aug 12 12:22:45 UTC 2015


This is an automated email from the git hooks/post-receive script.

gregoa pushed a change to branch master
in repository libdevel-nytprof-perl.

      from  a709b73   releasing package libdevel-nytprof-perl version 6.01+dfsg-1
       new  5b7e738   Replace repacking framework with Files-Excluded in debian/copyright.
       new  73ce589   Add debian/upstream/metadata
       new  43155e4   Update debian/changelog
      adds  35939b8   Initial directory structure.
      adds  211a621   Initial check-in. Note that this code is completely decrecated and probably fairly broken!  It is the oldest public release that I have, so I have uploaded it only as a benchmark of where the project started to measure how far it has come.  Get the next svn version!
      adds  34d8bb0   Version 1.11. Stable CPAN release.  Contains all changes from 0.02 through 1.11
      adds  f937dac   Added HACKING file and updated MANIFEST accordingly
      adds  2d1289a   Added links to svn repo @ google code Shortened platform support section in NYTProf.pm because its much better supported now. Incremented version number since this is not 1.11 anymore, its 1.12 devel trunk
      adds  f94a515   Added test15p/x/v for perl <5.8.0 only and limited test06 to perl > 5.8
      adds  d15def6   Added ModuleVersion.pm and changed everything to pull the distribution version from that module directly.  This way the version numbers are all centralized (since they were so highly dependant on each other in the previous iteration)
      adds  d69ecad   Fix MakeMaker LICENSE for old versions of MakeMaker.
      adds  03a197c   Attempted fix for RHEL platform where %f is handled differently (?)
      adds  7eeb220   Simplify handling of option defaults. Fix 'Unable to access output directory' test to refer to $opt{out} not $opt{file}
      adds  5bde678   Fix 'Unable to access output directory' test to refer to $opt{out} not $opt{file} Fix cell padding so lines with timings have the same hight as those without.
      adds  30ea9dc   Factor out 'profiler' dir name, and create dir if needed.
      adds  ebaeddc   Make debug/trace output a runtime option. Call fflush() in unlock_file() even if FPURGE not defined. Use safemalloc() instead of malloc(). Don't croak on unknown fileid, warn and continue. Add enable_profile() and disable_profile() functions (mainly so enable_profile can be called as a PerlInitChildHandler in mod_perl)
      adds  9dc4526   Add comment with $^P bit meanings. Add and document new trace option. Fix docs for usecputime.
      adds  7746a1f   Make hash functions work for binary data. Also makes them faster because lookups can check length before doing a string compare.
      adds  9b37b48   Major update, including file format and data structure changes. The
      adds  54958d5   Add context stack crawling to find line number of enclosing block and sub. Output file format changed. Adjust postprocessing in process(). Factor out common code in test.pl
      adds  07c5999   Polish up context crawling code. Add reading of block data from profile data file.
      adds  1fc5152   Fix some edge cases
      adds  c2be5a6   Fixed compile errors on 5.8.8 Fixed some scattered line formatting
      adds  368ff97   Temp hack for Reader to enable access to fid_block_time and fid_sub_time data sets.
      adds  9f283ee   Add TODO notes to HACKING. Add copyright to README and fix script names.
      adds  5216b7c   Fix PL_curcop for perl5.8.6 Fix redo_op for perl5.10
      adds  5e5cb2b   Reverted Trunk to r13 because of too many major changes. Branched previous changes into sandbox at branches/tim.bunce
      adds  ede7480   SVN Keyword tests...
      adds  4715598   SVN Keywords tests 2...
      adds  b94667b   Added svn property Id to all these files
      adds  18898d7   Fixed a bug in these scripts where the output directory was being checked for read access, not write access. narf!
      adds  88e9def   Changed "print OUT sprintf..." to less redundant "printf OUT ..."
      adds  391f92c   nytprofhtml - fixed module version variable Reader.pm - removed 'l' from '%0.0lf' format string. RHEL fix
      adds  14987b0   Testing new svn alert list
      adds  0539d5e   svn alert email list test attempt
      adds  735d939   Fix to fix getFileStats/get_file_stats and add -lib option. Patch from Chetan Sarva.
      adds  311d60b   Revert r91 (applied to wrong branch)
      adds  cac17d9   Failing to locate a source file after a best-effort attempt is no longer fatal (but will still whine)
      adds  058b29f   Updated changelog, Readme version and module version number
      adds  cd962e4   Temporary patch -- Pause uses MakeMaker to determine versioning, and won't evaluate the 'required' version number. (All files that use the XS need to include its specific package version)
      adds  1e2e3f6   - Added $VERSION to each module because the PAUSE indexer doesn't actually evaluation that variable when using it for indexing - Tim added a newline to the "package DB" line in NYTProf.xs as a hack for the PAUSE indexer - Fixed missing file in 1.14 distro -- ModuleVersion.xs
      adds  2832b4d   Merged changes from the tim.bunce branch into the trunk. Removed references to old fprofcvs/html in test.pl Corrected nytprofcvs not having execute bit (?)
      adds  b419734   Added some svn:ignore to ./t directory. Added 'demo' script I used for a presentation (Now slightly out of date. I'll update them later.)
      adds  ce46daa   Added gcc developer options to Makefile.PL (taken from the code I use in the DBI) Rewrote chunks of the main HACKING text.
      adds  58e0cdf   Fixed a bunch of compiler warnings (seen now due to extra compiler flags).
      adds  dd97854   Added file size and mtime data (currently just zero).
      adds  40eed06   Implement normlization of eval sequence numbers. Fixed test.pl to unlink the .new file for tests that pass.
      adds  c46dfdd   Add .rdt result files for fork test
      adds  2298820   Replace all remaining .v tests with .rdt tests (as they're much easier to work with)
      adds  b040a5a   Enable reporting code to be run under the debugger (perl -d) by only installing DB::DB sub when profiling, and only if use_db_sub mode is enabled. (So we might even be able to profile the debugger, though I've not tried :-)
      adds  50d3f96   Change fid_filename array to always contain array refs, not just when the fid is an eval. Add into the array the fid, flags, size and mtime. Fix test.pl to unlink the csv before creating a new one so we get an obvious failure if no file is generated.
      adds  09a9f0f   Rename fid_filename to fid_fileinfo to reflect its ture nature. Fix some problems in ::Data after previous change.
      adds  85d6377   In "$sub called:\n" show total count of calls: "$sub called $count times:" Remove distracting different-colored borders from colored table cells.
      adds  3a11977   Add prereq modules. More notes into HACKING
      adds  643e5e8   Enable recording of block & sub level profiling data by default.
      adds  facb758   Refactor env var handling in test.pl and make skipped tests more self explanatory.
      adds  ef2da83   Refactor to enable full sets of tests to be run multiple times with different option configurations. (Will be used to test use_db_sub but currently that's failing due to differences in fid_block_time and fid_sub_time results)
      adds  40287dd   Fix sub/block profiling for perl < 5.8.8 (mostly, still some issues)
      adds  06bf3aa   Pass --out directory option to csv and html generation. Delete all files in $outdir before running csv or html generation test. Added -open option as addition to -html to ease testing.
      adds  a1795f9   Yeah. block&sub level profiling now working for perl < 5.8.8 Enabled running all tests with and without use_db_sub.
      adds  0eba4bd   Add alternative callback mechanism for geberating report lines.
      adds  37a6394   Reduce html report size by ~20%
      adds  6ad8b0f   Generate -line, -block, and -sub reports.
      adds  350d435   Fix links in and between html reports broken by previous commit.
      adds  1617e67   More random ideas dumped into HACKING for now.
      adds  1ccc836   Reorg Makefile.PL to move the subs out of the initial code. Plus some minor changes.
      adds  ff77cb1   Refactored header searching code to make it easier to extend and maintain.
      adds  e2c2441   Recommend the more standard -Mblib approach over PERL5LIB=blib/lib:blib/arch. Fix a few stray remaining references to ./profiler directory. Only bail on Win32 when under automated testing, and be more inviting to potential porters as well.
      adds  2e328e7   Put output from each test in a separate directory which makes later separate analysis easier.
      adds  5675cff   Record if called sub is XS.
      adds  625ddb3   Start of great new feature: *inclusive* subroutine times. This bridges the last gap between sub-level and line-level profilers. (If this works out then Devel::NYTProf will be "Insanely Great" :-) Also fixes a memory leak in subroutine caller tracking.
      adds  1bfbb43   More work towards sub call inclusive timing. Shares sub_callers_hv data structure: { subname => { "fid:line" => [ count, incl_time ] } } Renamed print_header to output_header to match other output_* functions.
      adds  cad9877   Refactor the elapsed time code into a common set of macros, include the overflow concept. Use the abstracted elapsed time code for measuring inclusive time in subs. Add require_pv("Time/HiRes.pm"); for non HAS_GETTIMEOFDAY case.
      adds  f81f201   Added new header prototype to the html output for the invidual files. The output seemed overly bland.
      adds  7cf3301   Use CSS to create attractive header, avoiding need for static image.
      adds  dcd0af0   Added $0 to data file.
      adds  7f72c0d   Added "Per-line/block/sub", application name and date/time it was run into header, plus date/time the report was generated.
      adds  f9c4496   Rename sub_fid_lines to sub_subinfo to match fid_fileinfo and reflect its role as a home for per-sub data. Move is_xs indicator from sub_caller hack to sub_subinfo (start and end line defined but 0 == is_xs). Accumulate total inclusive time in sub into sub_subinfo (as well as per fid+line in sub_callers). Update tests to reflect changes, plus new application attribute from previous commit. Reduce formatting guesswork in profile dumper module. Normalize cumulative sub [...]
      adds  31db998   Update demo script to run from top directory
      adds  3a08600   Assorted fixes and polish following on from previous changes.
      adds  7c3f67b   Added formatting to the subroutine link table: 1. Lines will now print "#" for the "Lines" column if the sub is one line (was like "3-3") 2. Added formatting to the subroutine column to make it easier to scan for subroutines:   a. sub's will now align along the last "::", i.e. all sub names will align down the center.   b. packages are a lighter color, while subs are a darker color   c. some link formatting. might want to remove the link ability from the package name [...]
      adds  ce4b4e4   Removed link from the package name in the subroutine dispatch table (didn't make sense). Fixed display bug where anonymous subroutines broke the subroutine alignment.
      adds  79c0637   Accumulate sub call counts into subinfo data for direct access to totals. (I meant to do that when I did the same for incl_time.)
      adds  2d120f2   Factor out normalization of float values into sub in ::Util. Sort sub table by incl_time then sub name. Rework determine_severity to not need column name and to work better in more situations. (The sub table looks broken to me after Adam's changes. May be a Safari issue. I'll look at that next, along with adding call count and incl_time to the table.)
      adds  11804b4   Added call count and incl_time to sub table, removed line range. Sort table by incl_time then subname.
      adds  67379e3   Added total inclusive time spent in each sub to prologue block for that sub. Added inclusive time spent *per-call-location* (currently 0 because it needs xs & test changes) Fixed whitespace-matching indentation of call epilogue block.
      adds  f540f71   Added incl_time to returned sub_caller data. So now you know how much time was spent inside a sub for each of the places that sub was called.
      adds  7ca5067   Added more inclusive time data to html report. Fixed line_calls_for_file() to return data after recent data restructuring. (Really need tests for these ::Data methods.) Refined removal of filename embedded in anon sub names (and documented why it doesn't work at the moment).
      adds  ee41572   Added ability to switch between any profile modes from any profile page.  Current modes are 'block', 'line', and 'sub', however these can change arbitrarily without requirement any code in nytprofhtml to change.
      adds  007273b   Remove margin from header, which makes it look much smarter. Apply header to index page. Move header code to a function.
      adds  113862f   Remove stray $DB::single=1;
      adds  035b026   Put both header dates on right and right aligned them. Clarified some table headings and wording. Removed bottom stats table on index page and merged stats with main index table. Made table heading and data padding the same. Lightened the table header grey and it border slightly.
      adds  98f71ea   Added mechanism for reporter to fire callback per-level. Used that to generate an index page per level.
      adds  ded40ee   Moved calculate_median_absolute_deviation into ::Utils.
      adds  e29c964   Simplified code using calculate_median_absolute_deviation.
      adds  fb3ffc6   Add severity colors to subroutine table. Yeah!
      adds  98c9cc1   Simplfy level of detail button formatting and use it to replace the "per-$level" text.
      adds  1501ea6   Abstracted the interface to shift->{profile_modes} and used that to simplify other code.
      adds  60083a1   Addded level switching buttons to the index page
      adds  7f92710   Cleanup from a few warnings from stricter C compilers.
      adds  c52d24a   Core Perl change #4309 disabled OP_SETSTATE.  Change #33072 removed the last remnants of it.  Added defines to allow Perl to compile with or without it.
      adds  8b902b7   Quiet MANIFEST warnings from "make distclean".
      adds  06a5aa4   Removed old .v test related code. Added test for run_command being successful. Added subs option to disable collecting sub inclusive times. Regularized all options to use foo=atoi(value) format. Added t/test90-stress.p to hold nasty stress tests. Added a test to it for a problem I just discovered with Readonly module. Added t/test50-disable.rdt
      adds  c742901   test.pl: swapped backwards warning messages. NYTProf.xs: removed two warnings (one cast SV->AV*) another add 'l' to format arg. nytprofhtml: Added back to index links header for non-index pages. Links will return to the index   page for the current profile mode.
      adds  24a15f1   More notes for HACKING...
      adds  47a1152   More cool ideas dumped into HACKING.
      adds  e1d28f1   Notes regarding AutoLoader.
      adds  f922659   CXt_LOOP was removed from bleadperl and replaced with four new defines. Updated start_cop_of_context() to deal with this change.
      adds  c7a55b8   Skip the AutoLoad tests on Perl 5.10 for now until I have a fix in place.  While fixing that, add a test to include given/when and say just to make sure profiling for that is working OK.
      adds  5c27abc   Update the MANIFEST for the recently added files.
      adds  cb2b2fa   Moved time spent and call count ahead of sub name to make them easier to read, and to be more consistent with the format used elsewhere
      adds  f3a2c96   Order list of calls made by a statement by incl_time spent first then subname.
      adds  9074176   More notes for HACKING... one idea and one problem.
      adds  fcbaf38   Major update to Devel::NYTProf docs. Updated README, mostly to remove duplicated information.
      adds  53e431b   More ideas for HACKING
      adds  d41d5cc   More notes for HACKING
      adds  17c7d97   Added warning if any of PERL5DB PERL5OPT PERL_UNICODE PERLIO env vars are set
      adds  efab339   Change XS test from using inet_aton to pack_sockaddr_un to avoid network traffic and risk of long delays.
      adds  e405e08   Bless fid_fileinfo and sub_subinfo refs into classes. Add way for class to affect what gets dumped. Remove last vestige of allowfork. Refactor parts of strip_prefix_from_paths into some new subs.
      adds  5edd02a   Added mechanism to delete profile data for the internals of library files. So test14 should no longer fail due to differences between versions. Also expanded and started using the ::ProfFile and ::ProfSub classes.
      adds  4286b5d   Bumped version to 1.90 - will make developers release as 1.90_1 soon (Full release will be 2.00) Changed links from http://search.cpan.org/~akaplan/Devel-NYTProf for permalink http://search.cpan.org/dist/Devel-NYTProf/ Disable t/test90-stress.p for non-developers and added notes about likely cause.
      adds  2ba5dcb   Updated t/test90-stress.p and related notes.
      adds  269a52c   Added dist config to Makefile.PL so "make dist" does clean+distcheck+disttest+tardist Tidied some whitespace. (Adam's use of 2-column tabs regularly drives me crazy!) Uploaded this version to cpan as 1.90_1 (developer release, won't be indexed).
      adds  4776051   Added start of opcode hooks to handle 'leave' type ops. (This mechanism should fix the problem where time spent in the remainder of a statement that called a sub gets allocated to the last statement executed in that sub. Will probably also be a key part in fixing the problem that in mod_perl the time spent waiting for the next request gets allocated to the last statement that handled the previous request.)
      adds  7cd4719   Major new feature to address two significant problems:
      adds  b74f4de   Normalize eval sequence numbers in sub names. (Something about the cpan testers config is causing an extra eval to happen, so some tests failed for cpan testers.)
      adds  c1b3107   Test change omitted from previous change.
      adds  b080a85   Fix test count
      adds  ca23c73   Switch back toa single index.html but with links to line + block + sub views of each file.
      adds  f03259d   Added a footer (in grey with links) to html report pages. Moved a 'bug' relating to test failures on perl5.6.2 into README. Tweaked history/background docs and added them to nytprofhtml. Avoid a divide by zero errors if no files in report.
      adds  c3955e4   Shorten file paths on index page by removing @INC prefixes. Speed up reporting by adding caching to subs_defined_in_file. Tidy up the footer.
      adds  5e3e25a   Ensure sub_subinfo & sub_callers always present in profile, even if empty. Expand ::ProfSub class.
      adds  1991d14   Switched over to using objects for sub_info.
      adds  58b83d6   Updated docs for subs_defined_in_file(). Added 'Callers' summary info to subs table, but then disabled it as it's misleading till eval fids can be merged.
      adds  1ad4f9a   Enabled subs_defined_in_file to return subs defined in all files. Added table of top 15 subs to index page. Made get_alternation_regex() more flexible. Now only shows "Jump to file" pulldown if there are over 30 files. Added captions to tables.
      adds  0a2ab38   Added generation of an index-subs.html page listing all subs. Added link to same on main index page.
      adds  04203e8   Removed image files and related css.
      adds  952b84d   Expanded object model further. Fixed links to subs, including anon subs declared in evals.
      adds  1c752ef   Fix up some edge cases in the data methods.
      adds  cc3a21f   Skip failing test on Cygwin.  I'm guessing its due to not having an fpurge().
      adds  a6c2d5d   Quiet the MANIFEST warnings.
      adds  aa5c264   Add const char * typemap to keep perl 5.6 happy http://www.nntp.perl.org/group/perl.cpan.testers/2008/07/msg1880267.html
      adds  8d519d6   Having hundreds of sub names like "PPI::Node::__ANON__[(eval 286)[PPI/Node.pm:642]:4]" isn't very useful... So now we merge then into ...[(eval 0)... (Needs more work to do the right thing with sub_caller data.)
      adds  aa35d53   Merged sub_caller (sub-called-from-where) data when collapsing anon subs created within evals. Added LIMITATIONS note that subroutine exclusive time is not (currently) available. Change "Time" column to "Exclusive Time" for statement-timing based reports.
      adds  c44a563   The 'Jump to file' pulldown got broken somewhere along the line, so I've polished it up a little. Added another idea into HACKING. Added "Exclusive " to the Time column on the index page.
      adds  42af2c3   Removed source_line_func as it was never used. Assorted minor optimizations in main ::Reader source-code-reading loop. Changed nytprofhtml to do html escaping itself instead of via $reporter->add_regexp. Also escapes & now. Added full path as a tooltip over filenames on index page.
      adds  48fad35   Fixed html escaping typo from earlier commit. Added an optimization to subs_defined_in_file()
      adds  bacf46f   Added start of constants Used it to flag lack of fpurge in test results I'm guess that that's the cause of this failure http://www.nntp.perl.org/group/perl.cpan.testers/2008/07/msg1881535.html
      adds  f712f30   Major update to Devel::NYTProf docs. Output style.css before report (for subtle reasons). Link to the latest sample report.
      adds  34f482f   Just a jiffy...
      adds  88ccd69   Workaround for perl 5.6 (probably could do better) http://www.nntp.perl.org/group/perl.cpan.testers/2008/07/msg1886489.html
      adds  a375a02   Fixed fid redefinition warning to say something useful So hopefully we can work out what's really happening in  http://www.nntp.perl.org/group/perl.cpan.testers/2008/07/msg1886274.html
      adds  41f1aa7   After a fork the new (child) data file doesn't have any knowledge of what the statement profiler recorded so shouldn't have any knowledge of what the sub profiler recorded either. Issue a warning on fork() if there's no fpurge support.
      adds  e1f394c   Bump version to 2.00. Yeah! Sync svn:keywords to be "Id Revision Date" for all. Fix up assorted pod issues and add some screenshot links.
      adds  6cf169e   More pod tweaks.
      adds  33f038d   Unified version numbers and added tests for them. (The PAUSE indexer complained about some modules.)
      adds  7788746   Standardize to HAS_CLOCK_GETTIME.
      adds  cdb7f79   Add docs about effect of recursion on sub inclusive time.
      adds  335e479   First pass at using clock_gettime() for profiling.  Now Tim can refactor at will. :)
      adds  354df00   Update test16.rdt for 0 ticks
      adds  35c63d5   Add CLOCKS_PER_TICK define for the Time::HiRes case.
      adds  d037efc   Use NV instead of double to be consistent and allow for perl's configured with NV as long double.
      adds  ed27292   Added note about how to support compression.
      adds  c3c9432   Convert Changes file to pod and add some details.
      adds  172a80b   Measure cumulative statement timing overhead. Deduct same from inclusive subroutine times.
      adds  c57ff20   Thanks Steve in the Changes file for clock_gettime Remove subroutine inclusive timing overhead compensation from HACKING as it's been implemented now. Added better explanation of how to calculate exclusive sub times to HACKING. Added note about benefit of two level caller tracking to HACKING.
      adds  6ad12ff   Added another sub calling test case.
      adds  4b8992e   Added test for goto &$sub (which don't do the right thing at the moment). Added note to LIMITATIONS section about it and some notes into HACKING about how to fix it.
      adds  115b624   First steps in getting NYTProf to compile on Win32.  Not there yet, but a few hurdles have been jumped.  Also, a doc nit fixed in D::NYTP::A.
      adds  cc9b849   Fixed overhead statement overhead adjustment for inclusive subroutine time. Added calculation of *exclusive* subroutine time using similar technique (not yet stored or reported).
      adds  5ecac3c   Store sub exclusive times in profiler data structure.
      adds  c12d3f5   Fixed calculate_median_absolute_deviation to use the *median* of the distance from the median value and not the average of the distance from the median value. This fixes cases where some columns were all green, for example. Added fmt_incl_excl_time function to format inclusive and exclusive times in a useful way.
      adds  df69f30   Added subroutine *exclusive* timing. Yeah! Sort subs in reports by exclusive time not inclusive time. Ignore zeros when calling calculate_median_absolute_deviation. Added start of support for user and sys cpu timing for subroutines (mainly to avoid having to change the file format for that in future) Incremented minor version number of file format.
      adds  95c693c   Added demo/exclusive-sub-time.pl Tweaked fmt_incl_excl_time
      adds  15d0261   Improved readability of subroutine caller lists by getting the caller counts to line up, which will typically make the timings line up as well.
      adds  36c1acc   Added note about 'Calls made via operator overloading' to LIMITATIONS Removed note about 'Subroutine exclusive time is not available' now that it is. Added a fib() to demo/demo-code.pl to explore recursion issues Gave Windows users some hope.
      adds  f234ed1   Replaced use of fpurge() with a more portable approach so cygwin, irix and other systems without fpurge will be happier.
      adds  9105162   Added more references for clock_gettime() Added suggestion that builtins could be treated as calls to CORE::* subs. Added suggestion to use CLOCK_PROF for (higher-resolution?) cpu time measurement.
      adds  27afe76   These changes get Devel::NYTProf to compile on Win32 with Visual C++.  I haven't been unable to test because Win32 seems to be placing the DLL in the wrong directory.  I'll have to figure out what MakeMaker is doing.
      adds  3e72c24   Fixed sub name resolution to work in more, perhaps all, unusual cases. Hopefully this'll fix http://rt.cpan.org/Ticket/Display.html?id=37841
      adds  4c66c5d   Added some thoughts on xsubs to HACKING
      adds  65094d7   Added options to test.pl to control/limit testing of option combinations.
      adds  85ff6a4   Added recording of xsub filenames (i.e. DBI.c)
      adds  b69d415   Fix up problems from earlier xs subname changes.
      adds  2b18cc3   Fixed calculate_median_absolute_deviation detection of no data. Fixed subroutine table to base excl time colors on excl time data! Add "(xsub)" to xsubs and don't show pointless links to nowhere for xsubs
      adds  cd5d2d5   Tidied up file not found warnings.
      adds  8e8ae59   Add number of distinct places and fistinct files subs are called from.
      adds  713dfd7   Refactor towards adding 'relevant files' table to the top of individual file reports
      adds  f04ed5d   Update VERSIONs Fixed a:hover to work for a:visited links
      adds  657d840   Update test16 results (for perl5.10)
      adds  79403e3   Prep 2.02 release
      adds  01b6d23   Added support for .pmc files (for Larry's work on perl6 compiler)
      adds  6499b47   Fix for threaded perls
      adds  f0a6a7f   Improved formating of stats for subs called by a statement; Show sub line range info at trace level 2.
      adds  b193a37   Run perltidy on the perl source code.
      adds  14ec7d5   Add .indent.pro file (though I'vw not applied indent to the .xs file as it has problems) Minor layout changes to some .pm files.
      adds  0641acc   Update HACKING file to remove done items and clarify others.
      adds  58ab72a   Use fwrite in preference to fputc loop, thanks to Nicholas Clark.
      adds  ddffa6e   Minor updates to the docs
      adds  d6da440   Only show "For more information ... full list of %d subroutines" if not all shown.
      adds  fe47770   Fixed (long-standing) bug in Reader where it wasn't accounting for time spent executing code compiled in string evals.
      adds  685b9a4   Various improvements to tracing.
      adds  e9c1496   Tidy the NYTProf.xs file (4 space indent with expandtab)
      adds  336ca7c   Added NYTP_TAG_* macros for items in the data file. Added output_str and read_str functions that are newline-safe and binary-safe (not used yet)
      adds  5389e61   Implement read_nv via fread thanks to Nicholas Clark. Remove tabs from XS portion of .xs file.
      adds  f1b1176   Tweak comments.
      adds  c5ff791   Added use of newline-safe string i/o (is also null-safe but the reader code isn't) [Nick's patch overlapped with my work. I carried on with mine as his patch was missing.  His has utf8 support which I'll add in later. It's probably better in other ways which I'll gleefully steal.] Added size of NV as atribute in data file - aborts if different.
      adds  9eecc84   Warn about #line directives
      adds  205a6cf   Polish up #line changes.
      adds  ef03366   Added initial support for utf8 strings in data file, using negative length as indicator, which perl 5.8.0+ does for hash keys. Thanks to Nicholas Clark for the tip. Reuse an sv for sub_info and sub_caller sub name to avoid new/free for each.
      adds  7d60c60   Added fid flags to indicate if fid first seen via sub or stmt profiler. (Potentially useful for diagnosing problems.) Added more detail to some trace messages. Reduced scope of some variable in the loader.
      adds  8423006   Fixed some compiler warnings. Updated t/test16 to sync with recent changes Deleted t/test15 as we don't support perl 5.6 any more.
      adds  5a2d45a   Replace begin=1 option with start=begin|init|end|no.   start=begin - start immediately   start=init  - start at begining of INIT phase (after compilation)   start=end   - start at begining of END phase   start=no    - don't automatically start Currently start=init is the default, but that's likely to change in future. The start=no option is handy if you want to explicitly control profiling by calling DB::enable_profile() and DB::disable_profile() yourself.
      adds  aaa33b4   Added SELECTIVE PROFILING section to docs. Added note to HACKING.
      adds  635ba76   Perl 5.8.1 is now the oldest perl version supported.
      adds  b744963   More ideas for HACKING.
      adds  01fd36d   When reporting a token error in a profile file, also give the file offset, as this makes it easier to locate the problem.
      adds  765609d   Added early detection of possibly corrupt filenames.
      adds  f45f9ae   Added all_subinfos method to ::Data class. Added line_time_data and excl_time methods to ::ProfFile class.
      adds  636a538   Parse @ARGV to see if PERL_CORE=1 is there, which allows Devel::NYTProf to be build in-place in the core, which in turn allows certain core scripts to be benchmarked.
      adds  0c90fe7   Only warn about #line directives once per process. Added $ENV{NYTPROF_EXIT_AFTER_LOAD} hack for testing/debugging
      adds  38d4ea0   Added addpid=1 option to NYTPROF env var to append pid to data file name. (Handy for "NYTPROF=addpid=1 make test" which will now generate lots of files instead of continually overwriting the same one.) Silenced a couple of compiler warnings.
      adds  12d638c   Added created_via value to 'strange characters' warning. Fixed sub profiler to pay more attention to profile_subs flag.
      adds  ad4d30d   Silence a couple of warnings in the XS.
      adds  7b106b0   Replace use of fputc() with fwrite() in output_int()
      adds  300826c   Rename output_int() to output_tag_int(), optionally outputing the one byte tag ahead of the integer. Add a special tag NYTP_TAG_NO_TAG to supress the tag, and a compatibility wrapper macro output_int().
      adds  757f63c   Replace all fpuc(tag), output_int() combinations with a single call to output_tag_int().
      adds  ce7434f   Replace most uses of fgetc() in read_int() with a single fread().
      adds  e612a27   Make every internal C function static (and one variable that I spotted).
      adds  b4dc464   Eliminate (well, paper over) two compiler warnings about unused variables. (But they are part of the XS API, so it's hard to see a way to avoid this)
      adds  a016edd   Use a typedef for PL_ppaddr_orig so that we can case the value assigned to it, and hence elimiante the final compiler warning.
      adds  47020da   Make start=begin the default. (Also makes programs using Moose profile sanely.)
      adds  416f65f   Update HACKING to reflect progress.
      adds  7a06f0a   c cannot be anything other than EOF here, as there's no other way out of the while loop.
      adds  340f165   Bumped version to 2.03 Updated Changes, including notes about known issues. Moved demo output to separate dir and delete it on make clean.
      adds  aa60bd6   If the expected test data file is missing (and hence undefined) for any reason, fail the tests explicitly with diagnostics (and keep going), rather than die-ing in some auxillary subroutine where the full information is not available.
      adds  c30b463   Reverse r407. For some reason "works on my machine" doesn't hold for all "my" machines. No idea why it only works in one particular checkout of mine.
      adds  edbf594   Wrap all FILE * output functions in NYT_* functions, and the FILE *out in a NYT_file structure. This will let us automatically swap to decompression when a profile stream tags that it is swapping to compressed data.
      adds  029413e   Wrap all FILE * input functions in NYT_* functions, and the FILE *in in NYT_file structure, analagous to the previous change for output. Together these will let us automatically swap to decompression when a profile stream tags that it is swapping to compressed data.
      adds  d692ab5   Add a tag for "starting deflated data stream". Add a state flag to the NYTP file structure to note the input/output mode. Add a function to start deflation, but for now don't actually do anything else. Add code to all the IO wrapper functions (other than read/write/tell/close) that croaks unless the file is in stdio mode.
      adds  dafde42   Correct the bad prefix on my names -- s/NYT_/NYTP_/g
      adds  9e669a8   Add NYTP_start_inflate() which is called when we get the tag NYTP_TAG_START_DEFLATE
      adds  7f76f1c   Fix a typo in printf's name.
      adds  7f4c400   Make NYTP_write() and NYTP_read() validate that the file state is either STDIO or the appropriate DEFLATE or INFLATE.
      adds  96fa4f6   Rename parameters to file functions to ifile/ofile from in/out as it's bad to shadow global variables, and bugs hid that way. (Plus correct two of them.)
      adds  a881597   "deflate" the stream (by copying it via a buffer, and for now a deliberately short buffer to test the overflow code).
      adds  59d4191   "inflate" via a copy loop NYTP_read().
      adds  0e00a08   And now invert the bits of everything we read and write.
      adds  1b29fb8   Modify the write code to write to a buffer, and only flush the buffer contents onwards (currently to disk) when the buffer is full, or the file is closed (except when discarding the FILE * on fork())
      adds  79f73cc   Remove my debugging fprintf()s that weren't supposed to be there.
      adds  63e85f6   In struct NYTP_file_t, rename 'used' to 'count'
      adds  cd9fa62   Move the reading code into grab_input(), refilling the buffer as required.
      adds  3a15eb3   Fix the bug in NYTP_fstrerror
      adds  7e46de8   In struct NYTP_file_t, rename buffer to small_buffer, as we will need two buffers.
      adds  dd97de4   Add a large_buffer (which will become the buffer for the uncompressed data) and copy everything in from small to large, and everything out from large to small.
      adds  83732b8   Eliminate NYTP_FILE_BUFFER_SIZE.
      adds  8629512   Remove a duplicated initialisation.
      adds  a4faa81   Include <zlib.h>. Link with -lz. Add a z_stream structure into NYTP_file. Call deflateInit2() and deflateEnd() in the right places. Add a flush type parameter to flush_output, and note the type of flush in the 3 places where it is called (including adding it to NYTP_flush). Report the zlib error string in NYTP_fstrerror().
      adds  9b88468   Deflate the output stream, inflate the input stream. All tests pass. (Finally) Space improvement seems to be between a factor of 4 and a factor of 7.
      adds  2be2fd3   Refactor the library detection code in Makefile.PL to be more generic. Detect zlib.h in Makefile.PL, and if it is found signal this to the XS with -DHAS_ZLIB.
      adds  3053176   Add a static variable compression_level, and use this to determine the compression level passed to deflate. This allows us to add an option to change it. The current default is Z_BEST_COMPRESSION. (This one goes up to 9.)
      adds  5c49ebc   Add a comment noting that the file is compressed, recording the compression level and the version of zlib used.
      adds  870c268   In NYTP_tell(), for compressed files, instead of using the stdio file offset, which will be plain wrong due to buffering, give the position in the compressed stream. Add a function NYTP_type_of_offset(), which gives an appropriate string for croak() messages to describe what type of string it is.
      adds  9a48f15   Up the input and output buffer sizes to something sensible, now that we've demonstrated that the buffer refile routines work well.
      adds  bba837e   Remove an extraneous -lz
      adds  be862cb   Replace file->state with a macro FILE_STATE(file), which can be conditionally compiled to just NYTP_FILE_STDIO when HAS_ZLIB is not true, which will allow the C compiler's optimiser to remove a lot code that is unreacheached in that configuration.
      adds  ed17ace   Correctly wrap compression specific code in HAS_ZLIB so that it will compile (and pass tests) without <zlib.h>
      adds  c19bef7   Correct Perl_form() to Perl_form_nocontext(). That part of the code isn't covered by tests, and short of corrupting the internal state isn't ever going to be. It makes it arguable as to whether including debugging/diagnostic code that may itself be buggy or giving out misinformation is actually worth it.
      adds  8a10247   Change the return type for grab_input() and flush_output() to void, as by now they have changed so that they don't signal failure by return value, and were always returning 1.
      adds  3399c0e   Update the paragraph on compression.
      adds  a15a96b   RTFM reveals that the LIBS paramter to ExtUtils::MakeMaker is a list of *alternative* library specifications. So if we find more than one library we need to put out list of -lfoo directives in one string as the first member. Otherwise the first library is "found", and that "alternative" taken, causing us not to be linked with the second library.
      adds  40a6c36   Cope with the fact that on some versions of perl, strerror() is redefined with a macro that takes a my_perl.
      adds  6cf0d3a   Note the possibility of using pthread_atfork() to detect forks.
      adds  de8db60   Add comments after the compressed stream, noting the totals for uncompressed and compressed bytes, and the compression ratio.
      adds  5cc546e   Calculate the available output using two pointers, rather than relying on avail_out. This lets us tweak the amount of available buffer we tell zlib about.
      adds  cbb998f   After a flush, reduce the available output buffer such that after the next (full) write the underlying stdio stream pointer will have a file offset that is a multiple of the buffer size. In turn, the buffer size is a power of 2 (currently 4096), so it should be easier for the C library to copy, or maybe even feed direct to the OS write().
      adds  8a9780a   struct NYTP_file's end, which is only used for input, can be eliminated, and its use replaced with zs.next_out.
      adds  34c382e   For output, replace use count in NYTP_file with zs.avail_in, as the later is always assigned set from the former at the start of compression, and the two hold the same thing - the number of bytes ready to be compressed. It might be possible to eliminate count for input, but that would mean overloading one of the members of struct z_stream (probably avail_in), which feels wrong.
      adds  eeaa3e7   In struct NYTP_file, shrink state from int to unsigned char, and stdio_at_eof and zlib_at_eof to bool. (Plus change values assigned to them from 0 and 1 to FALSE and TRUE.)
      adds  12ba15b   Avoid divide-by-zero error in reporting code reported in http://rt.cpan.org/Ticket/Display.html?id=38706
      adds  2f68696   Make the decision to use %e format based on the precision passed in, rather than the default precision of 5. For %e format, chose a precision that gives the same length string as the %f format, which for the default precision of 5 gives 2 significant figures, rather than 1, which is more useful for figuring out the effects of changes to fast but frequently used code.
      adds  c6ae2dd   Use e notation for values under 0.0001, to give at least 2 digits of precision. As our exponents will always be e-05 to e-09, never e-10 or smaller, remove the leading zero to make these small numbers stand out less on the table.
      adds  fc943de   Disable output file compression if compression_level is zero. We don't yet have an option to set this from Perl space.
      adds  0cedcaf   Give more detailed message for errors when reading a file
      adds  f032add   Add universal error checking for NYTP_read and NYTP_write.
      adds  9d55182   Add dTHX for previous commit
      adds  3726921   If inflate fails, report the position in the input stream. If we're at EOF, suggest checking whether the input file is truncated.
      adds  2152faf   Add an option compress that specifies the compression level (with 0 disabling it). Documented, but no regression tests. (Because I can't see a good way to fit them into the existing harness. Best way to test is probably file size, and the diagnostic comments that the compressor adds to the stream)
      adds  62d7822   Make timing tests more generous for slow systems http://www.nntp.perl.org/group/perl.cpan.testers/2008/08/msg2032367.html http://www.nntp.perl.org/group/perl.cpan.testers/2008/08/msg2070575.html
      adds  1b5ade5   perltidy test.pl
      adds  3991616   In set_option(), replace linear copy/paste strEQ() && atoi() for integer options with an array of name/value pairs, and a loop to locate name and set the option. For me this reduces the object code size by 1%, and makes it cleaner to add more options in future.
      adds  f304901   Added xsfile=0 option as workaround for perl5.8.8 CvFILE bug. Silenced warning about printf arg type (%ld vs off_t from ftell()) Added note on compression feature to Changes file.
      adds  0d30d64   Fixed indentation in Changes file and adjusted vim settings.
      adds  c17dcf7   Change default compression level to 6. Add estimate of compression effect to Changes file.
      adds  a504b47   Added test for $! (not) being changed by NYTProf.
      adds  5f96e3d   Fix Devel/NYTProf/Apache.pm to handle NYTPROF=no and NYTPROF=end (https://rt.cpan.org/Ticket/Display.html?id=39129)
      adds  430f888   Fix reading of zero-length string (probably, no test case).
      adds  3159494   Avoid false warnings about #line directives that perl would ignore itself. RT#39411
      adds  a1c3545   Improve the comments in test13.p
      adds  f9eabbb   Clarify comments in t/test13.p (missing from previous commit)
      adds  cdf6035   Clarify control flow in NYTP_read_unchecked slightly.
      adds  a47f044   No longer warn about '/loader/0x800d8c/...' synthetic file names perl assigns reading code from a CODE ref in @INC. (reported by Shawn M Moore)
      adds  714d422   When normalizing, strip prefix from start of string and also when embeded e.g., "(eval 42)[/foo/bar/...]" (no safe test case)
      adds  04b14ff   Save the source code of string evals! (The reader just ignores them for now.) Adjusted the trace levels of some log messages.
      adds  998b274   Added extra table of all subs sorted by inclusive time.
      adds  a6f6b92   Add copy of jQuery and jQuery tablesorter to output report. (Not used yet, that'll follow, sometime...)
      adds  05189cd   Silence assorted compiler warnings reported by Richard Foley.
      adds  7d3a357   One more compiler warning silenced thanks to Richard Foley.
      adds  43650ae   Use an empty string as the filename for xsubs because CvFILE() isn't reliable on perl 5.8.[78] and the name of the .c file isn't very useful anyway. So we no longer get fids for .c files and the sub_subinfo fid is undef for xsubs - which is reasonable. The reader can try to associate the xsubs with the corresonding .pm file using the package part of the subname.
      adds  70e0433   Remove the xsfile option as it's no longer needed.
      adds  c97159a   Prep version 2.04 release.
      adds  5fa74a2   Prep for 2.04 release.
      adds  8c4d7be   Fixed alteration of $! during profiling thanks to Slaven Rezic. Also http://rt.cpan.org/Ticket/Display.html?id=39773 contained enough info to enable me to create a test case.
      adds  174e754   Add the noreturn attribute to compressed_io_croak().
      adds  a8d2099   Tweak reader to store fid src lines in profile data structure thanks to Shawn Moore. Plus a quick hack from me to keep the tests passing for now.
      adds  217189e   Added some docs to Devel::NYTProf::Apache
      adds  cad8e3b   more notes on profiling httpd
      adds  0754781   Fix title of Changes pod, so hopefully search.cpan.org will present it better
      adds  2773d9e   Initial stab at supporting multiple clocks and falling back to CLOCK_REALTIME if the selected clock doesn't work.
      adds  7398163   Add docs for new clock=N option.
      adds  eecf9ae   Add clock_id to attributes in data file. Updated Changes.  (This work is complete now.)
      adds  749e13d   Add more detail into trace when reading subroutine timings.
      adds  4eb8574   Fixed error when application ended after DB::disable_profile. (Nick, the underlying issue is that flush_output() fails with a buffer error if called twice in succession. The fix I've applied just avoids that happening but doesn't address the underlying problem with flush_output))
      adds  3be54dc   Doc tweaks
      adds  2400def   Prep for 2.05 release
      adds  d869d2a   Update a test for the clock_id change (only run for perl5.10)
      adds  2b34539   Changed subroutine inclusive time to not count time spent recursed into the same subroutine.
      adds  65bad04   Fix grammar error.
      adds  7e147f5   Removed use of vfscanf() to improve portability, thanks to Jan Dubois.
      adds  e13ac2f   Remove sanity check for OutCopFILE/CvFILE corruption as it's no longer needed. Assorted updates to HACKING.
      adds  7e8f42f   XS subs are now automatically associated with a source file that defines non-xsubs in the same package as the xsub. Not yet doing anything useful on the reporting side. Fixed inclusive time measurement for xsubs. Reworked t/test60-subname to use a locally defined xsub. Global subroutine index pages no longer list subs that were never called.
      adds  8de0c0d   Remove stray line that got left in earlier commit.
      adds  f9d7eb5   Add a couple of values to the sub_info dump in preparation for adding recirsion depth and recursion inclusive time.
      adds  8c45a2c   Defined macros for sub call array indices, and cleaned up related code. Now keeps separate inclusive time accumulator for recursion and also keeps track of max recursion depth.
      adds  5ac4401   Add reci_time and rec_depth to sub_caller info. Add "max recursion depth %d" (if > 0) to summary of calls made on a line.
      adds  a5def5c   Patch from Jan Dubois to port to windows. Yeah!
      adds  a7d7317   When normalizing, replace abs path prefix with /.../ so we can tell that it did have an abs path prefix and wasn't relative to start with. Adjust tests to match.
      adds  15dd796   Make errno test independent of external modules (which might have changed $!)
      adds  2431733   Update t/test16.rdt results missed from earlier commit. Remove reference to test15, which no longer exists. Remove reference to test06 from SKIP_TESTS as perl5.8 is now min version supported.
      adds  1f33c61   Assorted changes from code review by Jan.      Safefree(file);
      adds  abb01b6   Fix "No file line range data for sub 'package::__ANON__[:703]'" warnings
      adds  8884a88   No longer ignore files that don't have any perl statements profiled but do have profiled xsubs. Fixes warnings about XSLoader.pm, for example. Href for xsubs uses name of xsub as anchor (not used yet).
      adds  c290b07   Callers and timing information for xsubs are now shown at the bottom of the corresponding source file. References to xsubs in reports now include a working link.
      adds  6cd058f   Take more care to avoid changing errno by saving and restoring it at the major 'edges' of the profiler.
      adds  28bf046   Only apply margin-top: 5px to the calls in to a sub, not calls out.
      adds  d243947   Include source code from -e '...' command line option (not used, yet)
      adds  9830acf   Move error check from NYTP_printf to NYTP_close. Add note about source code access.
      adds  8cf384e   Record source from stdin (perl -) as well as perl -e '...'
      adds  19c37fc   Remove vestiges of perl 5.6 support, thanks to Jan Dubois.
      adds  a46238d   Use 3-arg open.
      adds  38a812a   Point out the perils of profiling on virtual machines.
      adds  460aada   Simplify the fork test code.
      adds  dd5d050   Use "wbx" mode for the file, except on windows. Catch enable_profile being called when the profiler isn't initialized. Warn if user selects a clock but clock_gettime() isnt available. Add time-of-day to start pid and end pid tags. Warn if the sum of the statement times is more than 110% of the overall profiler time. Don't count time in fork() in child. Add a bunch of new attributes:     profiler_duration profiler_end_time profiler_start_time     total_stmts_discounte [...]
      adds  a0df8d7   There is no copyright and contact information at the bottom of the test.pl file.
      adds  4eb2e97   Adjust trace levels slightly, mainly moving new fids and subs up to level 2. Be more paranoid about arith overflow etc in sub timing code. Add note re a possible bug/limitation in the HACKING file. Update the docs re inclusive timing of recursive subs.
      adds  cb4b637   Exclusive and Inclusive time column positions have been switched to be consistent with how the times are presented elsewhere
      adds  5f297f0   Add migration of sub_caller data from eval fids. (big missing feature) Consolidate caches and provide a method to access and clear them. Add method to return hash of eval fid to base fid mapping. Add method to return hash of subs called by a fid. Add method to delete data of subs called by a fid.
      adds  c973aa3   Tidy up and expand Changes. Add -open option to nytprofhtml Add note to HACKING re another issue re sub caller locations in loops.
      adds  cb4550e   Move sub_caller migration to new _migrate_sub_callers_from_eval_fids() method.
      adds  c66eb04   Make the --open option imply --html
      adds  b585af9   Just pass on --open to nyprofhtml.
      adds  9859b22   Improved test descriptions.
      adds  784f8de   Make 'test.pl 5' run all the <test05.*> tests
      adds  e99d800   Don't complain about passing *.pm and *.pl files to test.pl
      adds  46c1500   Add the attributes missing from expected test output in r526.
      adds  b58139f   Make 'nytprofhtml --open' work on machines that does not run Mac OS X.
      adds  8193bcb   Document the nytprofhtml --open option.
      adds  03451e9   Fixed *significant* error in time reported as spent in a subroutine, which was showing the sum of the inclusive and exclusive time instead of just the inclusive time. Ouch.
      adds  c1d4c18   Use standard tabstop (ts=8) in all vim modelines.
      adds  a863d7e   Rename test.pl as t/20.runtests.t
      adds  62fe362   No need to calculate the $diff twice in fmt_incl_excl_time
      adds  93a1e83   Improve the Englishness of the prologue text
      adds  cb97ea3   Produce more readable timestamps in the code prologs.
      adds  b974778   Make fmt_incl_excl_time not repeat the unit
      adds  c0d9cb4   Failed to consistently convert '1 times' to 'once'.
      adds  925f8d2   Sort the call locations by the time spent in the funtion as well as call count
      adds  de2c9ec   Simplify; $caller_filename same as $filename.
      adds  c5e520b   Don't show filename for call refs to the same file.
      adds  e4128b3   Cleanup; load_profile_data_from_file do need a filename argument
      adds  4045f46   Cleanup; Use named constant for TIME_BLOCK marker
      adds  fb5524b   Add stmts=0 option to disable the statement profiler (not documented yet as it's likely to change) Silence a spurious warn in a test.
      adds  629210d   Make indentation in the documentation code samples consistent.
      adds  75f7f42   Use consistent POD item lists
      adds  42291c1   Make tag type consistently unsigned char. Give better error if file uses compression but the NYTProf build doesn't. Send test diff's to stderr so they show up in 'make test'.
      adds  147031e   Add Devel::NYTProf::Data::Raw module
      adds  d2f7a0c   Major improvement to handling of string evals... Don't call (the recently added) _migrate_sub_callers_from_eval_fids method as that wasn't a good approach - destroys information. Enhance the data model to make it easier to reason about string eval fids. In reports subs now list calls from string evals (including nested string evals) and lins with string evals list all the subs called by all the strings executed by that eval. Yeah!
      adds  42bc97e   Add ::Data method to read source, which gives preference to source embedded in the data. Rename fid_filecontents to fid_srclines. If the file can't be read then report the reason on the report page (a bit of a hack at the moment, but far better than the previous 'blank' page.) Silence an undef warning from xsub listing.
      adds  9c2bf38   Move t/test90-stress.p to xt/test90-stress.p More random thoughts dumped into HACKING. Tweak Changes.
      adds  fae41d9   Regenerate MANIFEST via 'make svnmanifest'
      adds  1ea7dd7   Incorporate Tim's explanations of the mystery chunks
      adds  014cbcb   Use '#!/usr/bin/perl' lines for the scripts
      adds  79f3873   Let $. track the chunk sequence numbers
      adds  8e28c57   Reuse the same SVs for each callback call.
      adds  1aa228f   Rename ::Data::Raw as ::ReadStream as suggested by Tim
      adds  ac73b19   Complete the rename to ::ReadStream.
      adds  97f5455   Doc tweaks; document the header attributes used.
      adds  7574bbd   Oops - missing braces on if-block
      adds  5e4aa1e   Improve portability to older perls; gv_fetchpvs() not supported in 5.8
      adds  c0eea29   Tweaks to ReadStream docs.
      adds  d9b6852   The timestamps in TAG_PID_{START,END} are NV
      adds  d126e44   Add missing arg to 'invalid clock_id' croak message. Fix printf arg type warning.
      adds  5d16268   Add test to demonstrate wrong line numbers given to subs called in while(condition). (added to xt/ since I'm not sure if it's perl version sensitive) Added xt/ directory to Makefile.PL clean clause.
      adds  e6abdea   Update MANIFEST for new file in previous commit. Add more docs aboit clock=N option.
      adds  66deb04   Give slightly more feedback during report generation.
      adds  9a3f737   Thank Gisle in the Changes file. Add optional width arg to fmt_time. Use that to tidy the "spent %s making %*d call%s to" lines. (I looked at using fmt_time for the statement timings but chickened out. Devel::NYTProf::Reader needs refactoring to death.)
      adds  1445528   Major update to docs about clock sources, SMP, processor affinity etc. Added docs for DB::finish_profile.
      adds  510dcc3   Document stmts=0 option. Start preparing for 2.06 release.
      adds  5645d2f   Fix a typo I spotted, and another that ispell found.
      adds  7d19db0   Another typo spotted by ispell.
      adds  edff6c9   Bump version to 2.07 (because PAUSE indexed the 2.06_RC1 release I made for cpantesters) Include t/test20-streval.x that I'd missed previously.
      adds  bef3117   Fix srclines_array() to drop the undef 0th line of source code.
      adds  659247e   Unlink destination (.js) file before copying new one so it won't fail for readonly files.
      adds  377eea2   Docs my thoughts re savesrc option into HACKING
      adds  31552da   Improved html conformance thanks to Leland Johnson.
      adds  ed5cf84   Add perftest.pl script for profiling NYTProf::Data and nytprofhtml Assorted optimizations in NYTProf::Data, mainly caching.
      adds  d0d99de   Further optimizations. Remove use strict & warnings from Devel/NYTProf/Test.pm, added in previous commit, as they affect the test results.
      adds  9835e14   Removed column handling from Devel::NYTProf::Reader module, it's now just concerned with files and lines. A single callback per line improves performance and flexibility. Statement timings are now shown formatted with units.
      adds  ed28271   Format negative time values as seconds, not nanoseconds.
      adds  8e497af   Improve presentation of links to subroutine tables.
      adds  93f09eb   Move ::ProfFile class out to new ::FileInfo class. Move ::ProfSub class out to new ::SubInfo class. Add Devel::NYTProf::Constants module Add constants for elements of FileInfo array.
      adds  2fd9f32   Refactor part of strip_prefix_from_paths into new make_path_strip_editor function.
      adds  a92eadb   Set NYTP_FIDi_EVAL_FI element as weakref to eval fileinfo in XS code for speed. Bless fid_fileinfo elements in XS. Use make_path_strip_editor instead of strip_prefix_from_paths because strip_prefix_from_paths enthusiatically recurses into structures, which won't work now objects has refs to other objects. Rename and generalize make_fid_filenames_relative into make_filenames_relative and make it work for sub_subinfo and sub_caller as well as fid_fileinfo. Remove $opts [...]
      adds  9f3b1fc   Add array of refs from a fileinfo to the fileinfo's of all the string evals it executed.
      adds  74ef4d0   Hovering over times in subroutine or file summary tables now shows the percentage time.
      adds  faa1d2a   Add trace for statement discounts. Discard remaining statement discount - there's almost always 1 due to the finally 'leaving' the perl source code. Fix last_line_num (used in trace statements) which wasn't being updated.
      adds  3b11a52   Add summary sentance to index page given overall time and other stats. Pass-thru existing $ENV{NYTPROF} in demo/demo-run.pl Return time() instead of 0.0 in gettimeofday_nv() if neither gettimeofday nor u2time is available.
      adds  aeff7de   Some initial exploratory work towards extending nytprofcsv to include higher-level detail, like nytprofhtml does, and so be useful for testing same. Needs more data model work, though, to avoid duplicating too much nytprofhtml logic.
      adds  c153ced   Add ::Constants module (missed from earlier commits)
      adds  d1198cb   Add Exporter, even though it worked just fine without it.
      adds  801140f   Populate $fi->subs data direct into fileinfo in XS. Delete fid_subs_map() as it's no longer used.
      adds  4055d83   Add NYTP_FIDi_SUBS_CALLED attribute to fileinfo containing a hash ref of { line => { subname => [...callinfo...], ... }, ... } and corresponding $fi->sub_call_lines() method. Modify $fi->hash_evals to optionally walk and return the tree of nested evals. Modify line_calls_for_file to use has_evals. Delete base_fid_2_eval_fids_map and caller_fid_2_subname_map as they're no longer used.
      adds  d04aecf   Added optimize=0 option to disable the perl optimizer so you can see more accurate statement execution counts for some kinds of constructs.
      adds  73318fc   Document effect of not being able to profile sub calls made due to overloading. Note change needed to Perl_amagic_call in perl internals. (The same issue (direct use of Perl_pp_entersub) affects call_body(). If that was changed then the profiler could view string evals as sub calls.)
      adds  fb6e64b   Add total_sub_calls attribute to data model and html report summary line.
      adds  b93258a   Don't normalize to zero total_sub_calls in test results. Calculate totals of statements and time in file table from the actual values shown and add a note about statements and time spent in string evals (because we're not including them properly at the moment).
      adds  c6992cb   Fixed searching @INC for source files for reports. (Volunteers wanted to add portability to windows etc)
      adds  a8b2283   Rework handling of filename, specifically don't call make_filenames_relative() to edit them to be relative. Add abs_filename method to abstract search @INC.
      adds  fd46d3c   Add new test for nested string evals. Currently fails because we don't yet propagate inner evals times to the outermost eval statement. Tidied up timing test failure messages.
      adds  2d3839d   Add t/test21-streval3.x missing from previous commit
      adds  b8334ae   Make delete_subs_called_info() adjust total_sub_calls attribute (and so enable test14 to pass with different versions of AutoLoader)
      adds  3c28717   For $fi->abs_filename returning the still-relative filename is better than returning an undef.
      adds  42275a2   Prepare for 5.8.9+ & 5.10.1+ by ignoring calls to our own DB::_INIT sub which shows up once perl uses PL_addr[OP_ENTERSUB] instead of hardcoded Perl_pp_entersub.
      adds  071c39f   Add script to exercise calls made by overload
      adds  0841020   Added savesrc=1 option to copy source code into the profile so reports are not affected by changes to the source files.
      adds  5e0df8a   Add package-level summary idea to HACKING. Format negative times nicely. Add thead, tbody and tfoot tags. Don't show discrepency in times due to string evals if it's very small (ie mostly due to float precision).
      adds  97135e2   Summary tables can be sorted by clicking on header columns. Woot! Not quite perfect yet, but pretty good.
      adds  9801755   Fix $subinfo->package to work for multi::level::packages
      adds  e5ce087   Add 's' unit to '0' value returned by fmt_time()
      adds  fc256c9   Merge the separate pkg and sub name columns in the sub table so that, for example, full names can be copied and pasted without an extra space or tab appearing. Fix sorting of sub names.
      adds  f9cd48b   Leave the table rows in their original order to start with
      adds  848c05c   Fix up test for fmt_time returning "0s". Update docs to mention NEXT re problems with caller() in perl < 5.8.8, and re calls made via operator overloading.
      adds  46d2c5b   Call footer callback when footer used - this fixes @on_ready_js (we loose the old regex replacement, but that's not needed with a callback) Subroutine table should only be sortable when all subs are included. Fixed tablesorter parsed for fmt_time.
      adds  383aa20   Time spent on statements in a string eval that was nested in another string eval was not being counted at the outermost level, so was being lost. (We'll need to drop the current way string eval times are handled when we start reporting string evals just like normal files.)
      adds  f220a13   Quiet unused variable warning.
      adds  4e0f996   Added $subinfo->clone method. Extended $subinfo->merge_in method.
      adds  eafe0d6   Added $profile->package_subinfo_map method to return info on all the subs in a package (optionally merged). Added $profile->packages_at_depth_subinfo method that calls package_subinfo_map and restructures the data into a summary per rolled-up package name at various depths.
      adds  790ca1b   Add package summary tables to index page. These show summary stats, like excl_time, for packages. Not just individually but also rolled-up. Still a work-in-progress. No color coding yet.
      adds  0c7699f   Add some additional const'ing.
      adds  d09f54f   Clean up some function prototypes.
      adds  0c8c9b3   Make $subinfo->is_xsub more strict. Make $subinfo->merge_in more reasonable.
      adds  ed117fa   Reorg the demo code. Run the while(<>) example and update the comments to reflect the fact it should work (but currently doesn't)
      adds  8dbacef   Report merged subs properly. try (unsuccessfully) to get tablesorter to perform decending initial sorts when a column if first clicked.
      adds  b1775a8   Replace my_snprintf with plain sprintf because my_snprintf from pport.h is slow, especially for threaded perls (14% of pp_entersub_profiler), and we don't need the extra safety as there's no risk of overflow. Balance braces in #if/#else in get_file_id. Start on a workaround for OP_UNSTACK limitation (perlbug#60954). Don't setup opcode redirections for statement profiler if it's not being used. Don't get time in statement profiler if it's not enabled at the time. Othe [...]
      adds  7562538   Add assorted thoughts to HACKING
      adds  eb0e9cd   Major update and reorg of HACKING.
      adds  ba56b3c   Minor tweaks to HACKING
      adds  4e66f20   Add NYTP_SIi_* constants for sub info
      adds  b294575   Remote hard tabs that have crept into NYTProf.xs
      adds  30dff4c   Add NYTP_SIi_CALLED_BY element to sub info ({ fid => { line => [...] } })
      adds  88194e6   Move sub info and sub caller time mormalizatio for tests into new normalize_for_test method. Delete unused fid_sub_calls_map() and _migrate_sub_callers_from_eval_fids() subs. Move remove_internal_data_of() and make_filenames_relative() to end of normalization steps.
      adds  9cc7ab5   Detect version mismatch between bin/nytprofhtml and the core lib.
      adds  093c540   Cosmetic tweaks to Devel/NYTProf/Util.pm Add a couple of thoughts to HACKING
      adds  3e3bbca   Shift the normalization (for testing) of some data from input to output, to avoid throwing data away. Add skip_stdlib option to dump_profile_data() so it skips data related to 'library modules'. (Implemented with an ugly callback hack for now. The current recursive dump_profile_data has outlived its usefulness and will be changed later to call methods on objects.) Removed remove_internal_data_of() and make_filenames_relative() as they're no longer used.
      adds  b3c0aa2   Remove sub_callers element from profile data. Move data about callers to a sub into the sub_subinfo object for that sub. (sub_caller data is currently regenerated for the dump used by tests.) Merge anon subs defined on the same line of instances of the same string eval.
      adds  7524068   Fix version number in bin/nytprofhtml. Add dump() methods to ::FileInfo and ::SubInfo. Modify _dump_elements to call dump() method where possible. Extend $si->caller_places and refactor caller_count() to use it. Remove migration scaffolding for fid_info filenames (/.../ prefix) and sub_callers data, and update tests to match.
      adds  c5dcb93   Reworked dumping of fileinfo data to include subs defined and subs called. Added $fi->normalize_for_test method (currently duplicates normalization of sub caller info because merging of anon subs isn't done right yet).
      adds  a242a13   Start work on normalizing eval sequence numbers in file and sub names. Any volunteers to implement normalize_eval_seqn()?
      adds  4bfffde   Avoid core dumps in the sub profiler if the cv isn't setup correctly (looks like Class::MOP doesn't give the CV GV stash a name, which makes sv_dump(cv) core dump)
      adds  c2ad64b   FileInfo dump() now takes option to not dump internal details. Data dump callback uses that to not dump internal details of std lib modules.
      adds  d2a2919   Include details of string evals in FileInfo dump()
      adds  bd62ed6   Normalize total_sub_calls attribute to 0 for tests (due to use of Autoload from perl lib). Remove count of evals from main fileinfo dump line as it's redundant now we dump eval info. Fix compiler warning.
      adds  b5f65a2   Make savesrc option set PERLDBf_SAVESRC | PERLDBf_SAVESRC_NOSUBS.
      adds  746f951   Avoid undef warnings from $si->merge_in(...)
      adds  efac7c5   Add details of string evals to file table on index page. Add $fi->number_of_statements_executed method - but it's not used yet (awaiting deprecation of the old way of handling string evals in line_time_data)
      adds  aedfae9   Colorize the package roll-up summaries on the index page.
      adds  3f20df4   The sub profiler now calls reinit_if_forked() if the statement profiler (which normally calls it) isn't running. Update HACKING file. Tweak Changes file. Don't ask tablesorter to perform initial sort on package rollup tables.
      adds  992c698   Implemented normalize_eval_seqn, but left it disabled. Added test file for 'anon subs defined in string evals' Added test results file that shows current partial normalization of eval sequence numbers. Pondering best course of action...
      adds  f368fac   Fix for http://www.nntp.perl.org/group/perl.cpan.testers/2009/01/msg2985535.html (Anyone have any idea about the SSNEWa "cast from pointer to integer of different size" warning?)
      adds  eb432c1   Initial work on swiching output to different profile files.
      adds  02f7e33   Show 'Running tests with options ...' during 'make test' to give more context for any failures
      adds  ab41136   Implement DB::enable_profile($new_filename). Increment the count of the statement containing DB::enable_profile().
      adds  197b1f3   Clarify a trace message. Use NYTP_* constants in more places.
      adds  7970754   Be more generous with time limits when running automated tests (to fix failures like http://www.nntp.perl.org/group/perl.cpan.testers/2009/01/msg3010800.html)
      adds  a79f139   Replace old $ENV{NYTPROF_EXIT_AFTER_LOAD} hack with shiny new $ENV{NYTPROF_ONLOAD} hack. Make _dumper output more readable.
      adds  7148a29   make clean be more thorough Update HACKING to delete enable_profile($new_filename) now it's done.
      adds  6b0a677   Rewrite all "(eval \d+)" to "(eval 0)" while reading the profile data. Merge data for subs that now have the same name (e.g. __ANON__[(eval 0)[foo.pl:1]:1]) Adjust expected test results to match.
      adds  dbf44b2   Fix core dump at trace level >= 4. Make option zero available via env var (it's useful for diff'ing trace output). When merging sub info (e.g., due to eval seqn number being normalized to 0) store the details of the lowest fid seen. This is needed to make the tests pass between different versions of perl with different hash key orders. Update effected tests.
      adds  b6ab41f   This one was wierd! It seems that the statement     $code = "sub { 1 }";     eval($code)->() for (1,2) only causes one eval as far as NYTProf can see, for perl > 5.8.6. It's as if the compilation from the first eval is reused. Changing the $code string to be a sub with side-effects fixed it. Changing the code like this     eval($code)->(); eval($code)->(); also fixed it.
      adds  a7b2c63   Make -v option to t/20.runtests.t slightly more useful.
      adds  1dc52ad   Using a sub with side effects isn't enough to avoid the weirdness. I can't see a pattern that would indicate a root cause: http://cpantesters.perl.org/show/Devel-NYTProf.html#Devel-NYTProf-2.07_93 So I'll try this simplification of the test script.
      adds  29d71cf   Save some headaches for windows users trying to profile mod_perl apps.
      adds  2777b0d   Use NYTP_SIi_* constants. Remove s/(eval \d+)/(eval 0)/g logic from perl code now it's done in C.
      adds  a1a5696   Save/restore errno in incr_sub_inclusive_time() and more finely in pp_entersub_profiler(). Use NYTP_SCi_* constats in more places. Refine 50.errno.t slightly.
      adds  c0ca17e   Fix signed/unsigned mismatch
      adds  76c3bfe   Rewrite test system: Each test now has its own .t file (using t/lib/NYTProfTest.pm). Next steps: Remove 20.runtests.t and update HACKING to reflect the new test system.
      adds  fc21285   Fixup t/test16.t for perl < 5.10
      adds  88a204f   Fixup t/test30-fork.0.t for Windows
      adds  ce64592   Remove no_plan from tests, allow additional tests (see example in t/test01.t)
      adds  4025851   Removed t/20.runtests.t, fixed MANIFEST
      adds  d5b696a   Bump version to 2.08 for release, finally.
      adds  5e79b33   Added note to HACKING about reporting when method cache is invalidated.
      adds  2dac798   Make html_safe_filename remove colons (and some other chars) from filenames to avoid problem on windows. E.g., https://rt.cpan.org/Ticket/Display.html?id=43798
      adds  28c19c7   Added Changes not for previous commit. Plus a note about package tables added in 2.08.
      adds  df6ab27   fixed test 30.util (wrong test count; issue 13)
      adds  4654c1d   Remove embedded dots from filename for html report generation. Tweak the level for a trace message.
      adds  3754030   Fix tests to work with previous html_safe_filename change.
      adds  7524799   Refactor (reorg) if/else logic in get_file_id() to make it easier to add better autosplit handling.
      adds  0988250   Initial structural changes to support smarter autosplit handling.
      adds  a518a6f   Added missing t/test22-strevala.t to the MANIFEST.  I aslo wanted my first commit to be a small and simple one.
      adds  8175bfb   Renamed t/\d\d.test.t files to t/\d\d_test.t for greater   portability, VMS ODS-2 files can only have one period/dot.
      adds  b140591   Renamed more files for greater portability (removing periods/dots for VMS)
      adds  b3d4510   Renamed .js and .css files for greater portability (removing periods/dots for VMS)
      adds  50fe106   Added t/92-file_port.t as a developer-only and   request-using-ENV test, to help maintain portable files,   currently .indent.pro and .perltidyrc fall foul of portable   filename characters as defined by ANSI C and perlport.
      adds  3c7d25b   NYTProf.xs's open_output_file use mode 'wb' and not 'wbx'     to avoid unsupported error when on VMS.
      adds  486f129   Give credit where it's due
      adds  9f19ee8   Fix up t/92-file_port.t to fail more gracefully when not runnable or enabled.
      adds  d94e30c   Fix extra %s in log warn format. Extend test harness to include combinations of compress=1|0 and savesrc=1|0 (savesrc is currently disabled because this testing caused coredumps etc. I'm investigating.)
      adds  8301c9c   Add special case for NTP_write with length 0 as fwrite with len==0 is problematic (http://www.opengroup.org/platform/resolutions/bwg98-007.html) When using compression this code isn't executed, and the compression code handles len==0 properly,  which is why we've not encountered this before. Use gv_fetchfile_flags if available. Fix line count in save src log message.
      adds  858e9e2   Add savesrc, compress, and abort (on first error) options to tests. Set $ENV{NYTPROF} once per test group/.
      adds  0043515   Fix savesrc by writing source at end of profile run added a fid flag to indicate src is available, and another to indicate src should be saved.
      adds  beb404a   Skipping tests this way because of the way Test::Portability::Files::import sets a plan, and if multiple "plan skip_all =>" are used this causes a failure when Test::Portability::Files is available - "You tried to plan twice".
      adds  b887b00   Revert to earlier t/92-file_port.t and do require Test::Portability::Files instead of use to avoid triggering a plan() via the import. We call import explicitly later. Don't use all_tests because the DOS (8.3 name length) triggers lots of warnings that we'll never fix, and that's the only test not enabled by default.
      adds  d9afc55   Don't set PL_perldb when processing options (from NYTPROF env var) because it causes problems for non-profiling apps like nytprofhtml.
      adds  120e583   Neaten the warning by removing the " (@INC contains..."
      adds  9c3ebc1   Show NYTPROF and stdout of subprocess if it fails.
      adds  dce2dfc   Enable more detail on this test failure http://www.nntp.perl.org/group/perl.cpan.testers/2009/03/msg3444845.html
      adds  318479e   Add NYTP_DEFAULT_COMPRESSION constant to application can tell if zlib was compiled in. Report NYTP_DEFAULT_COMPRESSION in t/00-load.t. Make t/92-file_port.t skip_all message consistent with other tests.
      adds  269da9a   getcwd() on VMS returns VMS paths, these looks like u:[username], sticking a slash results in u:[username]/test.t and this is not a valid VMS filename, not inserting a slash results in only 4 out of 31 tests and 21 out of 491 sub tests failing.  Getting there.
      adds  cc9d132   Add NYTP_FIDf_IS_ALIAS flag distinct from NYTP_FIDf_IS_AUTOSPLIT (NYTP_FIDf_IS_AUTOSPLIT is set for any autosplit file, NYTP_FIDf_IS_ALIAS is set for those we successfully match to a 'parent' and thus don't save) Implemented find_autosplit_parent() Updated tests to reflect flag changes, but the test (test14) doesn't actually exercise the new code yet because start=begin is required but the tests use start=init.
      adds  486602c   Add docs for "Unable to open '... (autosplit into ...)'" warning. Adjusted test14 so it tests new autosplit logic. Extend test harness to enable per-test override of NYTPROF env values.
      adds  088be12   update HACKING note re string evals in autosplit files
      adds  7567ac4   Prep for release
      adds  42b546c   Prep for release - bump version
      adds  811097e   Fixing previous VMS specific patch, compiler complains about invalid statement if VMS is defined, braces are required.
      adds  0b20ad1   Allow nytprof.out file to have 0 size on VMS as buffers have not flushed.
      adds  3af1783   Skip all fork() tests if on VMS
      adds  894786e   This isn't pretty but it ensures the paths used are valid on VMS, previously they were an invalid mix of *nix and VMS.
      adds  dacb981   Filenames can have chars that are special regexp chars, escaping some I ran into on VMS.
      adds  8865bf9   This is .js not .pl, the trailing comma caused a warning in MS IE
      adds  f697498   Use quotemeta() to backslash non-'word' chars.
      adds  5f54340   On VMS fflush() does not fsync() to disk, have to skip this to avoid infinite loop.
      adds  0549f25   I didn't mean to add META.yml to the MANIFEST in my last change.
      adds  07eea9d   Swap dot/period for underscore in outdir and new files to ensure is valid on VMS, skip test 14 and 60 as the expected profile data does not have VMS paths and will not match.  Now all tests pass on VMS.
      adds  fce1e90   TIMTOWTDI and I agree \Q quote non-word characters till \E is neater.
      adds  cf70333   Yet Another VMS Fix, ODS-2 files are limited to 39.39 chars
      adds  fd4a37d   Trailing comma in .js causes warning in MS IE
      adds  9ef5360   Prep for release
      adds  94800d0   Last minute little fix for 'make clean'
      adds  0ba1e60   Tweak Makefile clean target to match VMS changes Add a couple of notes to HACKING
      adds  76a7da9   Quiet a warning from the current bleadperl.
      adds  5e4412b   Initial work-in-progress using jquery treemap plugin. Quite rough at the moment. Checking in for-the-record as I'm going to go experiment with http://blog.thejit.org/javascript-information-visualization-toolkit-jit/ next
      adds  c3abf2f   Make DB::enable_profile work after finish_profile is called.
      adds  e855a0a   first cut of the nytoprof to cachegrind calltree output script.
      adds  d394559   Fixed call count for XSubs that was one too high. Minor tweaks to bin/nytprofcg Added more docs for disable_profile/enable_profile/finish_profile. Extended tests for disable_profile/enable_profile/finish_profile. Removed unused sub_xsubs_hv variable. Avoid infinite loop in eval_outer_fid() when data is corrupt.
      adds  ce3e3ec   Rough, but working, interactive package treemap using the JavaScript Information Visualization Toolkit (JIT)
      adds  fae2186   Add comment outlining a possible implementation of recording sub caller sub names. Add note to Limitations section of docs that sub profiler doesn't record calls to xsubs that exit via an exception.
      adds  b8e4107   Yet another take on treemaps. This time using js-treemap. (Still very rough)
      adds  220d7de   Avoid undef warnings where subs have no known line numbers (eg Moose) Note pp_leavegiven and pp_leavewhen in HACKING
      adds  d8aeb7d   Fixed enable_profile() after fork thanks to delamonpansie   http://code.google.com/p/perl-devel-nytprof/issues/detail?id=15 Also moved some comments re autosplit to a better place.
      adds  c3c0a38   Changed enable_profile() to discard the time spent since profile was disabled.
      adds  1487aaf   Made NYTPROF_TEST=trace=N work for 'extra tests'. Added extra note() when extra tests are run. Added sleep after reporting an error status from a subprocess.
      adds  d0daadc   Removed unneeded (and problematic) mg_get thanks to delamonpansie     http://code.google.com/p/perl-devel-nytprof/issues/detail?id=16     (I don't know why it would have caused an assertion failure in perl.) Removed hashtable_memwidth var as it's no longer used.
      adds  029d356   Added detection of file names like "(eval 1)" that don't have the expected filename details added (they should look like "(eval 1)[/file:line]") They're treated as if they were "(eval 1)[/unknown-eval-invoker:1]" Added a new NYTP_FIDf_IS_FAKE flag to indicate /unknown-eval-invoker is fake. Modified $fi->srclines_array() to return fake source if NYTP_FIDf_IS_FAKE set. Added a test but it doesn't exercise the case as it's not really embedded (at least I assume that's t [...]
      adds  38a0aa0   Fixed to use correct scripts during test and so avoid permissions issues, thanks to David Golden.
      adds  5facf9a   bin/nytprof* --help exits true
      adds  1c59117   prefer usage() to &usage because we're not using any magic
      adds  2fc4214   Invalid parameters to bin/nytprof* also prints usage
      adds  ce01d21   Allow \ to escape things in NYTPROF environment variable
      adds  4685e79   Clean up crud
      adds  f731d9e   Test \ escape in NYPROF environment variable
      adds  5c149e7   Disable once, redefine warnings for t/31-env.t
      adds  7cc8875   As of r748, require Test-More-0.81_01 or greater
      adds  8471415   Give a hint to users when they get no source code for -e (and some other cases). Updated svn:ignore for t/ dir. Added const_bits2names() to Devel::NYTProf::Constants to convert flags to names. Not currently used. Fixed undef warning when code has no packages.
      adds  29a1dd8   Only generate fake hint src line for -e & - cases. Tweaked t/31-env.t
      adds  59b16dd   Switched to using raw (non-minimized) src code of js-treemap.
      adds  3bc7aa4   Avoid core dump if eval fid refers to an invoking fid that we've not seen yet (should never happen).
      adds  f190b93   Add a summary report identifying which settings influenced failures, e.g.: # Test failures of test20-streval related to settings: #         savesrc: 0 => {pass 8}, 1 => {fail 4,pass 4} #      use_db_sub: 0 => {pass 8}, 1 => {fail 4,pass 4}
      adds  d581c89   Added test for "(eval N)" style filenames, i.e., missing the invoking filename.
      adds  ddd741c   Improve treemap look and behaviour.
      adds  5c69cda   Allow undef entries in fid_fileinfo_av
      adds  fd348da   Update a problem description in HACKING
      adds  7f520ae   Fixed suprious "Unable to determine line number" warnings when using options like -p, -n, -Mfoo.
      adds  9d7affd   Use PL_retstack_ix <= 2 as additional check for is_preamble.
      adds  5de6eb3   Use PL_scopestack_ix instead of PL_retstack_ix because PL_retstack_ix is gone in 5.10
      adds  5925762   Added license, homepage, bugtracker, repository and MailingList resources to META.yml thanks to Michael G Schwern. #rt47015
      adds  70a951f   Tweaked warning message. Disabled experimental treemap output (as I'm about to refactor it, again, but want to make a release meanwhile).
      adds  53e4382   Prep for release.
      adds  523558e   Deleted files relating to old treemap code
      adds  595ed33   Deleted more old treemap files
      adds  e3c09de   Updated MANIFEST
      adds  48ea191   Another move in the 'how slow are cpan testers' game... http://www.nntp.perl.org/group/perl.cpan.testers/2009/06/msg4227689.html
      adds  9d67ecb   This one's a little harder to explain, but I'm happy enough to assume that it's reasonable behaviour for the three select(..., 0.2) calls to actually delay by 0.546s in total: http://www.nntp.perl.org/group/perl.cpan.testers/2009/06/msg4230206.html
      adds  01e3660   Added test diag warning for people running on xen, due to it being a regular factor in test failures: http://www.nntp.perl.org/group/perl.cpan.testers/2009/06/msg4246803.html Added note to docs and Changes re Joshua's NYTPROF env var parsing changes.
      adds  d9a9d6a   Added treemap view of package and subroutine times, with drill-down. Far from perfect, but reasonably usable. (I'm aiming to get it polished up in time for OSCON.)
      adds  d973cfa   Changed left-click zoom from 'zoom all the way to the leaf' to 'zoom one level _towards_ the leaf' using code suggested by the JIT author. Started coloring the tree (the colors are ghastly, partly because the way JIT colors treemaps is based on a straight-line through RGB color space).
      adds  86e549e   Added sysops=1 option which enables profiling of perl opcodes that make potentially slow system calls. Just a rough first version for now. pp_sysop_profiler needs to be refactored with pp_sub_profiler next.
      adds  8ca7cb7   Record builtins, like sleep(), as having names begining with "CORE:" (one colon) in the current package. Added a few more opcode for pp_sysop_profiler to help demo/test it. Fixed a bug with sub names containing colons :) Replaced all use of warn() with new logwarn() that just does vfprintf() to stderr, to fix infinite recursion via __WARN__. Removed OpNAME(PL_op) from the DB_leave trace message because it seemed to be pointing to gibberish (freed memory?) in some cas [...]
      adds  13103f1   Assorted refactorings getting us closer to having a treemap on each file page. Removed needless 'subs' levels in trees. Only add stretched alpha gradient background image to nodes big enough to be worth it (saves >500 images on the perlcritic data).
      adds  fd8fb74   Don't include subs with 0 time in the treemap. Assorted tweaks and polish.
      adds  428e08d   Fix to minimize jagged gaps (submitted to JIT author)
      adds  fb6c75e   Updates to HACKING
      adds  3499e12   Don't create treemap boxes if they're too small to be useful. Other minor tweaks.
      adds  d1665d5   Add details to treemap tooltip and tweak style. Generate separate incl_time and excl_time treemaps. Start work on callgraph visualization (but it won't get any further till the subroutine profiler is extended to record the calling subname, not just the calling file and line).
      adds  c1792d5   Give the user a clue, or three, about the treemaps.
      adds  13c8b51   Added columns to the main source code reports to show a count of sub calls and time spent in those calls. Assorted cosmetic improvements.
      adds  e923fe5   Merge pp_sysop_profiler into pp_entersub_profiler. Enable sysops=1 for all tests.
      adds  71c5230   Fixed recursion depth measurement. Changed colors on report pages to be less saturated.
      adds  8404ad4   Fixed (rare) overflow bug for 32bit perls. Fixed discarding of (rare) negative intervals. Added log=F option to write trace log to a file. Added sequence numbers to sub calls to aid debugging Added sanity check warning for negative times from sub profiler
      adds  dc40f84   Declarations must come before executable code (for MS VisualC)
      adds  5800788   Hash keys length are only 32 bits while STRLEN may be 64
      adds  df148e7   An (unsigned long) is still only 32 bits on 64-bit Windows. %Ix prints the right number of bytes for size_t values for both 32 and 64 bit Windows.
      adds  d2c60d5   Renamed sub_call_start_t to subr_entry_t and added a pointer to the previous sub entry, which is presumably the caller of the sub being entered (ignoring for now any issues with enable_/disable_profile). For now it's only used in a trace statement. Added newlines to logwarn calls that lacked them.
      adds  487f8fc   Refactor pp_subcall_profiler to allocate the struct using SSNEWa directly, instead of copying it later. Now links into subr_entry->caller chain before op is executed (incase op is xsub or sysop that invokes perl).
      adds  8298fad   Store fid and lin in subr_entry_st as ints instead of formatted string.
      adds  14abd6b   Use separate data file name for each test, so tests can be run concurrently. Added 'prove' target to makefile that runs prove -j 9 for quicker testing. Reduced time taken by t/test10.
      adds  1eecba9   Switched to using context stack offsets instead of pointers to track current sub enter and chain of outer callers. A step on the way to at least detecting xsubs & builtins that exit via exceptions. Record calling fid and line before invoking the op. Added docs describing how the subroutine profiler works.
      adds  6a2dec9   Added sysops=2 option to control how builtins are aggregated. Added docs for sysops option.
      adds  fabf719   Declarations before executable code (plus a missing 'const')
      adds  078fb66   Use %p to format pointer values. Solves potential issue with Cygwin, which may define WIN32 symbol too but doesn't use MSVCRT.dll
      adds  230b374   Added note about standard deviation
      adds  37a7c79   Added (undocumented) NYTPROF_FMT_TIME env var for experimentation. Tweaked the demo code
      adds  ccb9d30   Refactored NYTProfTest to enable more flexible usage. Exposed do_foreach_env_combination logic. Added $profile = profile_this_code(src_code => '1+1'); function
      adds  783239b   Added recording of calling sub to subroutine profiler. (Not yet added to reporting data structures.) Bumped file format version number and removed old minor version fudges. Noted use of XCPT_* macros as a good fix for the 'xsub or sysop call is lost if returned via an exception' issue. (Though I've no plans to do that anytime soon.) Fixed setting of $. in callback interface to invoke magic. Rewrote t/22-readstream.t to remove dependency on a (now outdated) frozen pro [...]
      adds  07759c3   Fix occasional failures when running 'make prove'
      adds  4c3e3e9   Added the calling sub name to the sub call data structure (a hack for now - sub call info needs to be name a firstclass citizen and fid:line's downgraded)
      adds  f81b580   Added .gdbinit http://cpansearch.perl.org/src/GOZER/mod_perl-1.31/.gdbinit which I was reminded of by Josh ben Jore's http://yapc10.org/yn2009/talk/1973
      adds  6b3a3a5   Finally got robust calling subroutine name working in a way that doesn't run into problems with exceptions from xsubs and other odd cases. (The subr_entry structs are no longer linked into a chain.) Currently allocates/frees and SV per call, but that can be fixed later. Assorted variable renamings.
      adds  4d715c0   Clarify the impact of the perl api call_*() functions not being profiled in older perl, and specifically mention tie().
      adds  9d3aafe   Updated tests to match modified xs file in earlier commit.
      adds  043b3b0   Sub calls made outside of subs are now deemed to have been called from <Package>::BEGIN. Calls to non-existent import() subs are no longer profiled.
      adds  bf515c0   Renamed MAIN to main::BEGIN to match the name derived elsewhere. Improved an error message. Resync'd the tests.
      adds  7d4b5f5   Added t/nytprof*.out.* to Makefile clean target.
      adds  23688d5   Detect error writing to pipe to demo script
      adds  c38f840   Significant reworking of the subroutine profiler. Lots of code moved from second phase (after op returns) to first phase (before op called) and third phase (the destructor). Much better placed to implement "exception from xsub" catching. (That situation is tested for and detected but not handled yet.)
      adds  477c85f   Keep separate entries in subr_entry for called pkg name and called subnam (eithout pkg) Return a gv from resolve_sub as a fallback, instead of formatted sub name. Added a trace_level 1 note about a edge case not covered by test suite. resolve_sub also doesn't need to bother with sv == &PL_sv_yes for missing "import" subs as we hide those earlier on now. Removed explicit creation of <package>::BEGIN for caller name as the code does that naturally now (perhaps it always did).
      adds  24ff700   Tweaks to Changes and HACKING
      adds  a2f8673   Renamed NYTP_TAG_SUB_LINE_RANGE to NYTP_TAG_SUB_INFO and future-proofed the output format a little. Deleted old t/22-readstream-v20.out that's no longer used. Updated assorted entries in HACKING.
      adds  8c6868b   Changed from using the hackish and limited subname_at_file_line() method, to using the sub caller data collected at runtime. Changed "SUB_LINE_RANGE" tag in ReadStream to "SUB_INFO"
      adds  e74554f   Implemented a basic interactive Radial Graph view of the subroutine call tree. Uses the RGraph visualization (http://thejit.org/Jit/Examples/RGraph/example1.html) It's cute, but doesn't scale well to large apps, partly because the nodes aren't placed very well by JIT.
      adds  4cfa829   Renamed sysops option to slowops and added match and subst (s/// & m//) opcodes. Fixed presentation of xsub stubs in nytprofhtml.
      adds  72167fa   Added --one option to tests as shorthand for --leave=1 --use_db_sub=0 --savesrc=1 --compress=1 Fixed --html/--open option to work even if there's no .x file.
      adds  d5ad028   Added test for goto. (Its time to bite that bulleat as it's distoring the call graph, e.g, when Exporter delegates to Exporter::Heavy)
      adds  e24d09b   Fix __attribute__format__ and the compiler warnings revealed by it.
      adds  ea54e5d   Sync test16 results.
      adds  6b40139   Change subr_entry caller_* name elements to use pv for package and sv for name, like called_* as a step towards chaining them, so called becomes caller of deeper sub. Switch back to a global subr_entry_ix but use the save stack to maintain it (not used yet). Tweak subroutine profiler docs.
      adds  22b2cdb   Added reuse of called_sub* details from outer subr_entr if they're available. (They're not available for xsubs or slowops, in which case we caclcuate the caller). This is fast and gives a well connected call tree: the sub name we called becomes the name of the caller when we go deeper. If we were to calculate the caller each time then in some cases the name would differ. Sometimes the calculated caller is more accurate so I've added a findcaller option to enable that [...]
      adds  1513ee0   Now the fun can begin... add generation of very basic Graphviz dot file. (I plan to add attributes and per-package subgraphs later.)
      adds  395b062   Just a little polish.
      adds  8c60914   Started work refactoring to (finally) profile goto &sub sanely. (That's the last significant crack in the subroutine call tree.)
      adds  edadc8a   Major rewrite of subroutine profiling to include goto &sub calls in the call tree. Sync test results affected by the extra detail we now capture.
      adds  ad6dee5   Use "main::RUNTIME" as the name of "caller" of subs called by main:: code.
      adds  e0f3ce3   Fix goto'd subs to not be treated as xsubs in perl 5.10 Moved list of slowops out to a .h file and added a few more for now. Sync'd test16 results for perl 5.10
      adds  b0fbc03   Added fcntl to slowops and reenabled print as a slowop Tweaked opacity of hovering box on treemap. Deleted old package hierarchy tables (superceeded by treemap) Now strips out @INC paths from filenames and __ANON__[/file/...] subnames in reports. Removed per file 'average statement execution time' from index page file list.
      adds  9bc6062   Added bin/nytprofcg to Makefile.PL EXE_FILES Removed average time per line column from reports. Made the (rarely used) value available via a tooltip.
      adds  3fdd4d8   Removed inclusive time treemap as it's not actually useful. Removed radial callgraph as it doesn't scale to handle large apps. Shuffle treemap colors so there's greater visual difference.
      adds  b6b185e   Add clusters (to groups subs by packages) to the graphviz dot file.
      adds  5807a7c   Resync tests to include print and unlink slowops.
      adds  c6342ee   Still fiddling with graphviz output... Make the top-level dot file only contain packages as nodes and started extending the code to allow per-package dot files that'll show all the subs in the package and any others that called those.
      adds  99005f4   Sync test16 result for perl 5.10+ Sync test61-submerge result - I suspect there's a perl version specific behaviour affecting this test
      adds  224899a   This C, not C++.  Declaration must happen before any executable code inside the lexical scope!
      adds  4f8a1be   Enabled slowops=2 by default, at least for now. Refine comments in goto handling code. Avoid using note() in tests. Fix labeling of slowop subs. Use lexical filehandle for html output and reorg control flow for index page. Tweak graphviz output to behave more sanely more often.
      adds  3f1fb68   Add gotobug directory containing a test case for a significant problem affecting perl <5.8.8. ** I'd welcome any help I can get with this **
      adds  90b904b   Fixed caller() problem with perl <5.8.7, many thanks to Bram! Synced t/test61-submerge.rdt.
      adds  e63fd78   Tweak Test::More dependency. Delete gotobug directory.
      adds  a4a0259   Finally got GraphViz file generation working in a reasonable way. (Lots of scope for polish, but at least it's usable and useful now.) Added entry for fake main::RUNTIME sub.
      adds  60a9458   Synced test61-submerge.rdt
      adds  51c7cab   Made JSON::Any optional. Fix main::RUNTIME fake sub generation when there's no subs in main:: Fixed compiler warnings. Resync'd tests with main::RUNTIME fake sub enabled. Fixed NYTProfTest.pm to properly abort test group on fatal error.
      adds  86ebd98   Be more hintful in the 'inflate failed end of input file' error message. Detect and warn when subr_entry_ix <= prev_subr_entry_ix (Sudden death is soon to follow. I'll probably have to implement an eval block around the sub profile call, sadly.)
      adds  d9ecfe8   Clarify impact not being able to profile calls made by call_*() in older perls.
      adds  8e4695f   Fix test results for tests that don't call subs from "main::RUNTIME". Add some comment notes re main::RUNTIME in NYTProf.xs. Add note to Changes re desire to update and test new JIT release.
      adds  ac08b98   This changes only documentation, no testing should be required. Most changes are quite obvious.  A couple might be changes to acceptable British spelling, but the document doesn't have other Britishisms that I spotted, so I changed them too. The change in the SMP Systems section isn't for spelling. But I had trouble parsing what it was that "systems have", so I reworded it.
      adds  768eba3   Added endatexit option (for internal use, e.g., by possible Devel::NYTProf::PgPlperl module) Added workaround for current_cv returning NULL. Fixed compiler warning re lack of prototype for normalize_eval_seqn.
      adds  8ed234f   Added Devel::NYTProf::PgPLPerl module with docs. A bit of a hack but good enough to be useful.
      adds  e139a2a   Rename subr_entry.completed to already_counted and use ++ instead of =1. In subr_entry_destroy warn and skip any attempt to raise subr_entry_ix.
      adds  c74a9eb   subr_entry_setup() now always pushes a destructor onto the stack as a fallback incase the call is to an xsub that croaks. Determine name of sub being called before we enter it, so we have the name if it's an xsub that croaks (as a bonus we now see sub calls that die e.g. because the sub doesn't exist). Documented the findcaller option. Probably has rough edges, and perl-version sensitivities, but it's a good point to checkin.
      adds  88240c2   Added sigexit option to enable a useable profile when the process exits due to a signals. Thanks to Andrew Sterling Hanenkamp for the seed of this idea.
      adds  690165f   Updates to the LIMITATIONS section
      adds  bff969b   This test is sensitive to the perl version (calls appear from fid 3 or fid 4) I don't want to deal with that now so I'll sync to the results for the perl I'm using
      adds  8f185f1   Generate list of slowops via the Opcode module. Add many more ops as slowops.
      adds  d16c7b0   Update to JIT 1.1.3 (which includes my earlier patches)
      adds  7a6527d   Switch to a rectangular style gradient effect (it's not quite right yet but I think it's better than the radial gradient)
      adds  3917b21   Fixed zeroing of subr_entry! Fixed compiler warnings. Don't call resolve_sub_to_cv() for non-OP_ENTERSUB calls Disabled OP_SUBSTCONT fow now - needs special handling like OP_GOTO Synced affected tests. (All tests pass for the perl version I'm using - but some will fail on others)
      adds  8b3b630   Added PRIVLIB_EXP and ARCHLIB_EXP attributes to profile data file. Used them to implement a sane $fileinfo->is_perl_std_lib method. Used is_perl_std_lib to remove called_by data for calls from std modules. Added NYTPROF_TEST_PROFPERLOPTS env var. Added $profile->attributes method. Hid PRIVLIB_EXP and ARCHLIB_EXP from dump output.
      adds  5582349   Replaced old stdlib detection code with $fi->is_perl_std_lib calls.
      adds  2d5d2a1   Added t/test62-subcaller1 Bumped VERSIONs ready for an early devel release (to flush out portability issues) [Anyone want to contribute DistZilla support?]
      adds  2478646   Bumped more VERSIONs (though I should have bumpled to 3.00, d'oh) Updated MANIFEST (fix RT#50760)
      adds  573d761   Fix t/22-readstream.t to (try to) use the same perl in the subprocess
      adds  15ae164   Don't profile DB::_INIT and DB::finish_profile (only) because they cause test output (eg test8.rdt) to very depending on perl version.
      adds  78d0fca   Skip test60-subname for older perls because the call from example_xsub to will_die, made via call_sv(), doesn't get profiled on older perls
      adds  daf09db   Polish up change not re sigexit option
      adds  5d36f39   Added forkdepth option, plus tests and docs.
      adds  c91d630   Sync'd the test60-subname.rdt and test62-subcaller1.rdt test results I'd missed doing in the previous release.
      adds  dbf650e   Provide a little more detail if deflate() fails (see RT#50851 https://rt.cpan.org/Ticket/Display.html?id=50851)
      adds  8304802   Added emulation of gv_fetchfile_flags that null-terminates the string. (Probably cause of RT#49835 and string eval src being missing in some older perls)
      adds  54c88ee   Added note re Scope::Upper unwind() in LIMITATIONS section
      adds  50106a0   Enable ARCHLIB_EXP to be undefined
      adds  129f1b0   Tweak ARCHLIB_EXP comment and slowops Change note
      adds  044d60e   Tried to make t/30-util.t less prone to floating point issues (presumed to be the cause of http://www.nntp.perl.org/group/perl.cpan.testers/2009/07/msg4389798.html)
      adds  853b790   Moved some $^P () settings into init_profiler. Renamed use_db_sub to opt_use_db_sub (will rename others later)
      adds  1426762   Add perldb=N option to force certain PL_perldb values (undocumented as it's just for testing/emergency use) Added PL_perldb value as an attribute in the profile data file.
      adds  04b74fe   Fixed handling of slowops that exit via an exceptions. Tidied some code and logging. Resync'd affected test results.
      adds  edc5a7f   Documented how goto &destination is profiled. Removed old items from LIMITATIONS and moved the section to a better place. Polished up the REPORTS section and gave each tool its own heading. Updated Changes.
      adds  6c060c5   Polish up the docs Note current limitation re substcont opcode.
      adds  0b95e7d   Disabled profiling of require slowop. Fixed ref count problem with goto() profiling code. Fixed current_cv() when ix<0 and PL_curstackinfo isn't PERLSI_MAIN. Added subroutine depth tracking and included depth in main log messages. Added assertions to detect insanity sooner. Now passes the "profile perlcritic'ing Perl::Critic's own lib tree" test.
      adds  0b5288e   Resynced test62-subcaller1 results Fixed compiler warning. Noted things still todo in Changes
      adds  029c7f2   Tried again to avoid (presumed) floating point issues like http://www.nntp.perl.org/group/perl.cpan.testers/2009/10/msg5789940.html
      adds  73fa0b2   Fixed problems with profiling forks. Should fix http://www.nntp.perl.org/group/perl.cpan.testers/2009/10/msg5789927.html Added reporting of ZLIB_VERSION in the test output. Adopted the convention that non-error trace messages start with "~ " (only applied to trace level 1 and some level 2 so far)
      adds  9f8bf0d   Fix compiler warnings, mainly for perls built with -Duselongdouble (RT#51431)
      adds  b2d79e9   Update slowops list generation to match current state and document some issues
      adds  9f292fe   Removed rand & srand from slowops because it turnsout it's very hard to configure perl to use a random number generator that might block waiting for /dev/random
      adds  1313ec0   Added tests for calls from sort() and s//sub()/e
      adds  e8b2d9d   Fixed link to tablesorter css file
      adds  bcfd033   Updated ops for 5.10 (will need to add #ifdefs for earlier versions ) Removed rand and srand (because they'll never be slow enoh to care about because they don't use /dev/random) Added say and substcont Stubbed out OP_SUBSTCONT for this commit
      adds  a7c7666   Fix OP_SUBSTCONT. Yeah! Probably also fixes Scope::Upper::unwind. Double yeah! Replaced old naughty block_type[CxTYPE] array with a proper cx_block_type(cx) func with a switch statement.
      adds  ddfcc85   Add #ifdef for OP_SAY
      adds  5237875   Added Devel::NYTProf::Run module with profile_this(src_code=>"...") function. Enabled run_test_group to not require any external test files. (Together they enable traditional style Test::More tests to be applied to source code without requiring external test files but still allowing multiple executions with combinations of NYTPROF env var settings.  This provides an escape route from the tyranny of the dump-n-diff approach.)
      adds  1fb5da0   Fixup handling of profile data file naming broken in previous commit.
      adds  f581bcb   Move already_completed test out of slowop block so it'll also work for Scope::Upper's unwind. (Sadly Scope::Upper still has problems with NYTProf - I'm looking into it.)
      adds  eaab503   Reordered logic to not push the extra destructor until the end of the function and so no longer push the destructor for a substcont that's already left the scope.
      adds  9e72413   Limit the damage when a confused NYTProf stack is detected. (So "PERL5OPT=-d:NYTProf prove" works for modules that include thread tests, like Scope::Upper, no longer aborts)
      adds  5aa88b0   Fixed tortuous "goto into own sub that's been deleted and replaced" use-case used by Carp::Heavy. Thanks to ALEXMV for the bug report (RT#51149) and original tests (which I've edited).
      adds  f088580   No longer export do_foreach_env_combination as it wasn't being used. Allow tests to override, or add extra, NYTPROF env var option values. (Would be nice to enable adding combinations of options one day.)
      adds  fc58506   Added workaround for RT#50851 "deflate failed, error -5 (buffer error)"
      adds  7dae813   Tweak NYTP_FILE_LARGE_BUFFER_SIZE for minor optimization of zipping.
      adds  eb18a3a   Tweaked slowops.h generation. Added MANIFEST.SKIP.
      adds  2b41293   Made trace first option in NYTPROF during tests, so other options get shown if trace is set. Made breakdown of test failures by option settings more visible in the test results. Added note that slowops that call subs currently appear as the caller in the call tree and that that's likely to change. Added tests for savesrc (using new simpler testing format).
      adds  dc5f132   Fixed extra newlines in trace message showing saved source code. Removed (single) requirement for Test::More 0.84. Document that NYTProf isn't multiplicity-safe.
      adds  4ec63f0   Fixed chomping of newline in fid source code trace. Included fid id in 'source not available' fake source line and NYTP_FIDf_IS_FAKE fake source line. Fixed up edge cases in source code handling. Noted more things to test/consider/fix.
      adds  2e1763f   Replaced open my $fh, '|-', @perl with open my $fh, "| @perl" to fix windows "List form of pipe open not implemented" problem http://www.nntp.perl.org/group/perl.cpan.testers/2009/11/msg6046204.html
      adds  6d899d4   No longer warn about each instance of a negative time for a sub call, just count and warn at the end. (The counting should really be done during the measurement, else occasional backward clock moves would be hidden by more common forward moves)
      adds  3361a3d   Offer some concrete help to user of xen with clock problems (http://www.nntp.perl.org/group/perl.cpan.testers/2009/11/msg6039168.html)
      adds  0f9b2cb   Be a little more prescriptive, and fix whitespace
      adds  0e101da   Fixed compiler warnings
      adds  a762767   Added listing of relevant env vars to t/00-load.t output
      adds  e53806a   Adjust t/test60-subname to move the "exit xsub via exception" test into the middle. I suspect there's something wrong with the handling of that case, based on http://www.nntp.perl.org/group/perl.cpan.testers/2009/11/msg6035538.html http://www.nntp.perl.org/group/perl.cpan.testers/2009/11/msg6064226.html
      adds  a56e7ae   Fixed example_xsub that was missing a PUSHMARK (causing occasional failing tests mentioned in previous commit) Added (void*) to args using %p format to keep gcc --pedantic happy
      adds  3df3269   Added tests for CORE::GLOBAL::foo plus assorted data model methods (using the new extra_test_code & profile_this mechanisms) Replaced some remaining uses of fileinfo array indexing with method calls.
      adds  f288538   Skip a test if $] < 5.008009 or $] eq "5.010000"
      adds  6329e3f   Added t/40-savesrc.t missed from r914. Thanks Nicholas. Tweaked svn:ignore for t directory
      adds  22b0b74   Pass in the length of the string to sub_pkg_filename_sv(), as we always have it available in the caller. This saves a strlen().
      adds  ae2114e   Fixed file_line_range_of_sub to handle known subs with unknown file details, like UNIVERSAL::VERSION
      adds  50150b5   Added test for implicit utf8 SWASHNEW calls from regex (currently coredumps) Factored out code used to generate summary of subr_entry for log messages.
      adds  d5183be   Fixed t/test81-swash.t. Fails for perl >= 5.11.1.
      adds  305fac5   Don't output a diff if it's the same as the previous env-variant of the same test. (To avoid [Output truncated after 50K] in cpan-testers reports.) Assorted other minor improvements.
      adds  eea0011   Fixed to build with later 5.9.x's, thanks to Nicholas Clark.
      adds  9a4099b   Added warning when reading a file with a minor version higher than expected.
      adds  dd26f06   Enable assertions.
      adds  37317b9   Disabled savesrc=1 tests for perl 5.11.2 due to perl bug RT#70804
      adds  ea46ab2   Fixed dumb attempt to enable assertions. Added Makefile.PL option to enable 'hard' (non croak-if-PL_debug) assertions. Default the option true if $ENV{AUTOMATED_TESTING} is true. Default the option true for developers (use --noassert to disable).
      adds  a1042d9   Added mention of quiet=>$bool argument to new() method. Noted inability to merge profile data.
      adds  0974e9a   Added 'complete' attribute to indicate incomplete/truncated data to avoid false positive test on platforms that don't have compression, like http://www.nntp.perl.org/group/perl.cpan.testers/2009/12/msg6402850.html
      adds  0a7806d   Removed dofile from slowops for the same reasons as require. It's also the cause of of the SWASHNEW assertion failures like http://www.nntp.perl.org/group/perl.cpan.testers/2009/12/msg6409150.html
      adds  e27539b   Protected some log messages from core dumps with corrupt data. Changed .subr_call_seqn from UV to long unsigned. Added fid:line to trace_level 3 sub entry log message. Added more detail to 'call has negative time' log message.
      adds  9b8e855   Synced t/test12.rdt with removal of dofile from slowops in earlier commit.
      adds  ffc945c   Added nameevals=0 and nameanonsubs=0 to make NYTProf less visible to code that may assume the default perl naming behaviour. (Such as perl's own test suite.) Added rough stab at detecting threading/multiplicity.
      adds  8f8e04d   Fixed "Assertion failed: (isGV_with_GP(_gvstash))" from perl's t/op/caller.t and t/op/ref.t
      adds  d825f4f   Better handling (ignoring) of threads/multiplicity, (at least good enough to pass perls own thread tests).
      adds  61e4e82   Fixed for perl's t/op/caller.t
      adds  389d427   Fixed typo in comment.
      adds  9a7735d   Updated ppport.h
      adds  0364f65   Updated with recommendations from ppport.h.
      adds  edd50b5   Added extra test that tickles an old perl bug. Currently fails.
      adds  06a68b9   Add SPAGAIN after call_sv()s used to make callbacks. Without this, the stack can move under us, if one of our callers has to extend it.
      adds  909f397   Correct the documentation for callback parameters for TIME_BLOCK and TIME_LINE for for_chunks. $ticks was given as the third parameter, when it's actually the first.
      adds  4232c61   Revert r952. The documentation for TIME_BLOCK and TIME_LINE is correct and consistent with the *callback* code. However, the order of the callback's parameters differs from the order in the NYTProf file, hence the confusion.
      adds  c9b37f0   for_chunks SUB_CALLERS was not passing the callback the caller name. Added at the end of the list of parameters, to avoid breaking code relying on the existing order.
      adds  b4f5a6c   Move calls to normalize_eval_seqn() after the callback runs, so that the callback gets the original filename(s). As its return value is now no longer used, normalize_eval_seqn() can become static void.
      adds  65dea42   Added dot file for graph of "all inter-subroutine calls".
      adds  112daf6   Added some notes & comments re handling of xsubs and opcodes that call back into perl
      adds  dd757e1   Convert several occurrences of 'in' to the parameter passed to the function. At some point the functions had been refactored to take an explicit file handle parameter, and that parameter is always 'in', hence why this had not been spotted.
      adds  d6f05ea   Replacce NYTP_type_of_offset() with a macro when HAS_ZLIB is not defined.
      adds  22b5933   Replace the common construction if (FILE_STATE(ofile) != NYTP_FILE_STDIO) {     compressed_io_croak(...) } with a macro CROAK_IF_NOT_STDIO(...)
      adds  81098df   CROAK_IF_NOT_STDIO() can explicitly do nothing when HAS_ZLIB is not defined. (Other conditional code means that it will do nothing.)
      adds  646b2e5   compressed_io_croak() is only needed when HAS_ZLIB is defined.
      adds  0742efc   Change NYTP_close() from returning pass/fail to returning pass/errno.
      adds  f5a1d41   Move the logging out of NYTP_close() into its callers. This will make it easier to refactor the IO functions into a separate file.
      adds  f1dd11b   Move all NYTP_* file handling functions into FileHandle.xs
      adds  18fc938   Create a package Devel::NYTProf::FileHandle which can open and close NYYProf's file handles.
      adds  68fce78   Refactor output_int() and output_tag_int() to take an explict file handle.
      adds  cebd646   Refactor output_nv() to take an explict file handle.
      adds  febc6aa   Refactor output_str() to take an explict file handle.
      adds  53c1f6c   Add methods write(), output_int(), output_nv() and output_str() to Devel::NYTProf::FileHandle. It's now possible to write out a profile file from Perl.
      adds  eff47b7   Refactor Devel::NYTProf::ReadStream::output_iv() to take a list of values.
      adds  eba794d   Refactor Devel::NYTProf::ReadStream::output_nv() to take a list of values.
      adds  c912bd3   A tool for merging NYTProf profile files. This prototype can't merge yet.
      adds  27c0b0b   An initial implementation of FID remapping.
      adds  b5e3491   profiler_duration needs to sum over all PIDs run, not just the last PID seen.
      adds  6fca976   Merge 2 (or more) NYTProf output files. Unpolished - error checking, sanity checking and tests not present yet.
      adds  b3136e9   Give thanks where it's due!
      adds  d5682ba   Added use of ppport.h to give compatibility to older perls
      adds  483f31e   Added $VERSION cross-check (I guess we really ought to use .PL files) Added --verbose option. Tweaked usage() usage and text. Added check for open() failing. Optimized the dispatcher a little.
      adds  2ac8336   Added crude testing of nytprofmerge. For every test with a .rdt file the .rdt file is checked normally and then checked again using data run though nytprofmerge. This 'null merge' ought to still generate the same data dump as the .rdt file. The easiest way to enable the test is to set the NYTPROF_TEST_MERGERDT env var.
      adds  7c8e600   Fix test count in t/test82-stress.t
      adds  86babfa   Added chunk of #ifdef-out code showing the sad state of the bug hunt relating to t/test82-stress.t Tweaked a few comments. Changed the behaviour on "panic: stack is confused" logic to be less invasive. Made write_sub_callers handle non-hash-ref entries in the sub_callers_hv hash (just to make debugging test82-stress easier).
      adds  cead4db   Limitations docs: Two steps forward, one step back. Removed Scope::Upper unwind and substcont limitations which are now fixed. Added "Freed values in @_ may be mutated"
      adds  aa28f85   Moved t/test82-stress.t into xt directory
      adds  ecb10af   BEGIN's are now recorded as BEGIN at line to make them unique. (Been meaning to do this for ages - it makes a big difference.) Refactored parsing of line numbers from %DBsub values into a new sub.
      adds  aa656b2   Tweaked BEGIN at line test to cater for pre 5.8.9 and noted limitation in Changes.
      adds  20b7506   Noted in Limitations the lack of BEGIN/CHECK/INIT/END block calls for older perls.
      adds  250bddb   Added a DATA COLLECTION AND INTERPRETATION section to the docs. Just covers "Calls from XSUBs and Opcodes" for now.
      adds  9257a57   Added recommended perl version info to docs. Removed micro char likely to cause encoding issues
      adds  215996c   Fixed "Total Time" in reports to be sanely formatted.
      adds  3f64bb9   Fixed avg/call time shown for subs called recursively. Added recitime.
      adds  5478109   Don't build an unusable treemap if JSON::Any not install. Give reader a hint.
      adds  3ab63e6   Actually add an entry to the fid mapping table when a given file is seen again. Map the fid before checking the %seen_subs lookup table. confess() if no fid mapping is found, when one is expected.
      adds  f54cf8c   In addition to the regular fid mapping, track the mapping if fids for all evals at the same point in different files are mapped to the same fids. This allows the code to avoid issuing duplicated SUB_INFO sections when an eval is used to define a subroutine.
      adds  bdc4225   Need to map the fids for TIME_BLOCK and TIME_LINE
      adds  97008cb   Track where related evals in different files (re)define the same subroutine, and ensure that the profiling results are merged for these cases.
      adds  b2999c8   Cop out of binding a key to move up a level in the treemap - just tell users to reload the page.
      adds  bc67198   There comes a time when you've just gott'a call it "Done!"
      adds  402c16a   Added documentation to nytprofcg.  Minor updates to nytprofcsv documentation.
      adds  6353710   Fixed version number in nytprofmerge. Added documentation to nytprofmerge RT#53098
      adds  1efb86a   Fixed typos in docs thanks to Jonathan Yu. RT#53146
      adds  824da8f   Removed use of vfscanf (which broke on windows) http://www.nntp.perl.org/group/perl.cpan.testers/2009/12/msg6592296.html
      adds  2ff59c2   Removed some stray tabs from FileHandle.xs. Simplified the (outdated and inaccurate) header text to refer to NYTProf.pm
      adds  e16bef8   Updated NYTProf docs, including noting major contributors, and referencing nytprofmerge.
      adds  63584bd   3.01, as released (forgot to check this in - D'oh!)
      adds  a5b8926   Tweak t/42-global.t to shed light on http://www.nntp.perl.org/group/perl.cpan.testers/2009/12/msg6603296.html
      adds  bc9145a   Include more %Config details in t/00-load.t output (re http://www.nntp.perl.org/group/perl.cpan.testers/2009/12/msg6603296.html) Updated NYTProf docs to include a note about timing on Windows.
      adds  5a1a938   Added docs section on making NYTProf faster. Added links re clock_gettime clone for OS X into HACKING.
      adds  162b62d   Changed subroutine profiler to be slightly more efficient. (Even a simple sprintf is surprisingly expensive.)
      adds  f8a823f   Added high-resolution (100ns) timer for Mac OS X thanks to Markus Peter.
      adds  299bada   Fixed minor typo. Tweaked whitespace.
      adds  6529e01   Fixed handling of usecputime=1 option. (Fixed one problem but results are *10 on my mac. Still needs tests.)
      adds  d475e02   In pkg_fids_hv, use the SV type to track whether this is a new entry, and SvOK() [ie undef or not] to track whether we yet have a filename. Previously, SvTRUE() was used as the flag, which is computationally more expensive, and an empty string used as the tracker. However, the empty string was initialised by copying PL_sv_no, which would have the side effect of upgrading every SV to SVt_PVNV, which uses more memory than SVt_PV.
      adds  77bbdd0   Add a heuristic to detect and ignore subroutine entries in %DB::sub with illegal line ranges. This avoids XSUBs in DynaLoader sometimes erroneously being associated with modules that happen to add 'lvalue' attributes at BOOT: time.
      adds  d1732e2   Use sv_setpvs() instead of sv_setpv() when possible.
      adds  35490de   Avoid two possible "value computed is not used" warnings from the C compiler.
      adds  6e4cd09   A slightly tighter implementation normalize_eval_seqn(), which assumes that memchr() and memmove() are faster than C loops, and avoids moving strings if the edit leaves the string with the same length.
      adds  5524101   When iterating %DB::sub to find filenames for packages, skip over any entry where the "filename" is one generated by eval, or re_eval.
      adds  a1c0f46   We know the length of the text key of an attribute, so use it rather than relying on implicit strlen()s.
      adds  3e3d411   Change store_attrib_sv() to take the length of the key, as we always know it. This avoids the need to edit the string read from the file to '\0' terminate it.
      adds  f6f4bf6   Replacing strEQ() of "-" and "-e" with character based checks allows gcc to generate terser code.
      adds  4899ba3   The hashing code knows the lengths of the strings passed in, so can use memEQ() and memcpy().
      adds  663c89d   strtol() with a base of 0 is equivalent to the replaced code.
      adds  8ae0e4b   In fid_is_pmc(), use only 1 temporary SV, and avoid *printf format parsing.
      adds  7192f88   If src not available then pad with blank lines so at least the data will be shown. Updated Changes.
      adds  5070c99   Removed (old, undocumented) zero option.
      adds  e2811e6   Fix off-by-one in recent src-missing change
      adds  7ef57c3   Sub profiler doesn't consider usecputime so shoudn't use ticks_per_sec. Note the limitation in the docs. (Not worth fixing till clocks get abstracted.)
      adds  f6308c2   Swap from char pointers to char arrays to avoid two strlen()s on constants.
      adds  3298b5b   In incr_sub_inclusive_time(), copy a '\0' instead of explicitly writing one.
      adds  4b15c99   In incr_sub_inclusive_time(), avoid a strlen() by remembering a pointer to the end of the assembled string.
      adds  7b9b58a   strlen(src) is already known, so no need to re-compute it.
      adds  931cb67   In pp_subcall_profiler(), a "longhand" check for "DB" produces terser object code than a call to strcmp(). Also make the comparison with "_INIT" avoid a strcmp().
      adds  c8b0e4c   In append_linenum_to_begin(), avoid using *printf functions to build the sub's full name. The old code was specially sub-optimal because it used %s to interpolate the subroutine's name, for a code path where the subroutine's name was always "BEGIN".
      adds  59f98b2   In append_linenum_to_begin(), avoid making 2 identical calls to *printf() like formatting routines, by copying the result of the first call.
      adds  ddf0e54   Skip this test if perl was configured to disable .pmc files.
      adds  6c66622   Avoid calls to *printf functions when the string is fixed or known.
      adds  a42609d   Fix a bug in the FID folding in nytprofmerge.
      adds  8e0bd7c   Add a cache for CORE:$opname, to save repeatedly regenerating the same SVs.
      adds  275ce18   Use atoi() rather than SvUV() to get ticks_per_sec.
      adds  88c612e   When reading NYTP_TAG_ATTRIBUTE with a callback, assign directly to cb_args[2] rather than assigning to value_sv and then copying that SV's contents. As attr_hv is later discarded if there is a callback, don't waste effort setting it.
      adds  858af55   Fix an off-by-two error in normalize_eval_seqn() introduced by r1018.
      adds  51a2a65   Fix length calculation error if normalize_eval_seqn() finds a second eval pattern after editing a first with a sequence number with 2 or more digits.
      adds  c9ebc6b   Convert NYTProf_gets() to dynamically resize the read buffer, so that it can read arbitrary length attributes and comments.
      adds  94b2b8e   When merging, enforce identical profile file attributes where appropriate. Write out the minimum seen value for 'basetime', and concatenate 'application'.
      adds  11f503f   In the merged profile, count the number of times each program was profiled, rather than listing its name that many times. This makes for a more readable result when you're merging dozens of profiles.
      adds  8c54fd2   When merging, strip out the comment about "Compressed ... with zlib", as it's not true for the file we write.
      adds  7d1f045   Missing a space before 'and'.
      adds  4a6deed   Switch to using a typemap for Devel::NYTProf::FileHandle.
      adds  985ec40   Improve NYTP_gets() so that it will also work on compressed input streams.
      adds  456ec65   Add Devel::NYTProf::FileHandle::start_deflate.
      adds  52975a3   In nytprofmerge, enable deflation on output if the input files are deflated.
      adds  608a7b7   Added a test for RT#54600
      adds  976de51   Avoid tripping over $! bug http://rt.perl.org/rt3/Ticket/Display.html?id=72850
      adds  fc4d951   Better test for RT#54600
      adds  6b72933   Add casts and consts to get NYTProf to build (and pass tests) under g++.
      adds  485dc35   Convert char *s to const char *s to eliminate g++ deprecation warnings.
      adds  0cd7241   Add cast to remove g++ warning about mixing enums and non-enums in a conditional.
      adds  632044a   In load_profile_data_from_stream(), avoid calling sprintf() if we don't need the result because we're taking the callback code path.
      adds  158e823   Fix a bug in the regexp of r1048 - we weren't actually matching the comment.
      adds  86bff71   In load_profile_data_from_stream, in the time_line and time_block handler, merge the two places with conditional code to read block_line_num and sub_line_num into one.
      adds  366408a   load_profile_data_from_stream() was failing to free buffer.
      adds  e84a386   Don't profile goto \&sub if subr_entry_ix==0. Fixes RT#54600 (I suspect there could be other cases where the profiler didn't record entry to the sub that invokes the goto but subr_entry_ix!=0. In those cases the caller of the goto'd sub will appear to the most recently profiled caller.)
      adds  20c6fb3   Added cputime test
      adds  95bbdfb   Updated cputime time test to better identify when cputime is really measuring realtime (which it is on OS X at the moment)
      adds  d71180a   Ensure subprocess perl has same libs as us (e.g., if we were run with perl -Mblib)
      adds  227f2cb   Minor tweaks to test harness.
      adds  d913344   Rip out separate user & system cputime attributes as we're moving to a "take a single measurement" model at the moment (which may later, much later, get generalised into "select a list of clocks to use for this profile")
      adds  0a36bba   Implemented usecputime=1 support for subroutine profiler. Added 'conjectural terminology' re abstract clocks and measures.
      adds  08105de   Removed $fi->is_perl_std_lib and addressed the underlying need another way. Fixes RT#54204.
      adds  611d225   Fixed up log errors and compiler warnings from r1069.
      adds  ca6b468   Sort the sortable tables on-load so the sorted column gets a sort arrow. RT#47924
      adds  ddb56a8   Show "<- Index" backlink on all pages except the main index page.  Updated Changes.
      adds  1df1a01   Only show excl_time in treemap mouseover box if different to incl_time.
      adds  64fad7a   Prep for 3.02 (actually 3.01_90) release
      adds  75594e6   Restore file format compatibility with previous release..
      adds  560e948   Avoided repeat reads from DATA in t/42-global.t Made t/61-cputime.t more chatty and moved code to __DATA__
      adds  a50b38d   Use PL_clocktick instead of CLK_TCK http://www.cpantesters.org/cpan/report/6849702
      adds  0a59677   Make t/61-cputime more verbose, especially on freebsd re http://www.cpantesters.org/cpan/report/6854616
      adds  8b1ebb9   More refinements to shed light on freebsd test failures like http://www.cpantesters.org/cpan/report/6859183
      adds  da009d4   Fix Changes title (RT#54912) and tweak release details.
      adds  3905a49   Note that lvalue subroutines aren't profiled when using use_db_sub=1
      adds  00f6f45   Whitespace tweaks in NYTProf.xs. Show d_sysconf in t/00-load. Show ticks_per_sec in t/61-cputime.
      adds  9662975   Count system cpu time as well as user time in the loop in t/61-cputime.t. Allow a 1% error in the profiled CPU time.
      adds  bda1e92   Fix so $cpu1 on entry to foo() is accurate. (Test was failing on OS X with '0.39'>='0.396'. Maybe the * 0.99 for freebsd is no longer needed.)
      adds  4bfcd69   Update for _96 dev release - hopefully the last!
      adds  a797f09   Don't generate index-subs-incl.html as it's not needed or referenced. RT#54895
      adds  b5d1162   Added some notes re stub DB::sub sub.
      adds  95160a0   Added Makefile.PL options to control use of zlib/clock_gettime/machtime. Minor grammar tweak in NYTProf docs.
      adds  c1549fe   Removed Devel::NYTProf::PgPLPerl module. That's now a separate PostgreSQL::PLPerl::NYTProf distribution.
      adds  98c6c18   Made 'No file line range data for sub' warning less scary
      adds  12167ce   Make trace log for fids more informative
      adds  208f82f   Tweaked Changes for 3.02 release. (Sadly I only noticed this was needed just after the 3.02 release. Ho hum.)
      adds  2a47471   Pass the input file as an argument to read_int(), read_nv() and read_str().
      adds  5e8ac12   Abstract writing comments into NYTP_write_comment().
      adds  7185ea5   Add a wrapper for NYTP_write_comment and use it from nytprofmerge.
      adds  7feed72   Abstract writing string attribute values into NYTP_write_attribute_string().
      adds  e371276   Add a wrapper for NYTP_write_attribute_string and use it from nytprofmerge.
      adds  c257605   Abstract writing signed attribute values into NYTP_write_attribute_signed().
      adds  30ef375   Abstract writing unsigned attribute values into NYTP_write_attribute_unsigned().
      adds  59addce   Convert output_tag_int, output_nv and output_str to return the written count.
      adds  502faec   Abstract writing process start into NYTP_write_process_start().
      adds  6e597ba   Add a wrapper for NYTP_write_process_start and use it from nytprofmerge.
      adds  1fcf648   Abstract writing process end into NYTP_write_process_end().
      adds  14aca3b   Abstract writing a new file ID into NYTP_write_new_fid().
      adds  cc96a7a   Add a wrapper for NYTP_write_new_fid and use it from nytprofmerge.
      adds  d3870e0   Abstract writing profile times into NYTP_write_time_block() and NYTP_write_time_line().
      adds  734d2c8   Add wrappers for NYTP_write_time_block and NYTP_write_time_line, and use them from nytprofmerge.
      adds  ac70b34   Abstract writing sub info into NYTP_write_sub_info(), wrap it and use it nytprofmerge.
      adds  941593e   Convert output_uv_from_av() and output_nv_from_av() to uv_from_av() and uv_from_nv(), moving the output functionality outwards to their caller, write_sub_callers().
      adds  845d633   Avoid returning 0 from output_str() when successfully writing an empty string. The correct return value is 1, for the 1 octet used for the tag.
      adds  16e2bfa   Abstract writing sub caller info into NYTP_write_sub_callers().
      adds  56e66f1   Add a wrapper for NYTP_write_sub_callers and use it from nytprofmerge.
      adds  2589db8   Abstract writing source lines info into NYTP_write_src_line(), wrap it and use it from nytprofmerge.
      adds  191e161   Move output_tag_int(), output_nv() and output_str() to FileHandle.xs from NYTProf.xs, and make them static. Remove their prototypes from NYTProf.h.
      adds  dde6c79   Abstract writing a discount marker into NYTP_write_discount(), add a wrapper, and use it from nytprofmerge.
      adds  7e3b100   Abstract writing the file header into NYTP_write_header(), add a wrapper and use it from nytprofmerge.
      adds  50155d8   Add NYTP_start_deflate_write_tag_comment(), which abstracts writing out the comment with the compression details (only available in the XS code), the "start compression" tag, and starts compression. Use this from nytprofmerge, which removes the finale $out->write(...) call. Now the output file format is completely wrapped in XS.
      adds  fe8d971   Remove the XS wrappers for output_int(), output_nv() and output_str().
      adds  7de4cb6   Start to convert load_profile_data_from_stream() to callbacks, by creating a state structure, and moving discount handling to a new function load_discount_callback().
      adds  752907f   Move source line handling to a new function load_src_line_callback().
      adds  cb65a21   Move sub info handling to a new function load_sub_info_callback().
      adds  bf2ed5d   Move pid start handling into a new function load_pid_start_callback().
      adds  18b62ad   Move pid end handling into a new function load_pid_end_callback().
      adds  1146357   Move attribute handling into a new function load_attribute_callback().
      adds  35ca638   Move sub callers handling into a new function load_sub_callers_callback().
      adds  ba3429a   Move new fid handling into a new function load_new_fid_callback().
      adds  3a527df   Move time line and time block handling into a new function load_time_callback().
      adds  09f81c1   Start to break Perl callback handling out, by moving new fid callback processing into a new function load_perl_callback().
      adds  0b46258   Generalise the callback framework, and use it to also implement src line processing.
      adds  1b93f41   Move sub info processing into load_perl_callback().
      adds  f828e61   Move sub callers processing into load_perl_callback().
      adds  e5b736d   Move pid start processing into load_perl_callback().
      adds  a1093c9   Move pid end processing into load_perl_callback().
      adds  afef246   Move attribute processing into load_perl_callback().
      adds  6c00847   Move comment processing into load_perl_callback().
      adds  c706fce   Move discount and start deflate processing into load_perl_callback().
      adds  1dff089   Move time block and time line processing into load_perl_callback().
      adds  8d5e76f   Move file version processing into the load_perl_callback(). It isn't actually a file tag, but the code is simpler if it is treated as one.
      adds  828c4af   Move cb_args into the (unified) state structure. Build strings for all tags for the Perl callback ahead of time, and store them in the state structure.
      adds  855c759   Convert load_time_callback() to take an enum tag, rather than a raw char.
      adds  7b219fb   Convert all the loader callback functions to take an enum for the tag immediately after the state. This makes them all identical, and identical to load_perl_callback().
      adds  780b1be   Move input_chunk_seqn into the loader state. As it is the only thing that the callback driver needs to access, rework the loader state as Loader_state_base (containing just it), and Loader_state_merged, which is the state as needed by both families of callbacks. All the callback functions need to take a Loader_state_base as their first argument now.
      adds  a66a52a   Convert all loader tag processing to table driven callbacks.
      adds  445db6f   Move input_chunk_seqn_sv into Loader_state_merged;
      adds  5554aac   Split apart profile loading into load_profile_to_hv() and load_profile_to_callback(), with Loader_state_merged split into Loader_state_profiler and Loader_state_callback. This makes load_profile_data_from_stream() totally callback agnostic.
      adds  c3d0835   Pass the input file handle from load_profile_data_from_file() down into load_profile_to_callback(), load_profile_to_hv(), and load_profile_data_from_stream(). Eliminate the static variable 'in';
      adds  72e9a01   If a callback is passed, move the validity check on the type of reference from pp_entersub (in the core) out to load_profile_to_callback. This allows us to dereference the passed in reference once, and store the CV in Loader_state_callback, avoiding a check and dereference on every callback call.
      adds  9a084b9   Move callback type checking into load_profile_to_callback().
      adds  88c1307   Convert nytprofmerge to using Devel::NYTProf::Data->new() directly, instead of calling Devel::NYTProf::ReadStream::for_chunks().
      adds  a3d9cda   Allow the callback to load_profile_data_from_file() to also be a hash reference. For a hash reference, the tag name is looked up, with the value being a callback subroutine to dispatch to. If there is no entry for the tag, a lookup is made with an empty string key for a default subroutine. If there is no default, then no callback is made for that tag.
      adds  0bac7ce   No need to set $. to 0 in load_profile_to_callback(), as it's always set in load_perl_callback() before calling into Perl space.
      adds  30348a2   NYTP_start_deflate_write_tag_comment() needs to be wrapped with #ifdef HAS_ZLIB
      adds  84528c8   In the BOOT: section, replace the long run of calls to newCONSTSUB() that set IV constants with a loop iterating over structure containing the constants and their names. This reduces the object size by about 2K (gcc, x86, -Os).
      adds  b185a58   Replace if (FILE_STATE(ifile) != NYTP_FILE_STDIO) with CROAK_IF_NOT_STDIO(...)
      adds  04b0ace   Prep for dev release. Bumped version. Added Changes.
      adds  82d4fc4   Perl built with the -DUSE_SITECUSTOMIZE option will execute an additional BEGIN block during initialization that will define the additional main::BEGIN at 0 sub.
      adds  9dafa86   Fix type inconsistencies
      adds  f987a56   Add casts for 32/64 bit mismatches
      adds  1d71e1c   More 32/64-bit adjustments
      adds  0131ad1   Credit where it's due. Thanks Jan.
      adds  f152a54   Reverted r1158. More general approach to follow.
      adds  603b96b   Added skip_sitecustomize option to profile_this() and used it in tests.
      adds  0bea99b   Added test t/70-subname using Sub::Name. Tweaked t/61-cputime to be less verbose.
      adds  63d355d   Added mechanism to help test if NYTProf.xs saves/restores errno (re t/50-errno.t)
      adds  ad33863   Tweak log levels of some messages
      adds  cbc3939   XSUB.h is supposed to redefine fgets under PERL_IMPLICIT_SYS, but doesn't
      adds  bf2634f   Added Devel::NYTProf::Test::set_errno and used as probe in t/50-errno.t.
      adds  8a3c158   Using SQLite for reporting on profile data might be a good direction...
      adds  8629590   Tweak Changes for another dev release
      adds  2e644e9   Updated HACKING file in various directions.
      adds  c91bfea   There shall be only one plan per test file
      adds  7ff0c41   Need string form of eval() to defer execution of use() until runtime
      adds  b82e40c   Enabled savesrc=1 by default. Made 'read string' log less noisy. Tweaked some code indentation.
      adds  43daae8   Tweaked some trace levels
      adds  0b851e4   Added evals=N option as part of ongoing work on string evals. Added NYTP_*i_elements for NYTP_FIDi NYTP_SIi and NYTP_SCi.
      adds  d6f09fe   Significant changes to support profile reporting on string evals.
      adds  6efc7d8   Corrected typos in nytprofhtml docs thanks to chocolate at cpan.org
      adds  82ab8be   Some more nails in the coffin of ::Reader.
      adds  c1ca9c8   Skip sequences of blank lines. (It turns out that perl doesn't save chunks of POD into the internal array that savesrc uses. So pod chunks leave big ugly blank sections of reports. They're now collapsed into a single line with "- -" as the line number.) More ::Reader reductions. Don't show file-has-been-modified warning if using savesrc.
      adds  47a4788   More major work on string eval support. This is now working well in the ideal simple case (a modern perl version with NYTPROF_TEST_ONE=1). Needs assorted polishing of rough edges/cases.  For example, code that does thousands of evals will generate many thousands of html files. Needs: - Handle savesrc being off and/or old perl versions. - Merge eval calls from a given line that have identical src - Perhaps add option to merge evals that don't define subs. The data mod [...]
      adds  fc2d59a   Make incomplete profile message more consistent and add more details to the docs.
      adds  482a389   Added docs about POSIX::_exit
      adds  9418d3a   Assorted work towards string eval support plus collateral tweaks. new() now returns undef when using callbacks. ::SubInfo normalize_for_test normalizes the sub caller line number for calls from AutoLoader and Exporter. FileInfo's can be 'nullified' to make them vanish. Tests pass, though there are some stray debug warns lying around still.
      adds  1926f3a   Fix ::Reader handling of subdef_info and cleanup the code. Write html report from 'perl t/foo.t --open' to /tmp so it's not auto-deleted.
      adds  e613c7d   Added collapsing of 'uninteresting' sibling string evals. Instead of deleting all the evals, one becomes a merge of the others.
      adds  6295876   Delete /tmp/ report dir contents before writing new one from .t --open Made t/test09.p usefully slower. Added note to HACKING re using sub profiler to time string evals, plus adding meta data to csv output to aid testing. Added cache method to FileInfo to complement meta. Changed _sum_of_line_time_data to only use line-level times as a fix for handling evals. Assorted reporting polish.
      adds  e445037   More work on merging of string evals, including editing of sub called-by data (which we have to do else limited merging wouldn't be viable due to calls to slowops etc).
      adds  00fa46c   Make eval dump info more descrptive. Sync golden test results
      adds  dae8740   Refine collapsing of evals to be more useful more often. Fix reporting of xsub timings that got broken along the way. Add separator line between main source code and xsub listing. Fix blank line skipping to not skip past lines that are blank (e.g., because we don't have source) but do have data to be reported. Fix html document title that got broken along the way.
      adds  c5fc586   Delete some old code.  Disable some debugging.
      adds  92034f6   Added automatic detection of calls to POSIX::_exit() by the sub profiler so finish_profile() gets called and a usable profile is produced. Added posix_exit=1 option to do the same thing (in a different way) when the sub profiler is not beeing used (i.e., subs=0).
      adds  1f5480a   Prep for an alpha dev release
      adds  6ea79f0   Add a pointer cast to restore building with a C++ compiler.
      adds  ffcfbf7   Fix grammar error.
      adds  ad5c560   Make t/10-run.t less likely to fail due to low resolution clocks. Allow t/lib/NYTProfTest.pm to find scripts in bin if blib doesn't exist.
      adds  4a7122b   Assorted refactorings and cleanup.
      adds  bd9d1fb   More string eval related polishing.
      adds  67b16fe   Added docs and tests for string eval collapsing. Assorted related code polishing.
      adds  f14a535   Fix warning: comparison is always false due to limited range of data type
      adds  2fb9667   Avoid dying when merging evals if any have no line_time_data.
      adds  f0109f9   Write compression details comment on one line at end of file.
      adds  790b520   Made it easy to disable run-time MULTIPLICITY sanity check if needed. Tweaked statement profiler trace and indented it. Tweaked some other trace output to add some more details.
      adds  4e4bc59   Ignore 0's in calculate_median_absolute_deviation of file table on index page. Fix 'unaccounted for' note on Total line of file table to no longer blame string evals for any imbalance. Be less sensitive about time imbalances.
      adds  87fb2e2   Restore sorting of jump-to-filename drop-down.
      adds  a442854   Added parent filename to collapsing-sibling-evals trace message.
      adds  3c6a772   Finally worked out the secret to profiling mod_perl2 vhosts that use +Parent or +Clone.
      adds  5b315e7   No longer normalise eval sequence numbers to 0 on loading a profile. Normalise to 0 when dumping data for (most) tests. Tweak wording of negative time warnings. Use perl -f in NYTProfTest to skip sitecustomize.pl. Updated and reorganized Changes file entry.
      adds  f31258c   Update docs for savesrc option and string eval processing. Tweaks to HACKING.
      adds  5819afc   Only use perl -f when it's valid. Tweak HACKING.
      adds  0f3555d   Factor out handling of $this_perl and usesitecustomize -f into new perl_command_words sub.
      adds  97d5f5a   I'd missed another place where eval sequence numbers were normalized.
      adds  a39e646   Added CXt_LOOP to cx_block_type and the ability to show the int value for unknown types.
      adds  2e1401d   Changed test24-strevalc.p so it's not sensitive to the leave option.
      adds  305af6a   #ifdef'd CXt_LOOP and added a comment. Removed a stray debug warn.
      adds  f1a1cf3   Tweak to be more likely to get a diff from test errors on windows (eg http://www.cpantesters.org/cpan/report/7210232 )
      adds  e95bc80   Don't bother checking for >0 time for t/10-run.t as it's not reliable. Also restore its role as a regression test for RT#50851
      adds  426abcb   Avoid compiler warning
      adds  b1294f5   Oops, forgot to static the buffer in cx_block_type()
      adds  1d8f6b9   Fixed rec_depth in callbacks to be unsigned int not UV (which broke sub_caller callback on 64bit platforms). I only noticed it because of an uninit warning in http://www.cpantesters.org/cpan/report/7211002. Added tests.
      adds  e1407fc   Another thought for HACKING
      adds  1d6fb7c   Allow heuristic that handles assignment of xsubs to source files to consider string evals (but still prefer non-evals is any). Only set NYTP_FIDf_HAS_SRC if GvAV(gv_fetchfile_flags()) is not empty. Bail out of looking for a cop earlier - it never worked well. Tweaked trace levels, again. Fixed href_to_sub to handle xsubs in a more useful way.
      adds  23fdd68   Tweak trace level. Don't give 'already associated with package' message if the alternative is an eval.
      adds  cd89f57   Add way to disable 'extra tests'.
      adds  9fefea9   Hack test to make stable across different option settings. Major kudos to anyone who can workout why this change: -eval "sub sub$_ { 1 }; 1;1;" for (1..10); +eval "sub sub$_ { 1 }; 1;" for (1..10); makes the test fail (for some option settings). Something strange seems to happen with sub8! I'm using v5.12.1-RC1.
      adds  3b88b06   Push the call to finish_profile() onto the END of PL_endav at END time, rather than INIT time. This makes it even more likely to be called last.
      adds  0e07ba0   Run finish_profile() from CHECK, not END when perl is invoked with -c.
      adds  c133394   Multiple BEGINs (e.g., use) on the same line get distinct names
      adds  8027ff2   Tweaked 'sibling evals' trace message.
      adds  e766fdf   Uh. Still battling mod_perl2 PerlOptions +Parent issues.
      adds  420a9d2   Avoid segv with mod_perl2. Not sure of root cause but removing the needless END in Devel/NYTProf/Apache.pm. Vivify PL_*av before use. Added code to call finish_profile immediarely from CHECK/END if desired. No longer uses old _finish alias for finish_profile in Devel/NYTProf/Apache.pm.
      adds  7133932   Include app name in title of index page.
      adds  12d0c54   Set endatexit and addpid options in Apache.pm.
      adds  987183f   Update Changes and add item to Troubleshooting section.
      adds  d0ccaba   Added explicit NYTP_FIDf_IS_EVAL flag. Use filename_is_eval() where appropriate. Added fid flags to 'has unknown invoking fid' warning.
      adds  1c49a5a   Moved subs_defined_in_file(subs_defined_in_file=1) logic into new subs_defined_in_file_by_line method. Changed srclines_array to never invent dummy src lines (eg NYTP_FIDf_IS_FAKE) For files with no source ::Reader now sufficient generates blank lines to cover the profile data.
      adds  c315d83   Add note about DBI's xsub call optimization
      adds  4184e6a   Fix filename_is_eval to allow "(eval N)" and not require the trailing "[...]" Sync tests after recent changes.
      adds  fdc1aad   Add more detail of NYTPROF setting combinations when tests fail.
      adds  bcceeb2   Tweaked index page html title and Changes file.
      adds  ddbab85   Drop unneeded trace message
      adds  a4408ad   Shuffle order that NYTPROF option combinations are tested.
      adds  63f3577   Dodge option sensitivity in t/test51-enable by avoiding string evals.
      adds  7c87e87   Better handling of profile data for line 0 (ie data that we couldn't associate with a line). Now shows up as an extra first line of the report.
      adds  56b27cd   Assorted trace tweaks.
      adds  9f23761   Fix and simplify padding of source lines
      adds  9e85ffa   Optimize fmt_fid_flags.
      adds  ed56181   More thoughts for HACKING
      adds  88c40d7   Added NEED_my_strlcat
      adds  2c4e5bb   Move subs that were called but have no filename (eg xsubs in packages that don't have any profiled perl code) and assign them to fid 1 (typically the main script).
      adds  96d033d   Prep for 4.00, finally!
      adds  7f6b0c6   Disable some stray debug.
      adds  f8adf0b   Make the xen warnings stand out more.
      adds  1c71316   Note what still needs doing
      adds  6a5fda6   Restore use of normalize_eval_seqn for subs (ie anon) but not filenames (ie eval).
      adds  7086a17   Update Devel::NYTProf::ReadStream to describe only version 4.0 of the file format.
      adds  b7cace7   Make subinfo dump (a little) easier to read
      adds  3d754fb   Remove two "spare" NVs from the sub_callers entries in the profile file.
      adds  48cdf2a   Remove the "extra items" count the sub_info entries in the profile file.
      adds  c8b94c5   Remove $eval_fid and $eval_line from the callbacks for time_block and time_line.
      adds  6d6b552   Revert to disabling normalizing eval numbers - subs much be kept distinct and merged later.
      adds  41398f0   Allow collapse of sibling evals that have sub definitions (will only happen within a group that has identical src_digest which means the src really is identical, in which case the src of the subs will also be, or there's no src code, in which case we don't mind merging subs because the report for that fid will be fairly useless anyway). What's missing now is renaming of ANON subs. All this stuff is way too painful :(
      adds  f93482b   Bump NYTP_FILE_MAJOR_VERSION
      adds  f97a480   Fix the data format version check
      adds  a6ca6c8   Revert to disabling normalizing eval numbers - subs much be kept distinct and merged later.
      adds  d0b0280   Updated Changes, noted outstanding issues. Added item to HACKING.
      adds  6a54f11   This now, finally, seems to do-the-right-thing for e.g. anon-subs that get merged when the string evals that create them get merged. NYTProf data model hacking is beyond painful! On the plus side, a profile of perlcritic is now usable because the thousands of string evals defining anon subs in PPI::Node::_wanted, now get collapsed into just a few different evals that have distinct source code (4196->4 in my case), and the thousands of anon subs also get collapsed (to [...]
      adds  baef436   Remove code for old 'merged subs have array of names' logic. Simplify some other code.
      adds  a52d4ad   Change some counters from int to UV.
      adds  fa57edc   Add failing test showing problem with eval/anon merging.
      adds  115a92a   Extensions to other tests
      adds  2a8ce1d   Limit impact on reports from outstanding eval/anon merge bug. Make it easier to disable graph generation.
      adds  f831d54   Add Devel::NYTProf::Util::trace_level function.
      adds  b8a7ba6   Replate $trace env var hack with new trace_level function.
      adds  cefe2ea   Fix test count.
      adds  1a28d8e   Finally escaped the eval/anon merging tar-pit by giving subinfo and fileinfo their own copies of the subcallinfo data instead of sharing the same one! That's a tiny change in NYTProf.xs. The rest of this is collateral hacking.
      adds  d2fa58c   More notes re "Unable to determine line number" from 'preamble' in toke.c
      adds  9f89fe4   Bump the PL_scopestack_ix fudge for the "Unable to determine line number" warning. (I guess 5.12 has a slightly higher PL_scopestack_ix)
      adds  5037fcc   Add $fi->sibling_evals method and use to improve report output. Including generating links to 'sibling evals'. Fix compiled warning.
      adds  42c2623   Document collapsing of anon subs
      adds  8889118   Fix case where eval has both merged and unmerged siblings. Improve presentation of 'times include %d call%s to %d sub%s defined herein'
      adds  2760937   Use 'merge' in docs instead of 'collapse' to be consistent with the reports.
      adds  8879fb8   Add note to subs that have been merged
      adds  f4b7405   Doc updates, including link to updated example report.
      adds  c265397   Only run mk_report_separator_line is there's something to follow. Indent "includes %s spent executing %d call%s to %d sub%s defined therein"
      adds  2c458e5   Added --minimal option to nytprofhtml to disable generation of graphviz .dot files and block/sub-level statement report files.
      adds  3b11144   Abort with more information when a cryptic death is forseen.
      adds  402026f   Don't write a fake src line for "perl -e '...'" and "perl -" when src isn't available. Mark them as NYTP_FIDf_IS_EVAL (but without an eval_fid). Tweak Reader to generate a useful message instead of "Unable to open -e"
      adds  ef4cb0f   Note some missing changes and credit Nicholas Clark
      adds  be79c61   Fix test to expect srclines_array to return undef when '-' file has no src.
      adds  561b70f   Fix links from block and sub level reports to evals to only use line level. RT#58284
      adds  d91e8db   Clarify perl version requirements for seeing eval source code. RT#58283
      adds  5278b42   Don't require VERSION number sync on so many modules.
      adds  bf391f7   Bump version to 4.01.  Restore ordering of line-block-sub links on index page.
      adds  9c0fee8   Fix (silly) performance problem in $fi->evals_by_line
      adds  dbeccd2   Fix typo and tweak docs re performance.
      adds  de73378   Remove old code to handle merged subs that had array refs as names. Make low trace levels less noisy for nytprofhtml
      adds  eadd474   Add extra message to distinguish raw loading (Reading) with collapsing evals etc (Processing).
      adds  dabe9b0   Fix nytprofhtml --profself option.
      adds  3e88c53   Tweak trace levels for reporting.
      adds  ca5ee41   More trace level tweaking
      adds  0e0b089   Add cache to make_path_strip_editor()
      adds  2e9f2f0   Added progress reporting to report generation
      adds  37706ec   Delete old script that's superceeded by nytprofheml --profself
      adds  c217d0a   Use simpler scheme for progres indication (CR instead of BS).
      adds  e1a8005   Bump version.
      adds  29ae679   For subs that recurse, show max depth and time in subroutine table.
      adds  0eaed71   Move deletion of donor evals from parent to after the donors loop. Massive speed improvement where there are many (thousands) of siblings.
      adds  dae5dce   Make percentage progress fixed width
      adds  4e86de8   Update Changes
      adds  96eba5c   Bump version to 4.03
      adds  3711d27   Flush trace log messages immediately
      adds  f240555   Pre-extend PL_endav to reduce risk of crashes in apps that don't handle PL_endav carefully, like mod_perl.
      adds  17aba9d   Start distilling various bits of info on memory profiling into a handy reference for the future.
      adds  8364c6c   Updates to MemoryProfiling.pod, including links to email threads.
      adds  89ecfc0   Add $& to a couple of test files so we can test detection of PL_sawampersand
      adds  3c48199   Profile records presence of the slow regex match vars ($& $' $`). (not included in reports yet)
      adds  c20cc15   Flag the file on the index page in which we first saw the slow match variables.
      adds  7421d6d   Add flag to fileinfo_of to avoid warning on undef arg.
      adds  3fea779   In collapse_sibling evals, update sawampersand_fid if it's one of the now-dead donors Remove some old code.
      adds  d0af0a9   Add clear NOTE to the report for the sawampersand_fid explaining the issue. Higlight appropriate file on index page even if sawampersand_fid is an eval fid.
      adds  b9541fb   The cumulative inclusive time measured for subs that are involved in recursion is now reported as 'recursion: ... sum of overlapping time'. I'm not sure there are any useful use-cases for that number anyway, but at least the overlapping nature of the measure is more clear.
      adds  09348e1   Prep for release. Bump versions. Update Changes. Move some items to HACKING.
      adds  5090ea5   add exta link to memory profiling doc
      adds  70112d0   Fix typos in the Changes file.
      adds  e418d53   Tweak Changes for release.
      adds  ecb8336   Mention B::Lint module (Devel::FindAmpersand "doesn’t work with a threaded perl").
      adds  eb0e636   Be more liberal in assuming automated testing (and lax max timing).
      adds  d09d912   Tweak max allowed cputime. re http://www.cpantesters.org/cpan/report/aa06dfea-8f19-11df-a1aa-55996e8696e0
      adds  6d92142   Fix some compiler warnings http://www.cpantesters.org/cpan/report/aa06dfea-8f19-11df-a1aa-55996e8696e0
      adds  f73e603   Add more items to HACKING and a comment in demo/demo-code.pl
      adds  005f417   Added to HACKING: The subroutine profiler spends a lot of its time allocating the two calle[rd]_subname_sv SVs in subr_entry_setup and freeing them in subr_entry_destroy. If, instead of freeing the SVs they were chained into a freelist that subr_entry_setup could pull from, we'd get a significant boost in performance for the subroutine profiler.
      adds  52c0cf0   Bump noisy log output, when reading a profile, up to a higher trace levels.
      adds  3ee3e17   Protect against bad line numbers (eg -1 being treated as 4294967295) hanging report generation.
      adds  be2989b   Detect bad line numbers (-1 stored as unsigned) in sub caller data.
      adds  b850227   Add $SIG{USR2} = \&Carp::cluck; as handy way to see what's happening when nytprofhtml is sucking cpu for a long time.
      adds  e4526a1   Make 'file not found' messages related to Moose more self-explanatory.
      adds  a80543f   Prep for 4.05 release.
      adds  75e8d04   fix t/10-run.t for bleadperl ac56e7d
      adds  fc685a9   fix t/test08.t for bleadperl ac56e7d
      adds  1ab941f   fix t/test09.t for bleadperl ac56e7d
      adds  0417a0f   fix t/test23-strevall.t for bleadperl ac56e7d
      adds  9368856   fix t/test20-streval.t and t/test50-disable.t for bleadperl ac56e7d
      adds  0db6c81   Fix t/test61-submerge.t for bleadperl ac56e7d. The last one. Yeah!
      adds  410ef9f   Prep for Devel-NYTProf-4.04_71 dev release
      adds  3f6c6f0   Add Devel::NYTProf::Test::ticks_for_usleep($usec) to help test clocks
      adds  dad158d   Factor out clock initialization and ensure init'd from ticks_for_usleep.
      adds  fed9919   Preliminary reworking of statement time i/o
      adds  2ede1c0   Convert 'unsigned int's to U32's to be explicit. Rename output*_int() to output*_u32() to be explicit.
      adds  ca6f8ce   Move read_nv into FileHandle.xs Move read_int into FileHandle.xs and rename to read_u32.
      adds  e6ac11f   Add workaround for some cpantesters failures.
      adds  3c3819c   Prep for dev release
      adds  741e84a   Fix for sign issues on 64 bit systems.
      adds  30361cf   Add signed int i/o. Support signed tick counts for statements.
      adds  3cced57   Clarify the docs re clocks
      adds  9fcbd12   Added experimental BSD::Resource usage tracking
      adds  f1b9caf   clarify basic docs and add a link to a screencast to help initial users
      adds  00de88f   clarify error when unable to open profile file for writing
      adds  17330f2   Added note to the docs re profiling applications that use Coro
      adds  b39be26   Clarified usecputime=1 docs
      adds  4001361   Add exit status to error message. May shed light on http://www.cpantesters.org/cpan/report/f3028c56-c89b-11df-abb6-b9df888ae478
      adds  4186228   No need for exclamation in "out of sync with source" warning
      adds  c588dfe   add underscore to private function
      adds  398bdd4   Updates tests for new functionality in Sub::Name 0.06 (assuming the relevant Sub::Name patch is applied)
      adds  f33e3d0   fix test count
      adds  a627ad4   Improve trace messages related to associating packages with files
      adds  661a1bf   Add preliminary (incomplete) test files for #line handling and Moose.
      adds  f051f75   remove unused import
      adds  dda4ed4   Improve handling of Class::MOP/Moose generated methods. A useful step in the right direction. Also avoids filename length problems caused by old behaviour that would prepend the cwd to non-absolute names that didn't seem to be evals.
      adds  e80f4dc   Improve handling of embedded filenames, e.g., "(eval N)[$path]"
      adds  04ebb0d   Polish up handling of htmlopen option
      adds  d03f012   grumble about undef source lines
      adds  c784707   reduce trace level for per-file messages related to src code
      adds  f0e4737   Fix portability of pkg_name_len() to old perl versions
      adds  3d0d372   Doc tweaks, mainly to the MAKING NYTPROF FASTER section.
      adds  3064ec7   Tone down and update Testing details and add note about treating require as a slowop
      adds  7495c93   Added notes in HACKING re a start=begin option and a way to ignore CORE:accept time
      adds  422dd1c   Make html option use the perl that's in the path
      adds  7811d32   Make t/68-hashline.t a developer only test for now
      adds  d947bfb   Make stmt and leave trace messages more informative. Add some (very limited) support for CxMULTICALL.
      adds  3db833a   Minor tweaks to t/71-moose.t
      adds  911b546   Added "If Statement and Subroutine Timings Don't Match" and "If Headline Subroutine Timings Don't Match the Called Subs" sections to the DATA COLLECTION AND INTERPRETATION docs.
      adds  f3982e7   Note goto &sub (and thus AUTOLOAD and Memoize) as a cause of sub timing discrepancies
      adds  715959e   Added --no-mergeevals option
      adds  995814a   Minor tweak to ordering of fmt_time logic
      adds  44b81bf   Fix skip_collapse_evals
      adds  2cf1f17   Update tests to be less sensitive to upcoming bleadperl changes
      adds  206376d   Avoid undef warnings for lines with no time/call stats
      adds  b1f7ead   Some tweaks to HACKING
      adds  a842f75   Avoid nytprofhtml failure due to over-long filenames RT#62319
      adds  9d372bc   Added NYTP_write_attribute_nv()
      adds  3b2b7ea   Added special handling for the perl built-in accept() Effectively the clock stops ticking while in accept(). This makes profiles of pure-perl web servers more useful.
      adds  7c51c6e   Sync tests.
      adds  864608f   Document the special behaviour of accept()
      adds  d2c2615   prep for release
      adds  5dfeeba   Silence compiler warnings
      adds  44d9e0f   Document removal of empty statements in 5.13.7+
      adds  a88f831   Disable the new initial CxMULTICALL support, and fix probable cause of segv on OpenBSD
      adds  2f67f7a   Prep for release
      adds  dffa2d0   #ifdef works on symbols, not expressions
      adds  3d1a950   minor edge case debug tweak for confusing CVs
      adds  cd7a306   Added and clarified some notes in the troubleshooting docs
      adds  8e0b56c   Fixed html generation to be valid RT70207 (H.Merijn Brand).
      adds  ce0563f   add some links to MemoryProfiling.pod
      adds  0b24d93   Enable file=/dev/null to work as fix for RT74565
      adds  5568eb7   add basic check for Apache2::SizeLimit and update docs RT#75912
      adds  3b7c84a   add note re using hide_subr_call_time to hide things like FCGI::Accept
      adds  d64ed66   nytprofmerge no longer dies on some errors, RT#75918
      adds  2c748ae   nytprofmerge de-tab
      adds  583b1f8   sum cumulative_overhead_ticks in nytprofmerge RT#75909
      adds  bfe4ae6   nytprofmerge now gets in man page installed, RT#75911
      adds  4572709   Note Devel::NYTProf::Data is undocumented and why, RT#75914
      adds  3493de6   Added some TROUBLESHOOTING info
      adds  65cb263   Add --debug, add --open docs, use Browser::Open if available, rework related logic.
      adds  d466381   Added section on "subroutine calls had negative time" to TROUBLESHOOTING docs
      adds  7254437   Clarified docs re fork generating multiple files, RT#78873
      adds  0a04d24   add ptest target to Makefile as alias for prove
      adds  693f094   fix unused result compiler warnings
      adds  4c5ff76   add release date to Changes
      adds  d8e0a41   Fixed version numbers in nytprofhtml and nytprofmerge
      adds  2b7cc70   add note about flame graphs to HACKING file
      adds  e4ea08a   Bleadperl v5.17.3-252-gd3b9753 fix from David Mitchell.
      adds  fb7bc1c   Prep for 4.09 release.
      adds  683f5f7   Bumped VERSION
      adds  8971cfc   Corrected spelling thanks to Alessandro Ghedini @debian RT80370
      adds  5425f74   Fixed to work with perl v5.17+, specifically string eval changes and hash randomization.
      adds  54a6031   fix unused var warning
      adds  6c310fc   Fixed so tests ignore sitecustomize.pl, RT#79784
      adds  6c153b3   clarify my (lack of) relationship to the NYT
      adds  28c6ef7   Fixed to sort tables with microsecond values in non-utf8 encodings, RT#77843
      adds  87ce4c8   Deprecate the usecputime=1 option
      adds  70a15e3   prep for 4.11 release
      adds  8648658   more prep for 4.11 release
      adds  e4aa4ed   add .gitignore
      adds  6c463c8   Fixed some doc typos thanks to Jesse Sheidlower.
      adds  6c0a46b   update MANIFEST.SKIP and MANIFEST
      adds  65fe170   add t/72-autodie.t
      adds  0225082   add devstuff/ dir that has random stuff that is not part of the distro, yet
      adds  8eea780   add a few more demo/* scripts that were not previously checked in
      adds  92cf961   tweak .gitignore
      adds  c133f3e   Removed usecputime=1 option. (Use clock=N instead if possible.)
      adds  f3852f0   Update MANIFEST for previous t/61-cputime.t move
      adds  7cf222a   add blib/ to .gitignore
      adds  5af263c   Fix stray non-ascii char in MemoryProfiling.pod
      adds  9fc9cea   Add =encoding to bin/nytprofhtml pod
      adds  7e5b60d   Fix the perl v5.17+ fix to do-the-right-thing for 5.17.4.
      adds  93c0c7c   remove now-unused struct tms start_ctime, end_ctime
      adds  8ccdbdc   Fix stray non-ascii char in MemoryProfiling.pod
      adds  24ee34e   Add =encoding to bin/nytprofhtml pod
      adds  074cb6b   Fix the perl v5.17+ fix to do-the-right-thing for 5.17.4.
      adds  fd0c1fb   Bump version to 4.12 and add Changes
      adds  9a92af0   Merge branch 'nytprof-4.12'
      adds  0561d11   Rename CLOCKS_PER_TICK to TICKS_PER_SEC
      adds  26f2e04   Use ticks_per_sec instead of TICKS_PER_SEC
      adds  cdba988   Replace cumulative_subr_secs with cumulative_subr_ticks. (First step of several)
      adds  c8aa416   Convert initial_subr_secs to initial_subr_ticks.
      adds  73d00f3   Convert called_sub_secs to called_sub_ticks.
      adds  9f2a2d0   Convert incl_subr_sec to incl_subr_ticks.
      adds  4c597d8   Convert excl_subr_sec to excl_subr_ticks
      adds  4ad682c   Completed switch from accumulating secs to ticks in the subroutine profiler.
      adds  5f6a6be   Improved nytprofmerge behaviour with inconsistent attributes.
      adds  c0d491a   Prep for 4.23
      adds  7995f24   minor tweaks to a few developer tests
      adds  71769e9   #if 0 a couple of unused funcs to silence warnings
      adds  c80fef3   Updated Makefile.PL to refer to github
      adds  a30116d   add .travis.yml for CI testing via github and travis-ci.org
      adds  94de09c   Update the README
      adds  024160a   Fixed tests to work with perl 5.17.7+ (PL_sawampersand gone)
      adds  6ea85ed   Further boost sub-profiler precision for POSIX and OSX clocks.
      adds  c8b5d08   Add travis-ci build status icon and link to README
      adds  c468949   Note extra precision for POSIX and OSX systems with sub-microsecond clocks.
      adds  0d48265   Loosen timing constraints (for slow cpantester VMs)
      adds  afb519e   Clarify sigexit option docs
      adds  3ea5389   Initial work adding sub entry and return events to the event stream
      adds  4abb490   Add some initial docs about the new call=1 option
      adds  541dae0   Add output and input handlers for sub entry and return data.
      adds  018add2   Add call=1 to testing variants. Make env_influence report smarter.
      adds  0680934   add note to t/test51-enable.x about need for more tests
      adds  065f421   Use calls=2 to get entry events. Add depth to return events.
      adds  6467746   Fix u2time clock (ie Time::HiRes, used by Windows).
      adds  2e12e9f   fixup MANIFEST
      adds  9a1b518   update .gitignore
      adds  028f8a5   merge Changes from v4 branch
      adds  a2c34e2   initial working nytprofcalls
      adds  8a0ed61   Squashed 'FlameGraph/' content from commit d9407a8
      adds  6a9d95a   Merge commit '8a0ed6170c6eae8f97b363d8b2a2fb6794b1bb41' as 'FlameGraph'
      adds  9f67e82   Add FlameGraph/... to MANIFEST
      adds  d16fc63   Cleanups for nytprofcalls
      adds  6ec4eb5   working but somewhat inefficient/bloated on big files
      adds  e018dda   first step towards reusing the hashtable code
      adds  40cf5af   another step towards reusing the hashtable code
      adds  234c6ad   another step towards reusing the hashtable code
      adds  bf88e6e   work in progress on nytprofcalls
      adds  3f416a5   Move next_fid into the hash struct as next_id. Make fidhash a struct again.
      adds  8949b25   Use entry_struct_size for allocation
      adds  fba51ac   Pass Hash_entry to hash_op() as a pointer
      adds  82f7004   Fix setting of prior_inserted on insert branch of hash_op
      adds  ead816a   add subname->id mapping to same some memory
      adds  e7ac66b   rewrite nytprofcalls to use sane efficient tree structure
      adds  44fa551   add an optimization and some stats
      adds  1f8bf3d   Adde tests for nytprofcalls
      adds  16cd1de   add nytprofcalls to Makefile.PL
      adds  9d52748   normalize string eval seqn in nytprofcalls
      adds  5c44f3a   tweak docs, comments, Changes
      adds  60fe3f9   Rework option handling slightly. Add option values to data file.
      adds  2e9a4c9   Complete work on adding options to data file and nytprofmerge
      adds  7ad8677   Initial flamegraph support for overall program.
      adds  9cebd39   Add caching to optimize url_for_file
      adds  e8971f6   update to latest flamegraph.pl
      adds  ec34812   Use new flamegraph.pl features, including clickable functions.
      adds  2816770   No longer warn about $& etc being slow if $] >= 5.017008.
      adds  ad3b7f9   Set calls=1 and blocks=0 by default
      adds  faea8ce   scale nytprofcalls output to (floating point) microseconds
      adds  ca84066   Fix nytprofmerge syntax error. Add SUB_ENTRY/SUB_RETURN.
      adds  091fc8e   Added visualization of the time spent outside of any subs.
      adds  253cbeb   quiet a test
      adds  bed3b2f   update flamegraph.pl
      adds  4ede3ef   rm FlameGraph
      adds  0f7b9b9   remove old FlameGraph repo from MANIFEST
      adds  989db18   Add Test::Differences to deps. Remove t/test14.calls
      adds  18038a6   Fixed test for perl 5.17+ hash randomization.
      adds  4d35d12   Tweak wording on index page.
      adds  aa36386   Use actual micro character (latin1).
      adds  2aa44ea   ensure exit with 0 status
      adds  1e62855   sync test with recent micro change
      adds  0c10248   Add sanity check to nytprofcalls and disable broken optimization.
      adds  191212a   bug fix for flamegraph.pl
      adds  4a1945c   tweak the tracing for sub call/return
      adds  7fb3792   Update Changes and HACKING
      adds  a5ce5fd   sync tests for nytprofcalls fix
      adds  e8a8a4f   Merge branch 'v5'
      adds  78d4a1d   update bin/flamegraph.pl
      adds  4d37299   use bin/flamegraph.pl --factor instead of floating microseconds
      adds  ecfa785   improve open/close logging and clarity profiler_duration calculation
      adds  25aa6d4   update bin/flamegraph.pl
      adds  7b013f8   include ticks_per_sec in init_profiler log msg
      adds  9cdea89   Use profiler_active not profiler_duration for flamegraph total
      adds  0b660db   refector hash structs to be reusable
      adds  704295d   Minor tidy up of hash structs. Added hash_stats() function and strhash table.
      adds  f8a439e   Pass key & len to hash_op instead of &entry. Add get_str_id.
      adds  fb69dcc   mark bin/nytprofcsv as deprecated
      adds  bb42b44   Tweak Devel::NYTProf docs.
      adds  ba1064c   Don't index SVG package in bin/flamegraph.pl
      adds  5b7d98a   Dump assorted notes into HACKING
      adds  9a453bf   add --no-flame option to nytprofhtml
      adds  6ec74de   Implement string ids to reduce output volume. Currently just for calls stream.
      adds  ef02d83   Merge remote-tracking branch 'origin/master'
      adds  4c55ca8   Use File::Spec->catfile() for portability
      adds  28d79ad   Merge branch 'pr/2'
      adds  72ae873   Update Changes.
      adds  95bed0a   Clean up the MANIFEST to silence missing file warnings for files usually generated by "perl Makefile.PL".
      adds  983f0c4   Silence some compiler warnings generated when compiling with Perl's that are compiled with a higher level of warnings.
      adds  c16f084   Have git ignore a few additional files created while building and testing the module.
      adds  f8977c4   Format the installation steps in the README.md
      adds  8aa6cac   Merge remote-tracking branch 'remotes/origin/pr/1'
      adds  75bc4b5   bump version to 5.00
      adds  4cd9599   update flamegraph to fix percentages
      adds  16961cf   Update MANIFEST
      adds  3ecd503   update flamegraph with text improvements
      adds  bf063b4   Fix memory leak reading sub call return events
      adds  ca91df4   Do proper tree merging in nytprofcalls for sane memory use.
      adds  ada54bc   Apply a little polish
      adds  e0f8b99   Prep Changes for 5.00 release.
      adds  818ac5b   Can't rely on #!-line to always work
      adds  45b044a   Merge pull request #3 from gisle/master
      adds  d8aa8b0   Avoid triggering "gcc internal compiler error"
      adds  264bac9   Merge pull request #4 from gisle/gcc-error
      adds  c603441   Update Changes
      adds  031eee6   Fix Windows build RT#84738.
      adds  4ead743   prep for 5.01 release
      adds  5797444   Fix Windows build, properly RT#84738.
      adds  6e53df1   Prep for 5.02 release.
      adds  c3fd210   ensure flamegraph.pl is called according to OS
      adds  6a1eab3   tell cpan about the repo
      adds  480abb1   Merge remote-tracking branch 'origin/pr/5'
      adds  0361263   Add meta robots noindex to html pages [Tokuhiro Matsuno]
      adds  cc3434e   Avoid uninit warning
      adds  040452b   bump VERSION for release
      adds  067edd9   Add "Other Tools" section to SEE ALSO with link to DTrace talk
      adds  8826d73   Document --minimal in nytprofhtml's POD
      adds  a43f24d   Merge pull request #7 from doherty/nytprofhtml-pod-minimal
      adds  89ff693   Merge branch 'master' of github.com:timbunce/devel-nytprof
      adds  7bd7804   Add libcexit=1 option thanks to Zefram RT#75912
      adds  e4efdf0   Add documentation for endatexit and libcexit options.
      adds  1d596bc   Mention nytprofhtml --minimal RT#86039 in Changes
      adds  926b562   Allow negative times in tests, thanks to Gisle Aas, RT#85556.
      adds  9362b1b   Prep for 5.04 release
      adds  7941a28   Fixed crash on "Can't use string as a subroutine ref" error, RT#86638
      adds  50258f1   typo fix
      adds  b2a2fa2   typo fixes
      adds  9f53490   typo fix
      adds  dc5535e   typo fix
      adds  8680b91   typo fix
      adds  5027093   typo fixes
      adds  5cf981f   typo fix
      adds  0b9b417   typo fix
      adds  844a348   typo fixes
      adds  7d10a52   Merge pull request #8 from dsteinbrunner/patch-2
      adds  5316e55   kill $Id$
      adds  9066dec   kill $Id$
      adds  436c7c9   kill $Id$
      adds  8285747   kill $Id$
      adds  002e82b   kill $Id$
      adds  af5e057   kill $Id$
      adds  13b20c8   kill $Id$
      adds  3ad69de   kill $Id$
      adds  ef79d10   kill $Id$
      adds  8115aa0   kill $Id$
      adds  f00fa07   kill $Id$
      adds  a7b6aa8   kill $Id$
      adds  fe3094d   kill $Id$
      adds  6cdacfa   kill $Id$
      adds  78d24c6   kill $Id$
      adds  f3a7883   kill $Id$
      adds  4c6899d   kill $Id$
      adds  32c1916   kill $Id$
      adds  c0d2e5a   kill $Id$ even more
      adds  11fa791   Merge pull request #9 from dsteinbrunner/patch-1
      adds  bc0d7d5   [doc] Devel::NYTProf needs to be loaded as early as possible
      adds  bbff166   Merge pull request #10 from moritz/master
      adds  1b69c47   Fixed crash with libcexit=1, thanks to Zefram. RT#86548
      adds  71ade08   Bump VERSION to 5.05
      adds  bfc9470   Update test90-strsubref.t for 5.18.x style error message
      adds  cd2668a   Update Changes. Tweak PR#10 doc change
      adds  fc22bc0   fixed META_MERGE
      adds  0cfc7b1   Merge pull request #12 from dsteinbrunner/patch-1
      adds  c4f3052   Update Changes for PR#12
      adds  9ce226f   Fixed for perl 5.19.4. RT#88288 thanks to sprout.
      adds  89746df   Fixed to no longer open a file when start=no. RT#87404.
      adds  4e31b29   Fixed compiler warnings. RT#86728 thanks to Alexander Bluhm.
      adds  8998ee0   Removed old benchmark.pl files. RT#86704.
      adds  f76f5bf   Bump version to 5.06
      adds  bf8aba4   I'd like to add timestamp suffix to  for file purge in production environment
      adds  021eb9a   Merge pull request #17 from zentooo/add_timestamp
      adds  32ff18a   Polished up addtimestamp option and interaction with addpid option.
      adds  23fb765   added printer for plat_forms style reports
      adds  3a949ff   added tests for plat_forms style printer
      adds  7cd6a91   added files to ignore
      adds  3b2e564   added printer for plat_forms style reports
      adds  59d9da7   removed Data::Dump dependency added nytprofpf to makefile wrote manpage documentation
      adds  261b176   - removed Data::Dump dependency
      adds  02345c5   Merge branch 'master' of https://github.com/holger-s/devel-nytprof
      adds  cd19812   removed extra test case for plat_forms
      adds  50f67e1   changed version back to 5.05
      adds  4289365   Merge branch 'master' of https://github.com/holger-s/devel-nytprof
      adds  91fba51   added tim's comments
      adds  19feffb   - removed extra platforms_tests
      adds  49b3dd6   - removed old tests
      adds  9f476b2   Merge branch 'master' of https://github.com/holger-s/devel-nytprof
      adds  4a831d0   - fixed test run
      adds  e032fb8   - bumped version to 5.06
      adds  3605091   Merge remote-tracking branch 'upstream/master'
      adds  fe1f5d7   - fixed test count to 2 for .pf files
      adds  2dbe7c6   Merge pull request #11 from holger-s/master
      adds  561c0cc   Tweak plat_form support merge and add Changes file note.
      adds  d8725de   Wrap $SIG{USR2} assignment in an eval for Windows
      adds  d1afff3   Avoid NV to IV cast for NYTP_OPTf_ADDTIMESTAMP
      adds  da2f761   Put quotes around env var values reported by t/lib/NYTProfTest.pm
      adds  110401d   Fix t/test02.pf to not require unix-style file paths
      adds  34f0cc2   update gitignore for Windows build products
      adds  0e52417   use PERL_NO_GET_CONTEXT everywhere
      adds  b6f609d   Fixed an '#if PERL_IMPLICIT_CONTEXT'.. Added link to explanatory comment. Added Changes.
      adds  7722b39   Add pf (platform) files to MANIFEST, plus .travis.yml
      adds  8230e3b   Fix to write platforms test files to the temporary test output directory
      adds  37547f6   Add perl 5.8, 5.18 and 5.19 to .travis.yml
      adds  0879ef3   Refactor some nytprofcalls internals. No functional changes.
      adds  297ecc5   Refactor Time::HiRes support so it can be enabled independently
      adds  de2eb57   reduce errno calls
      adds  cdfe7dc   Simplify diff_files() in t/lib/NYTProfTest.pm
      adds  f81b850   Better diagnostics for fileinfo_of('(eval 1)[-:1]') failure
      adds  5337607   Only run t/70-subname.t if Sub::Name 0.11 or later is installed.
      adds  8667c2f   Fixed link to screencast, thanks to Herwin. #19
      adds  cc50d97   Workaround travis cpanm issues eg https://travis-ci.org/timbunce/devel-nytprof/jobs/35285944
      adds  184bf5b   Improve .travis.yml
      adds  e54700a   Further tweaks to .travis.yml
      adds  8924094   Added hint to use --no-flame for big reports. #28. Added t/test02.pf.csv
      adds  fbc49b1   Further tweaks to .travis.yml
      adds  839ab0d   Fixed use of nytprofcalls and flamegraph scripts to not require PATH #21
      adds  b03293f   Fixed nytprofhtml --open for KDE4 thanks to HMBRAND RT#99080
      adds  b049a22   Fixed printf NV conversion compiler warnings thanks to zefram RT#91986
      adds  5ce7d29   Disabled optimize test25-strevalb.t if perl >= 5.20, perl RT#70211, #38
      adds  8ff6b62   Fix syntax of perl_rt70211 check in t/test25-strevalb.t
      adds  3a82a94   Typo in bin/nytprofhtml
      adds  a8c385e   Merge pull request #41 from wollmers/patch-1
      adds  b672c62   Fix so works when perl installed in directory with space
      adds  3139c45   Make bin/nytprofhtml work when perl in space
      adds  7ec4a46   Merge pull request #40 from mohawk2/testfix
      adds  62198c0   Allow sub name buffer size to be set at build time
      adds  cde5477   Update Changes.
      adds  71e3e56   Put sort block on one line due line numbering change in perl 5.21
      adds  2ecb271   Move tie tests into perl version specific variants
      adds  93454f9   Commit the missing skip_all left off previous commit
      adds  2c8f225   Install optional modules for better test coverage
      adds  8af7606   Don't fail due to failure to install optional prereqs
      adds  ca6660d   Preload some Moose prereqs to avoid travis-ci 60 sec timeout
      adds  640393e   Use travis_wait to workaround 'cpanm Moose' timeout
      adds  0a11116   Give up testing with Moose due to timeouts
      adds  5c6e569   Add docs re FCGI::Engine and open('-|') #20
      adds  5efaa2d   Bump version to 5.07
      adds  19fde6d   Clarification of the RUN-TIME CONTROL OF PROFILING docs
      adds  2417df3   Clarify reason for loading Devel::NYTProf as early as possible.
      adds  6ceb06c   fallback to checking PATH for nytprof scripts
      adds  bea3d1c   Merge pull request #61 from calid/perlbrew-locallib
      adds  4e37722   Make t/50-errno.t write .out file in t/ like other tests
      adds  d8c1e9c   Update MANIFEST.SKIP
      adds  6072340   Update MANIFEST via "make manifest" and sort
      adds  289fefd   Use "Devel::NYTProf::Changes" as NAME in Changes
      adds  88742f6   Add File::Which to prereqs and update Changes for #61
      adds  ee0c578   Clarified the documentation
      adds  0d01eac   Merge pull request #63 from dbooth-boston/master
      adds  370c9e9   Typo in doc
      adds  8854df2   Merge pull request #64 from wollmers/patch-2
      adds  bf220b6   PERL_DISABLE_PMC might be anywhere, not in CCFLAGS
      adds  e4555c1   Merge pull request #67 from bulk88/PMC
      adds  a4f48e5   use setvbuf to increase buffer size
      adds  fff3267   Merge pull request #69 from bulk88/setvbuf
      adds  713d99e   Clarified the docs re DB:: functions, #63 and updated Changes
      adds  a2fcc8b   Add QueryPerformanceCounter clock for Windows
      adds  f762a82   Add QueryPerformanceCounter clock for Windows
      adds  57496ca   Fix unused variable warnings RT#103107
      adds  082584f   Bump version to 6.01 (in honor of Windows enhancement from bulk88).  Changes.
      adds  8afd5df   switch from JSON::Any (deprecated) to JSON::MaybeXS
      adds  1f6249f   ignore new ExtUtils::MakeMaker artifact
      adds  63dc68c   Merge pull request #73 from karenetheridge/topic/json_any_deprecated
      adds  1716369   Replace all search.cpan.org urls with metacpan.org urls
      adds  ce8dc87   switch search.cpan.org URLs to metacpan.org
      adds  5e62002   Merge pull request #74 from karenetheridge/topic/metacpan_urls
      adds  da67f32   Move context definition into higher scopes
      adds  31548bd   Use "%"IVdf instead of "%ld" for printing IV values
      adds  a520cac   Merge pull request #75 from jandubois/context-fixes
      adds  1dc3f79   Updated to latest flamegraph.pl plus PR#62.
      adds  906f231   Fix JSON::MaybeXS usage.
      adds  489ce46   Use --hash on flamegraph (experimental). Update Changes. Bump version to 6.02
      adds  7f3e56e   Imported Upstream version 6.02+dfsg
       new  812ccd8   Merge tag 'upstream/6.02+dfsg'
       new  327b3b1   update changelog
       new  9a6775d   Update (build) dependencies.
       new  29dcc9a   releasing package libdevel-nytprof-perl version 6.02+dfsg-1

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                  |   1 +
 Changes                     |   7 +
 FileHandle.h                |   2 +-
 FileHandle.xs               |   9 +-
 HACKING                     |   2 +-
 MANIFEST                    |   2 +
 META.json                   |   7 +-
 META.yml                    |   7 +-
 Makefile.PL                 |   4 +-
 MemoryProfiling.pod         |  20 +-
 NYTProf.h                   |   2 +-
 NYTProf.xs                  |  14 +-
 bin/flamegraph.pl           | 757 +++++++++++++++++++++++++++++++++++++++-----
 bin/nytprofcalls            |   4 +-
 bin/nytprofcg               |   4 +-
 bin/nytprofcsv              |   8 +-
 bin/nytprofhtml             |  28 +-
 bin/nytprofmerge            |   4 +-
 bin/nytprofpf               |   8 +-
 debian/changelog            |   9 +
 debian/control              |   4 +-
 debian/copyright            |   6 +-
 debian/repack.local         |   3 -
 debian/repack.stub          |  91 ------
 debian/upstream/metadata    |   8 +
 debian/watch                |   5 +-
 lib/Devel/NYTProf.pm        |   4 +-
 lib/Devel/NYTProf/Apache.pm |   2 +-
 lib/Devel/NYTProf/Core.pm   |   4 +-
 lib/Devel/NYTProf/Data.pm   |   4 +-
 lib/Devel/NYTProf/Reader.pm |   4 +-
 lib/Devel/NYTProf/Run.pm    |   2 +-
 lib/Devel/NYTProf/Util.pm   |   2 +-
 t/test01.x                  |   2 +-
 t/test02.x                  |   2 +-
 t/test03.x                  |   2 +-
 t/test05.x                  |   2 +-
 t/test06.x                  |   2 +-
 t/test07.x                  |   2 +-
 t/test08.x                  |   2 +-
 t/test09.x                  |   2 +-
 t/test10.x                  |   2 +-
 t/test11.x                  |   2 +-
 t/test12.x                  |   2 +-
 t/test13.x                  |   2 +-
 t/test14.pm_x               |   2 +-
 t/test14.x                  |   2 +-
 t/test16.x                  |   2 +-
 t/test20-streval.x          |   2 +-
 t/test21-streval3.x         |   2 +-
 t/test30-fork-0.x           |   2 +-
 t/test30-fork-1.x           |   2 +-
 t/test40pmc.pm_x            |   2 +-
 t/test40pmc.x               |   2 +-
 t/test50-disable.x          |   2 +-
 t/test51-enable.x           |   2 +-
 56 files changed, 798 insertions(+), 286 deletions(-)
 delete mode 100644 debian/repack.local
 delete mode 100755 debian/repack.stub
 create mode 100644 debian/upstream/metadata

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdevel-nytprof-perl.git



More information about the Pkg-perl-cvs-commits mailing list