Skip to main content

Artefacts X-Ray

Resource tracker for process trees rooted in a Python process.

Usage

The tracker is a context manager:

from axray import resource_tracking

with resource_tracking():
    work()

By default it tracks the process tree executed in the context, here everything that happens inside work().

Comprehensive Demo

A demo script in this repository can report on a range of situations:

  • Single process CPU only usage
  • Single process memory only usage
  • Single process CPU and memory usage
  • Multi process CPU only usage
  • Multi process memory only usage
  • Multi process CPU and memory only usage

With some extras like reporting the time overhead of tracking (but indicative only, not statistically confirmed).

Assuming the uv tool is available:

./bin/demo

In the absence of uv the script requires Numpy and can be run with python bin/demo.

Test Suite

The test suite uses PyTest and tries to cover relevant situations in resource tracking (over time it should go beyond what bin/demo covers).

Some tests are slow because they try to validate somewhat realistic situations (child processes not too short), as well as statistical relevance of reporting. Most tests can be run with:

uv run pytest -m "not slowest"   # Remove `uv run` if `pytest` available

This runs excluding the really slow tests. As the project progresses, other tests get marked as slow/slower/slowest to try to find good balance and configurability.

Metadata

Release files for artefacts-xray 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for artefacts-xray 0.2.0
File Size Uploaded
artefacts_xray-0.2.0.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for artefacts-xray 0.2.0
File Interpreter ABI Platform
artefacts_xray-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.7 kB

Release files / artefacts_xray-0.2.0.tar.gz

Download URL artefacts_xray-0.2.0.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fd678ca4f321613886f772fbb26668e82447aab6c48ff4bc41e393b6daebdfb2
BLAKE2b-256 checksum
How to use checksums
18b65925e4c0e75291ce0f3c17c250113e4505edf803ecbcba63c297712b20dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.18

Release files / artefacts_xray-0.2.0-py3-none-any.whl

Download URL artefacts_xray-0.2.0-py3-none-any.whl
Size 4.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a7bbf1f6a8dbc30cf95a2a0814e5beacf4b5deec3dfe5fac7016908efc42d89
BLAKE2b-256 checksum
How to use checksums
1e9dcafb7967ab0ae8389c04ad26ebbaa064c53f38dfa0cc889a3ff22cb55dd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.18

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page