Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

cpu and memory tracing for process trees

Project description

Latest Version Python Support

Metrace - cpu/memory tracing for process trees

Metrace makes it easy to get a nice interactive html plot of the cpu/memory usage of a whole process tree.


Metrace depends on Plotly and Psutil, both will be installed with metrace using pip:

$ pip install metrace

Client usage (optional)

Metrace lets you annotate specific parts of your code with scopes and these will become part of your final plot output and end up look like this:

Metrace gives you a context manager trace you can wrap code blocks with:

$ cat

from metrace import trace

with trace('creating 1000 objects'):
    l = []
    for i in range(1000):

To collect these traces you run your script with metrace as usual:

$ metrace run python

Commandline Usage

After installation you will have the metrace command available.

$ metrace run python && metrace plot

It has two subcommands:


$ metrace run python

Runs a process and collects cpu/memory metrics for both the process and its children seperately.

Metrace outputs the metrics in a json file in current working directory named like: metrace_1568385178098218.json with the number being milliseconds since epoch.


$ metrace plot
# or
# to not open the html report automatically:
$ metrace plot --autoopen=no
# or
# to specify input/output files
$ metrace plot -i metrace_1568385178098218.json -o metrace_report.html

Plots cpu/memory usage for a given, or latest found, metrace json file.

Output is a html file where you can download the images, zoom in and hover to inspect the different traces.


Docs folder contains a sample of a metrace json file and a metrace html report


plotly.min.js Licensed under MIT, has been included in this library here: metrace/plotly_latest.min.js

Project details

Download files

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

Files for metrace, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size metrace-1.0.1.tar.gz (966.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page