Skip to main content

Django Prometheus business metrics

Project description

Django Prometheus business metrics

This Django app provides a Prometheus metrics endpoint serving so-called business metrics. These are metrics that are calculated when Prometheus hits the metrics endpoint.

Usage

This project uses ApiVer. Always import from django_business_metrics.v0 namespace and not from django_business_metrics.

  1. Create a BusinessMetricsManager object and register some metrics:

    # project/business_metrics.py
    
    from django_business_metrics.v0 import BusinessMetricsManager, users
    
    metrics_manager = BusinessMetricsManager()
    
    # Add a pre-defined metric
    metrics_manager.add(users)
    
    # Add some custom metrics
    @metrics_manager.metric(name='name', documentation='documentation')
    def my_metric():
        return 10
    
  2. Register a Prometheus endpoint:

    # project/urls.py
    
    ...
    from .business_metrics import metrics_manager
    
    ...
    urlpatterns = [
        ...
        path('business-metrics', metrics_manager.view),
        ...
    ]
    
  3. Setup your Prometheus agent to scrape metrics from /business-metrics endpoint.

Development

Base requirements

  • docker, docker-compose
  • nox
  • pdm

Handy commands for development

pdm install --dev

Before committing make sure to run:

nox -s format test

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

django_business_metrics-1.0.1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

django_business_metrics-1.0.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file django_business_metrics-1.0.1.tar.gz.

File metadata

File hashes

Hashes for django_business_metrics-1.0.1.tar.gz
Algorithm Hash digest
SHA256 b1c63e0d49153503cbc4f03e18af798537e97da9635f8acf7b7232e32bee018a
MD5 42da489b3612b57af4789daf87383695
BLAKE2b-256 e7fbeb6a640cc8c37ca82512a3fd813c7cc9ac0b50016ce64206ce4de91e95f7

See more details on using hashes here.

File details

Details for the file django_business_metrics-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_business_metrics-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08df7c71d81652adf399865a3ad5f62d81d16551217b297efe90e3a1b88e4394
MD5 5553e7daa38ac64dcae6422cf1fcefa3
BLAKE2b-256 4898e3747035baeea0c05192bab4dc47cb3e1d2eb14210260469e52f4cc48eef

See more details on using hashes here.

Supported by

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