Commit graph

8 commits

Author SHA1 Message Date
seb
b36e313d80 Update from version 3.11 to version 4.00.
Upstream changes:

Changes in Devel::NYTProf 4.00 (svn 1291) 8th June 2010

- Major changes:
  Added profile reporting of code executed in string evals.
    Each string eval executed gets it's own report page.
    You can 'see' the code that was executed, with profile info.
    String evals may be collapsed/merged in some cases.

  Improved many sub-optimal behaviours related to string evals.

  Subroutine calls that couldn't be associated with a specific line,
    such as calls made by perl to END blocks, are now shown in reports.

  Subroutine definitions that couldn't be associated with a specific file,
    such as xsubs in packages with no perl source, are now shown in reports.

  Enabled savesrc=1 by default.

  The data file format has changed so v3.x files can't be read.
  The Devel::NYTProf::ReadStream interface has also changed.

- Other changes:
  Fixed off-by-1 error in number of Files an xsub/opcode was called from.
  Fixed Devel::NYTProf::Apache to work in more situations
    and enable the addpid option by default.
  Fixed that END blocks defined at runtime are included in the profile
    thanks to Nicholas Clark.

  Compilation-only checks (perl -c) can be profiled thanks to Nicholas Clark.
  Improved behaviour for 'duplicate' anon-subs defined in separate
    invocations of a particular string eval.
  Multiple BEGINs (e.g., use) on the same line get distinct names.

  Added --minimal option to nytprofhtml to disable generation of
    graphviz .dot files and block/sub-level statement report files.
  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 being used (i.e., subs=0).

- Documentation Changes:
  Sequences of blank lines are skipped in generated reports.
    Relevant for savesrc mode in which perl doesn't store pod sections.
  Corrected typos in nytprofhtml docs thanks to chocolate@cpan.org.
  Documented how to use Devel::NYTProf::Apache with virtual hosts that
    use the PerlOptions +Parent or +Clone configuration.
2010-06-12 05:29:17 +00:00
seb
85ee8690ff Update from version 3.02 to version 3.11.
Pkgsrc changes:
- Change HOMEPAGE

Upstream changes:
Changes in Devel::NYTProf 3.11 (svn 1171) 12th March 2010

  Fixed assorted issues on Windows thanks to Jan Dubois.
  Fixed assorted issues 64bit systems thanks to Jan Dubois.

  Refactored I/O to create an API that encapsulates the data
    file format, thanks to Nicholas Clark.
  Updated and optimized nytprofmerge to use the new API
    yielding a significant speed boost, thanks to Nicholas Clark.
2010-04-23 03:04:33 +00:00
sno
1f3d2c228d Updating devel/p5-Devel-NYTProf from 3.01 to 3.02
pkgsrc changes:
- Adjust dependencies

Upstream changes:
Changes in Devel::NYTProf 3.01_96 (svn 1087) 27th Feb 2010

  Fixed handling of usecputime=1 option and updated
    docs to note the significant limitations.
  Fixed association of XS subs to source files
    in some edge cases thanks to Nicholas Clark.
  Fixed nytprofmerge edge cases thanks to Nicholas Clark.

  Added high-resolution (100ns) timer for Mac OS X
    many thanks to Markus Peter.
  Added assorted optimizations thanks to Nicholas Clark.

  Changed subroutine profiler to be slightly more efficient.
  Changed some tests to be more informative on failure.
  Changed nytprofhtml to be smarter when source isn't available.
  Changed nytprofhtml to show sort arrow on sortable tables.

  Removed Devel::NYTProf::PgPLPerl module. That's now a separate
    PostgreSQL::PLPerl::NYTProf distribution.

  Updated docs to include a note about timing on Windows.
  Updated docs to include a section about making NYTProf faster.
2010-03-08 14:38:52 +00:00
sno
42af114850 Updating devel/p5-Devel-NYTProf from 2.10 to 3.01
pkgsrc changes:
- Adjusting dependencies
- Adding optional dependency to graphviz (for generating call graphs)

Upstream changes:
Changes in Devel::NYTProf 3.01 (svn r1005) 28th Dec 2009
  Fixed (removed) use of vfscanf() which broke on Windows.
  Fixed version number in nytprofmerge.

  Added documentation to nytprofcg and nytprofmerge.

  Updated NYTProf docs, including noting major contributors.
  Updated docs to fix assorted typos, thanks to Jonathan Yu.
  Updated nytprofcsv documentation.

Changes in Devel::NYTProf 3.00 (svn r998) 24th Dec 2009
  Note: The file format has changed. Old files can't be read.

  Fixed (rare) overflow bug for 32bit perls.
  Fixed discarding of (rare) negative intervals.
  Fixed risk of infinite recursion if trace enabled and
    $SIG{__WARN__} was set to a code reference.
  Fixed subroutine recursion depth measurement.
  Fixed missing embedded eval source code for some older perls.
  Fixed assorted compiler warnings for various configurations.

  Changed ReadStream SUB_LINE_RANGE tag to SUB_INFO.

  Added log=F option to write trace log to a file.
  Added warning when reading a file with a minor version higher
    than expected.

  Added slowops=N option which enables profiling of potentially slow
    perl opcodes (e.g., system calls and regexs). They're treated like xsubs.
    slowops=0 disables profiling of 'slowops'
    slowops=1 puts timings into one package ("CORE::", eg CORE::sleep)
    slowops=2 (the defaut) puts timings into into the package that made the
    call, e.g., "Foo::CORE:sleep" (note the single colon).

  Added sigexit=1 option to enable a useable profile when the process
    exits due to a signals (catches INT HUP PIPE BUS SEGV by default)
    Can also do sigexit=TRAP,ABRT,SYS,... to hook specific signals.
    Thanks to Andrew Sterling Hanenkamp for the seed of this idea.

  Added forkdepth=N option to enable profiling to be turned off after N
    generations of fork().

  Added nameevals=0 and nameanonsubs=0 options to make NYTProf less
    visible to code that may assume the default perl naming behaviour.
    Note that using these will limit the usefulness of reports.

  Added initial support for profiling PostgreSQL PL/Perl code
    via Devel::NYTProf::PgPLPerl module.

  Added nytprofmerge utility:
    Reads multiple nytprof data files and writes a new merged file.
    Many thanks to Nicholas Clark!

Changes to subroutine profiler:

  Rewritten. Captures more data more accurately and robustly.
  Added profiling of calls to xsubs that exit via an exception.
  Added profiling of goto ⊂
  Added recording the name of the calling subroutine to enable proper
    linking of call trees. Previously only the calling file and line
    were recorded. (This is more significant than it sounds :)
  Added docs describing how the subroutine profiler works.
  Multiple BEGIN blocks (including "use") within a package are now
    distinguished by appending the number of the line they start on
    (for perl 5.8.9+ and 5.10.1+)

Changes to nytprofhtml:

  Added interactive treemap view of package and subroutine times.
    Left-click to zoom in (drill-down) one level, right-click to zoom out.

  Added generation of GraphViz dot language files to visualize
    the call graph. A top-level link on the index page provides an
    inter-package graph, and per-source-file links provide a graph
    of sub calls in to, out of, and between the subs in the file.
    See http://en.wikipedia.org/wiki/Graphviz

  Added columns to the main source code reports to show
    a count of sub calls and time spent in those calls.

  Assorted cosmetic improvements.
  Changed colors on report pages to be less saturated.
2010-01-16 16:45:18 +00:00
sno
d53b9a7fab pkgsrc changes:
- Updating package for p5 module Devel::NYTProf from 2.09 to 2.10
  - Adding perl5 license as license

Upstream changes:
Changes in Devel::NYTProf 2.10 (svn r774) 18th June 2009
  Fixed call count for XSubs that was one too high.
  Fixed enable_profile() after fork thanks to delamonpansie
    http://code.google.com/p/perl-devel-nytprof/issues/detail?id=15
  Fixed to use correct scripts during test and so avoid permissions
    issues, thanks to David Golden.
  Fixed suprious "Unable to determine line number" warnings
    when using options like -p, -n, -Mfoo.

  Changed enable_profile() to discard the time spent since
    profile was disabled.
  Changed NYTPROF env var parsing to allow backslash to escape
    colons, for Windows, thanks to Joshua ben Jore.

  Added license, homepage, bugtracker, repository and MailingList
    resources to META.yml thanks to Michael G Schwern.
  Added nytprofcg utility to generate callgrind data for
    viewing via Kcachegrind, thanks to Chia-liang Kao.
2009-07-18 21:40:49 +00:00
seb
053665b125 Update from version 2.08 to version 2.09.
Upstream changes:

Changes in Devel::NYTProf 2.09 (svn r733) 29th March 2009

  Added support for modules using AutoLoader, e.g., POSIX & Storable,
    to fix the "Unable to open '... (autosplit into ...)'" warnings.
  Fixed report filename generation to remove colons,
    for Windows, reported by Adam Kennedy in rt bug #43798.
  Fixed report filename generation to remove dots, for VMS.
  Fixed savesrc option which wasn't safe and reliable.
  Added missing t/test22-strevala.t to MANIFEST.
  Extended testing to exercise compress and savesrc options.

Ported to VMS, thanks to Peter (Stig) Edwards:

  Renamed t/\d\d.test.t    files to t/\d\d_test.t
          t/test*.pm.x     files to t/test*.pm_x
          t/test*fork.\d.* files to t/test*fork-\d.*
          .js and .css     file to only have one period/dot
    for greater portability.  VMS ODS-2 files can only have
    one period/dot.
  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.
  NYTProf.xs's open_output_file use mode 'wb' and not 'wbx'
    to avoid unsupported error when on VMS.
2009-04-22 06:38:47 +00:00
seb
86eec39712 Update from version 2.07 to version 2.08.
Upstream changes:

* Changes in Devel::NYTProf 2.08
** Core:
- Added optimize=0 option to disable the perl optimizer
    so you can see more accurate statement execution counts
    for some kinds of constructs.
- Added savesrc=1 option to copy source code into the profile
    so reports are not affected by changes to the source files.
- Added ability for DB::enable_profile() to specify a new file
    for profile data to be written to.
** Reporting:
- Time spent within nested string evals is accounted for.
- Fixed searching @INC for source files for reports.
- Dramatically increased performance of nytprofhtml
    relative to the 2.07 version.
- Many tables in html reports are sortable by clicking on header columns
    (requires JavaScript, uses jQuery and tablesorter.js)
- Statement timings are now shown as integers in appropriate
    units: seconds, milliseconds, microseconds or nanoseconds.
- Hovering over times in subroutine or file summary tables
    now shows the percentage time.
- Improved HTML conformance thanks to Leland Johnson.
2009-02-15 23:16:10 +00:00
seb
380c4ff14e Initial import of p5-Devel-NYTProf version 2.07 in the NetBSD
Packages Collection.

The Perl 5 module Devel::NYTProf is a powerful feature-rich perl
source code profiler.
- Performs per-line statement profiling for fine detail
- Performs per-subroutine statement profiling for overview
- Performs per-block statement profiling (the first profiler to do so)
- Accounts correctly for time spent after calls return
- Performs inclusive and exclusive timing of subroutines
- Subroutine times are per calling location (a powerful feature)
- Can profile compile-time activity, just run-time, or just END time
- Uses novel techniques for efficient profiling
- Sub-microsecond (100ns) resolution on systems with clock_gettime()
- Very fast - the fastest statement and subroutine profilers for perl
- Handles applications that fork, with no performance cost
- Immune from noise caused by profiling overheads and I/O
- Program being profiled can stop/start the profiler
- Generates richly annotated and cross-linked html reports
- Trivial to use with mod_perl - add one line to httpd.conf
- Includes an extensive test suite
- Tested on very large codebases
NyTProf is effectively two profilers in one: a statement profiler,
and a subroutine profiler.
2008-11-11 10:55:55 +00:00