Skip to main content

process-plot

Build Status codecov.io PyPI version

Create plots of resource usage for a process (memory, CPU, etc).

Process statistics are polled at a set interval, in a cross-platform manner (i.e. supports Linux, OSX and Windows).

Information is collected on both the main process and any child processes, and can be plotted in a single graph.

Usage

Install the package with pip or pipx:

$ pipx install process-plot

then run:

$ pplot exec -i 0.1 "sleep 1"
PPLOT INFO: Output files will be written to: /user/pplot_out, with basename: 20210921125420
PPLOT INFO: Running process as PID: 5379
PPLOT INFO: Total run time: 0 hour(s), 00 minute(s), 01.034680 second(s)
PPLOT INFO: Plotting results to: pplot_out/20210921125420.png
PPLOT SUCCESS!

You will then find the output files in /user/pplot_out, with a plot for the process like:

example plot

If the process spawns child processes, by default, the values for the main process and all child processes are summed together. When called with --stack-processes, the plot will stack the values per process:

example parallel plot

Additional options are available:

$ pplot exec --help
Usage: pplot exec [OPTIONS] COMMAND

  Execute a command and profile it.

Options:
  -i, --interval FLOAT            Polling interval (seconds)
  -t, --timeout FLOAT             Timeout process (seconds)
  -c, --command-output [hide|screen|file]
                                  Mode for stdout/stderr of command  [default:
                                  file]
  --no-child                      Don't collect child process data
  -o, --outfolder DIRECTORY       Folder path for output files
  -n, --basename TEXT             Basename for output files (defaults to
                                  datetime)
  -p, --plot-cols [memory_rss|memory_vms|cpu_percent|cpu_time_user|cpu_time_sys|threads_num|files_num]
                                  Columns to plot (comma-delimited)  [default:
                                  memory_rss,cpu_percent]
 --stack-processes                Stack values per process in plot
  --title TEXT                    Plot title (defaults to command)
  --grid / --no-grid              Add grid to plots  [default: grid]
  -sw, --size-width FLOAT         Width of plot in cm
  -sh, --size-height FLOAT        Height of plot in cm
  -f, --format [png|pdf|svg]      Plot file format
  -v, --verbose                   Increase verbosity  [x>=0]
  -q, --quiet                     Quiet mode
  --help                          Show this message and exit.

Acknowledgements

Initially adapted from: https://github.com/jeetsukumaran/Syrupy

Download files

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

Source Distribution

process_plot-0.4.0.tar.gz (72.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

process_plot-0.4.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file process_plot-0.4.0.tar.gz.

File metadata

  • Download URL: process_plot-0.4.0.tar.gz
  • Upload date:
  • Size: 72.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for process_plot-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8f32ce90d5720fade4b6cae796e5393f9cf7b98e4b28e226c1cfe8a6f9e731b5
MD5 5d70f299b4d2578c02c7a6cb7af948bd
BLAKE2b-256 67b2b0051ce0aa719a24a65a2e11d6d5a3b8b0a5e47aef7ceeaa490d57805d42

See more details on using hashes here.

File details

Details for the file process_plot-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: process_plot-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for process_plot-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 336845225e9f11e9676b353d89819b61d8c72c9c3cae709fcfcbe292445ade46
MD5 30e09cff7fd617e4594d5143a2b02106
BLAKE2b-256 69fb8d914a3e87e4b9c5f710e58d75aadd8fc2a0a537af9dc9d75650a9dba42c

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

This release

0.4.0 This release

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page