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
Close
Hashes for faust_prometheus_exporter-0.1.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d390afebac2763d6a317841dfeea02200ee73ef2ab212c19f9c9b6985ee197ac |
|
MD5 | 4937cd0689c954ef2302f4a962b6d40d |
|
BLAKE2b-256 | dfed02cee9c6a13d8a139b30cba0575a25b074492ce2c3f268f59c266274b724 |
Close
Hashes for faust_prometheus_exporter-0.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1053a1242011250c0bb499c471d3f0feac08c8e5422803d0cad31f11ab222262 |
|
MD5 | 93c151e42947762660f55b5b93fc2715 |
|
BLAKE2b-256 | b6ef815900c4ef71e786f043eddc782fdef6783522aee3d4457c5b30e7935f4b |