Provided by: libdevel-nytprof-perl_6.12+dfsg-1_amd64 bug

NAME

       nytprofhtml - Generate reports from Devel::NYTProf data

SYNOPSIS

       Typical usage:

        $ perl -d:NYTProf some_perl_app.pl
        $ nytprofhtml --open

       Options synopsis:

        $ nytprofhtml [-h] [-d] [-m] [-o <output directory>] [-f <input file>] [--open]

DESCRIPTION

       Devel::NYTProf is a powerful feature-rich Perl source code profiler.  See Devel::NYTProf
       for details.

       "nytprofhtml" generates a set of html reports from a single data file generated by
       Devel::NYTProf. (If your process forks you'll probably have multiple files. See
       Devel::NYTProf and nytprofmerge.)

       The reports include dynamic runtime analysis wherein each line and each file is analyzed
       based on the performance of the other lines and files.  As a result, you can quickly find
       the slowest module and the slowest line in a module.  Slowness is measured in three ways:
       total calls, total time, and average time per call.

       Coloring is based on absolute deviations from the median.  See
       <http://en.wikipedia.org/wiki/Median_absolute_deviation> for more details.

       That might sound complicated, but in reality you can just run the command and enjoy your
       report!

COMMAND-LINE OPTIONS

       -f, --file <filename>
           Specifies the location of the file generated by Devel::NYTProf.  Default:
           ./nytprof.out

       -o, --out <dir>
           The directory in which to place the generated report files. Default: ./nytprof/

       -d, --delete
           Purge any existing contents of the report output directory.

       -l, --lib <dir>
           Add a path to the beginning of @INC to help nytprofhtml find the source files used by
           the code. Should not be needed in practice.

       --open
           Make your web browser visit the report after it has been generated.

           If this doesn't work well for you, try installing the Browser::Open module.

       -m, --minimal
           Don't generate graphviz .dot files or block/sub-level reports.

       --no-flame
           Disable generation of the flamegraph on the index page.  Also disables calculation of
           distinct call stacks that are used to produce the flamegraph.

       -h, --help
           Print the help message.

SAMPLE OUTPUT

       You can see a complete report for a large application at
       <http://timbunce.github.io/devel-nytprof/sample-report/nytprof-20160319/index.html>

       The report was generated by profiling perlcritic 1.121 checking its own source code using
       perl v5.18.2.

DIAGNOSTICS

   "Unable to open '... (autosplit into ...)'"
       The profiled application executed code in a module that used AutoLoader to load the code
       from a separate .al file.  NYTProf automatically recognises this situation and tries to
       determine the 'parent' module file so it can associate the profile data with it.  In order
       to do that the parent module file must already be 'known' to NYTProf, typically by already
       having some code profiled.

       You're only likely to see this warning if you're using the "start" option to start
       profiling after compile-time. The effect is that times spent in autoloaded subs won't be
       associated with the parent module file and you won't get annotated reports for them.

       You can avoid this by using the default "start=begin" option, or by ensuring you execute
       some non-autoloaded code in the parent module, while the profiler is running, before an
       autoloaded sub is called.

   Background
       Subroutine-level profilers:

         Devel::DProf        | 1995-10-31 | ILYAZ
         Devel::AutoProfiler | 2002-04-07 | GSLONDON
         Devel::Profiler     | 2002-05-20 | SAMTREGAR
         Devel::Profile      | 2003-04-13 | JAW
         Devel::DProfLB      | 2006-05-11 | JAW
         Devel::WxProf       | 2008-04-14 | MKUTTER

       Statement-level profilers:

         Devel::SmallProf    | 1997-07-30 | ASHTED
         Devel::FastProf     | 2005-09-20 | SALVA
         Devel::NYTProf      | 2008-03-04 | AKAPLAN
         Devel::Profit       | 2008-05-19 | LBROCARD

       Devel::NYTProf is a (now distant) fork of Devel::FastProf, which was itself an evolution
       of Devel::SmallProf.

       Adam Kaplan took Devel::FastProf and added html report generation (based on Devel::Cover)
       and a test suite - a tricky thing to do for a profiler.  Meanwhile Tim Bunce had been
       extending Devel::FastProf to add novel per-sub and per-block timing, plus subroutine
       caller tracking.

       When Devel::NYTProf was released Tim switched to working on Devel::NYTProf because the
       html report would be a good way to show the extra profile data, and the test suite made
       development much easier and safer.

       Then he went a little crazy and added a slew of new features, in addition to per-sub and
       per-block timing and subroutine caller tracking. These included the 'opcode interception'
       method of profiling, ultra-fast and robust inclusive subroutine timing, doubling
       performance, plus major changes to html reporting to display all the extra profile call
       and timing data in richly annotated and cross-linked reports.

       Steve Peters came on board along the way with patches for portability and to keep NYTProf
       working with the latest development Perl versions.

       Adam's work is sponsored by The New York Times Co. <http://open.nytimes.com>.  Tim's work
       was partly sponsored by Shopzilla. <http://www.shopzilla.com>.

SEE ALSO

       Mailing list and discussion at <http://groups.google.com/group/develnytprof-dev>

       Public Github Repository and hacking instructions at
       <https://github.com/timbunce/devel-nytprof/>

       Devel::NYTProf, Devel::NYTProf::Reader, nytprofcsv

AUTHOR

       Adam Kaplan, "<akaplan at nytimes.com>".  Tim Bunce, <http://blog.timbunce.org>.  Steve
       Peters, "<steve at fisharerojo.org>".

COPYRIGHT AND LICENSE

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of
       Perl 5 you may have available.