Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/astrofrog/psrecord
Record the CPU and memory activity of a process :chart_with_upwards_trend:
https://github.com/astrofrog/psrecord
Last synced: 17 days ago
JSON representation
Record the CPU and memory activity of a process :chart_with_upwards_trend:
- Host: GitHub
- URL: https://github.com/astrofrog/psrecord
- Owner: astrofrog
- License: bsd-2-clause
- Created: 2013-12-05T16:09:18.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2024-10-07T18:37:21.000Z (about 1 month ago)
- Last Synced: 2024-10-17T08:36:08.715Z (21 days ago)
- Language: Python
- Homepage:
- Size: 125 KB
- Stars: 592
- Watchers: 12
- Forks: 76
- Open Issues: 37
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
|Coverage Status|
About
=====``psrecord`` is a small utility that uses the
`psutil `__ library to record the CPU
and memory activity of a process. The package is still under development
and is therefore experimental.The code is released under a Simplified BSD License, which is given in
the ``LICENSE`` file.Requirements
============- Python 2.7 or 3.3 and higher
- `psutil `__ 1.0 or later
- `matplotlib `__ (optional, used for
plotting)Installation
============To install, simply do::
pip install psrecord
To install with the optional plotting dependencies, do::
pip install psrecord[plot]
Usage
=====Basics
------To record the CPU and memory activity of an existing process to a file (use sudo for a root process):
::
psrecord 1330 --log activity.txt
where ``1330`` is an example of a process ID which you can find with
``ps`` or ``top``. You can also use ``psrecord`` to start up a process
by specifying the command in quotes:::
psrecord "hyperion model.rtin model.rtout" --log activity.txt
Plotting
--------To make a plot of the activity:
::
psrecord 1330 --plot plot.png
This will produce a plot such as:
.. image:: https://github.com/astrofrog/psrecord/raw/master/screenshot.png
You can combine these options to write the activity to a file and make a
plot at the same time:::
psrecord 1330 --log activity.txt --plot plot.png
Duration and intervals
----------------------By default, the monitoring will continue until the process is stopped.
You can also specify a maximum duration in seconds:::
psrecord 1330 --log activity.txt --duration 10
Finally, the process is polled as often as possible by default, but it
is possible to set the time between samples in seconds:::
psrecord 1330 --log activity.txt --interval 2
Subprocesses
------------To include sub-processes in the CPU and memory stats, use:
::
psrecord 1330 --log activity.txt --include-children
Running tests
=============To run tests, you will need `pytest `_. You can install it with::
pip install pytest
You can then run the tests with::pytest psrecord
Reporting issues
================Please report any issues in the `issue
tracker `__... |Coverage Status| image:: https://codecov.io/gh/astrofrog/psrecord/branch/master/graph/badge.svg
:target: https://codecov.io/gh/astrofrog/psrecord