Faust Prometheus Exporter
Module for exporting monitoring values for Prometheus
Functionality
- Adds
/metricsendpoint - Gives basic
Prometheus-clientmetrics - Gives custom user`s metrics
- Adds internal
faustmetrics
Installation
pip install faust-prometheus-exporter
Quick start
import faust
from faust_prometheus import FaustPrometheusExporter
app = faust.App('app', broker='localhost:9092')
# Adding the Prometheus Exporter
exporter = FaustPrometheusExporter(app)
# see default metrics
curl localhost:8000/metrics
Playground
import logging
from random import randint
import faust
from prometheus_client import Counter, Histogram
from faust_prometheus import FaustPrometheusExporter
logger = logging.getLogger('app')
# Prometheus custom metrics
prometheus_counter_topic_1_messages = Counter('topic_1_messages', 'Count of messages successfully processed from topic_1')
prometheus_histogram_size_messages = Histogram('size_messages', 'Histogram about messages size')
app = faust.App(
'faust_prometheus',
broker='localhost:9092',
)
# Adding the Prometheus Exporter
exporter = FaustPrometheusExporter(app)
topic_1 = app.topic('topic_1')
@app.agent(topic_1)
async def agent_topic_1(messages: faust.Stream[str]):
async for message in messages:
logger.info(f'Received topic_1 message: {message}')
prometheus_counter_topic_1_messages.inc()
prometheus_histogram_size_messages.observe(len(message))
@app.timer(interval=1.0)
async def example_sender(app):
await topic_1.send(value='Nisi lorem ullamco veniam elit' * randint(1, 10))
if __name__ == '__main__':
app.main()
Contribute
Issue Tracker: https://gitlab.com/rocshers/python/faust-prometheus/-/issues
Source Code: https://gitlab.com/rocshers/python/faust-prometheus
Before adding changes:
make install-dev
After changes:
make format test
Metadata
Release files for faust-prometheus-exporter 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| faust_prometheus_exporter-0.1.9.tar.gz | 5.8 kB | Without provenance | Details for faust_prometheus_exporter-0.1.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| faust_prometheus_exporter-0.1.9-py3-none-any.whl | Python 3 | none | any | Details for faust_prometheus_exporter-0.1.9-py3-none-any.whl |
Total release size: 11.9 kB
Release files / faust_prometheus_exporter-0.1.9.tar.gz
| Download URL | faust_prometheus_exporter-0.1.9.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d390afebac2763d6a317841dfeea02200ee73ef2ab212c19f9c9b6985ee197ac
|
|
BLAKE2b-256 checksum How to use checksums |
dfed02cee9c6a13d8a139b30cba0575a25b074492ce2c3f268f59c266274b724
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.6.1 CPython/3.8.18 Linux/5.15.0-91-generic
|
Release files / faust_prometheus_exporter-0.1.9-py3-none-any.whl
| Download URL | faust_prometheus_exporter-0.1.9-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1053a1242011250c0bb499c471d3f0feac08c8e5422803d0cad31f11ab222262
|
|
BLAKE2b-256 checksum How to use checksums |
b6ef815900c4ef71e786f043eddc782fdef6783522aee3d4457c5b30e7935f4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.6.1 CPython/3.8.18 Linux/5.15.0-91-generic
|
Security for faust-prometheus-exporter 0.1.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.