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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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