Skip to main content

Profiler utility for python, graphical and textual, whole program or segments

Project description

Profiler utility for python

install

pip install pyprofiler

profile code in source

profiler = start_profile()
meth1()
meth2()
meth3()
meth4()
end_profile(profiler)
# sample
python run_graph_main.py

$ total time
         42 function calls (39 primitive calls) in 2.018 seconds

   Ordered by: internal time
   List reduced from 22 to 20 due to restriction <20>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        8    2.016    0.252    2.016    0.252 {time.sleep}
        1    0.001    0.001    0.002    0.002 pyprofiler.py:16(end_profile)
        1    0.000    0.000    0.000    0.000 functools.py:2(<module>)
        1    0.000    0.000    0.001    0.001 pstats.py:1(<module>)
        2    0.000    0.000    0.504    0.252 main_profile.py:32(meth2)
        2    0.000    0.000    0.205    0.103 main_profile.py:22(meth1)
        2    0.000    0.000    0.908    0.454 main_profile.py:42(meth3)
      8/5    0.000    0.000    0.604    0.121 main_profile.py:10(call_next)
        2    0.000    0.000    1.406    0.703 main_profile.py:52(meth4)
        1    0.000    0.000    1.006    1.006 main_profile.py:62(aggregate)

graphical representation, needs and graphviz

# requirements
pip install gprof2dot
brew install graphviz
# sample program
python main_graph.py
from pyprofiler import graph_profile_program
graph_profile_program("main_graph.py")
screenshot

screenshot

callgraph, needs wxpython and runsnakerun

# requirements
brew install wxPython
pip install runsnakerun
# sample
python run_graph_main.py
#implementation, call method aggregate
runsnake_profile_method("aggregate", globals(), locals())
screenshot

screenshot

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyprofiler-9.tar.gz (2.4 kB view details)

Uploaded Source

File details

Details for the file pyprofiler-9.tar.gz.

File metadata

  • Download URL: pyprofiler-9.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyprofiler-9.tar.gz
Algorithm Hash digest
SHA256 f6d6bb909ade6a1c99399bcc16bcc830c9b7cf9e141ea6eede7bd40b91f42618
MD5 d93bd3a9ec2891349af9fe9bcda5623a
BLAKE2b-256 7526080ab39d6c9d94301e400a627a5ea2652743e721f2f580a86101f1455883

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page