Module for exporting monitoring values for Prometheus
Project description
Faust Prometheus Exporter
Module for exporting monitoring values for Prometheus
Functionality
- Adds
/metrics
endpoint - Gives basic
Prometheus-client
metrics - Gives custom user`s metrics
- Adds internal
faust
metrics
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file faust_prometheus_exporter-0.1.8.tar.gz
.
File metadata
- Download URL: faust_prometheus_exporter-0.1.8.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.8.18 Linux/5.15.0-88-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5bdd5e5613adad97fb40e351f28786f735e0a36a516f2c0f100446b3ef660cb |
|
MD5 | 299a2a71848c5146cbbc69b23716e947 |
|
BLAKE2b-256 | 8decc975d8c5cd8be3070a2ee8f1138ddc4569fd6720d064c2bf0f1e4a6f748b |
File details
Details for the file faust_prometheus_exporter-0.1.8-py3-none-any.whl
.
File metadata
- Download URL: faust_prometheus_exporter-0.1.8-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.8.18 Linux/5.15.0-88-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1f4bf3dd1d4dc11831b13ffb3960254dad29212313310e8e25022cace7102b5 |
|
MD5 | ebf4efc71907a452ecf59aeb2ef0f4b9 |
|
BLAKE2b-256 | 6a8a30e0412cdc9ea5c902c59ca830b59af755f73a27ef922681fca407488fda |