Provided by: pyprof2calltree_1.4.5-1build1_all bug

Name

       Pyprof2calltree - visualize Python cProfile data in kcachegrind

DESCRIPTION

       Script  to  help  visualize profiling data collected with the cProfile Python module with the kcachegrind
       <http://kcachegrind.sourceforge.net>  graphical calltree analyser.

       This is a rebranding of the venerable  <http://www.gnome.org/~johan/lsprofcalltree.py>  script  by  David
       Allouche  et  Al.  It aims at making it easier to distribute (e.g. through PyPI) and behave more like the
       scripts     of     the     debian     kcachegrind-converters      <https://packages.debian.org/en/stable/
       kcachegrind-converters>  package.  The  final  goal  is  to  make it part of the official upstream kdesdk
       <http://websvn.kde.org/trunk/KDE/kdesdk/kcachegrind/converters/> package.

OPTIONS

       Upon installation you should have a pyprof2calltree script in your path:

          $ pyprof2calltree --help
          usage: pyprof2calltree [-h] [-o output_file_path] [-i input_file_path] [-k]
                                 [-r scriptfile [args ...]]

          optional arguments:
            -h, --help            show this help message and exit
            -o output_file_path, --outfile output_file_path
                                  Save calltree stats to <outfile>
            -i input_file_path, --infile input_file_path
                                  Read Python stats from <infile>
            -k, --kcachegrind     Run the kcachegrind tool on the converted data
            -r scriptfile [args ...], --run-script scriptfile [args ...]
                                  Name of the Python script to run to collect profiling
                                  data

Python shell usage

       pyprof2calltree is also best used from an interactive  Python  shell  such  as  the  default  shell.  For
       instance let us profile XML parsing:

          >>> from xml.etree import ElementTree
          >>> from cProfile import Profile
          >>> xml_content = '<a>\n' + '\t<b/><c><d>text</d></c>\n' * 100 + '</a>'
          >>> profiler = Profile()
          >>> profiler.runctx(
          ...     "ElementTree.fromstring(xml_content)",
          ...     locals(), globals())

          >>> from pyprof2calltree import convert, visualize
          >>> visualize(profiler.getstats())                            # run kcachegrind
          >>> convert(profiler.getstats(), 'profiling_results.kgrind')  # save for later

       or with the ipython <https://ipython.org/>:

          In [1]: %doctest_mode
          Exception reporting mode: Plain
          Doctest mode is: ON

          >>> from xml.etree import ElementTree
          >>> xml_content = '<a>\n' + '\t<b/><c><d>text</d></c>\n' * 100 + '</a>'
          >>> %prun -D out.stats ElementTree.fromstring(xml_content)

          *** Profile stats marshalled to file 'out.stats'

          >>> from pyprof2calltree import convert, visualize
          >>> visualize('out.stats')
          >>> convert('out.stats', 'out.kgrind')

          >>> results = %prun -r ElementTree.fromstring(xml_content)
          >>> visualize(results)

                                                                                              Pyprof2calltree(1)