Skip to main content

WoodMac's Faust Prometheus Library

Project description

Faust Prometheus

This library uses sensors of Faust. Those sensors are events based. Our monitor implements that interface and hooks some actions when those events happen. That allows us to create our own prometheus Counters, Gauges and Histograms. I created some predefined metrics, but we can expand on them in the future.

Installation

To use this library in your faust project just add faustprometheus or install it through pip:

pip install faustprometheus

Usage

Add PrometheusMonitor to the app as seen below:

    import faust
    from faustprometheus.monitor import PrometheusMonitor

    app = faust.App('example', broker='kafka://')
    app.monitor = PrometheusMonitor(app)

You can also configure some global options to monitor through PrometheusMonitorConfig, such as 2 levels of prefixes, through namespace and subsystem. The path exposing prometheus metrics can be set through metrics config, with /metrics as default value. I added labels to config, but are not applied to monitor due to lack of my understanding of faust sensors and prometheus.

    from faustprometheus.config import PrometheusMonitorConfig

    monitor_config = PrometheusMonitorConfig(
        path='/metrics',
        namespace='faust',
        subsystem='foo-app',
        labels=['v2.3', 'prod']
        )        

Tests

Library is fully unit tested and can be run by

    pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

faustprometheus-0.0.6.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

faustprometheus-0.0.6-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file faustprometheus-0.0.6.tar.gz.

File metadata

  • Download URL: faustprometheus-0.0.6.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for faustprometheus-0.0.6.tar.gz
Algorithm Hash digest
SHA256 b005b4ebc0e08befad6ad1d251eb88286dd2fd24ae793d92c9c1fa905eaa6143
MD5 0b92030f9441c2f78f1629585a279df7
BLAKE2b-256 30a3390f5cc2fed65e29d93e76593a508d661974b80037181cf27788c361e5f9

See more details on using hashes here.

File details

Details for the file faustprometheus-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for faustprometheus-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 197eace4b7abcdb37d45647f32aeb4df59bccdcdd76fe2ceef55341d89b78f6e
MD5 4f30967846c039bd20a4562624673486
BLAKE2b-256 b0006a9af05250ffe117829689dfb71d7d22e57e6bcb43ac80c3b913070457e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page