Skip to main content

New Generation Profiler based on PEP 669

Project description

akarsu is the New Generation Profiler based on PEP 669. The name of the project, comes from the surname of a minstrel named Muhlis Akarsu, which means stream.

Installation

akarsu can be installed by running pip install akarsu. It requires Python 3.12.0+ to run.

Usage

cat example.py

Output:

def foo():
    x = 1
    isinstance(x, int)
    return x


def bar():
    foo()


bar()

akarsu -f example.py

Output:

     Count     Event Type     Filename(function)
         1      PY_CALL       example.py(bar)
         1      PY_START      example.py(bar)
         1      PY_CALL       example.py(foo)
         1      PY_START      example.py(foo)
         1       C_CALL       example.py(<built-in function isinstance>)
         1      C_RETURN      example.py(foo)
         1     PY_RETURN      example.py(foo)
         1     PY_RETURN      example.py(bar)

Total number of events: 8
  PY_CALL = 2
  PY_START = 2
  PY_RETURN = 2
  C_CALL = 1
  C_RETURN = 1

If you want to show only the function calls in the output, you can use the -c or --calls argument.

akarsu -c -f example.py

Output:

     Count     Event Type     Filename(function)
         1      PY_CALL       example.py(bar)
         1      PY_CALL       example.py(foo)
         1       C_CALL       example.py(<built-in function isinstance>)

Total number of events: 3
  PY_CALL = 2
  C_CALL = 1

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

akarsu-0.2.0.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

akarsu-0.2.0-py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 3

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