Skip to main content
cPrometheus
===========

Make `prometheus_client` go faster, with zero effort.

```
import cPrometheus # MOAR speed

# Now do stuff with prometheus_client, but faster
import prometheus_client
# ...
```

Note: This is not compatible with multiprocess mode. If you are using
multiprocess mode, this package is not for you.

How It Works
------------

Internally, `prometheus_client` stores values in a class called `_MutexValue`.
As the name suggests, this class is protected by a mutex, and can become a
bottleneck when placed in tight inner loops.

This package monkey patches `prometheus_client` to use its own class,
`_AtomicValue`, which internally uses gcc's `__atomic` operations.

Yes, I know `stdatomic` is more portable, but I've got a requirement to
support gcc 4.8.

Further Work
------------

- Be more portable
- Consider stealing Java 8 `DoubleAdder`'s design, if even more speed is
needed.
- Can multiprocess be done?

Metadata

Release files for cPrometheus 0.1

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

Source distribution (sdist)

Source distribution for cPrometheus 0.1
File Size Uploaded
cPrometheus-0.1.tar.gz 19.7 kB Details

Release files / cPrometheus-0.1.tar.gz

Download URL cPrometheus-0.1.tar.gz
Size 19.7 kB
Tags Source
SHA-256 checksum
How to use checksums
74fa41ae191f6e88ef64b479e7bb89f2092b8796d3a3be814ac334fcbf31c098
BLAKE2b-256 checksum
How to use checksums
b455bdb0de2e1e319a0c66ebf7c52b0ef9f2e2f979d70a7dcb2af551a96093c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1 This release

1 release file

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