Skip to main content

Prometheus integration for blacksheep

Project description

Blacksheep Prometheus

Build Status codecov Package Version PyPI Version

Introduction

Prometheus integration for Blacksheep.

Requirements

  • Python 3.7+
  • Blacksheep 1.0.7+

Installation

$ pip install blacksheep-prometheus

Usage

A complete example that exposes prometheus metrics endpoint under default /metrics/ endpoint.

from blacksheep.server import Application
from blacksheep_prometheus import use_prometheus_metrics

app = Application()
use_prometheus_metrics(app)

Options

Option name Description Default value
requests_total_metric_name name of metric for total requests 'backsheep_requests_total'
responses_total_metric_name name of metric for total responses 'backsheep_responses_total'
request_time_seconds_metric_name name of metric for request timings 'backsheep_request_time_seconds'
exceptions_metric_name name of metric for exceptions 'backsheep_exceptions'
requests_in_progress_metric_name name of metric for in progress requests 'backsheep_requests_in_progress'
filter_paths list of path's where do not need to collect metrics []

Custom metrics

blacksheep-prometheus will export all the prometheus metrics from the process, so custom metrics can be created by using the prometheus_client API.

Example:

from prometheus_client import Counter
from blacksheep.server.responses import redirect

REDIRECT_COUNT = Counter("redirect_total", "Count of redirects", ("from_view",))

async def some_view(request):
    REDIRECT_COUNT.labels(from_view="some_view").inc()
    return redirect("https://example.com")

The new metric will now be included in the the /metrics endpoint output:

...
redirect_total{from_view="some_view"} 2.0
...

Contributing

This project is absolutely open to contributions so if you have a nice idea, create an issue to let the community discuss it.

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

blacksheep-prometheus-0.1.8.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

blacksheep_prometheus-0.1.8-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file blacksheep-prometheus-0.1.8.tar.gz.

File metadata

  • Download URL: blacksheep-prometheus-0.1.8.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.13 Linux/5.13.0-1022-azure

File hashes

Hashes for blacksheep-prometheus-0.1.8.tar.gz
Algorithm Hash digest
SHA256 a0bbd318825f7036f6aa4e75056ecee89ada9fe5df5fc097911cc95ba9d9f291
MD5 89d58d4d730c419a48ccdb36a6592914
BLAKE2b-256 39033b1342cc4996ef64d8771484193f0500b8f1c377ccd344a7eed2b4b2709d

See more details on using hashes here.

File details

Details for the file blacksheep_prometheus-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for blacksheep_prometheus-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1bb7aa441cf8b8e966b5f72cb15a03a01c12732d9fe7e9547cb31036ccec3e0c
MD5 9cfcca1823fda225b56a9adef223c390
BLAKE2b-256 58dcd700443026a792a021cbc3a1a748d3de08712d725f7819d941abfa760099

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