Skip to content

v0.5.28

Compare
Choose a tag to compare
@Lancetnik Lancetnik released this 20 Oct 19:51
· 32 commits to main since this release
3beae64

What's Changed

There were a lot of time since 0.5.7 OpenTelemetry release and now we completed Observability features we planned! FastStream supports Prometheus metrics in a native way!

Special thanks to @roma-frolov and @draincoder (again) for it!

To collect Prometheus metrics for your FastStream application you just need to install special distribution

pip install faststream[prometheus]

And use PrometheusMiddleware. Also, it could be helpful to use our ASGI to serve metrics endpoint in the same app.

from prometheus_client import CollectorRegistry, make_asgi_app
from faststream.asgi import AsgiFastStream
from faststream.nats import NatsBroker
from faststream.nats.prometheus import NatsPrometheusMiddleware

registry = CollectorRegistry()

broker = NatsBroker(
    middlewares=(
        NatsPrometheusMiddleware(registry=registry),
    )
)

app = AsgiFastStream(
    broker,
    asgi_routes=[
        ("/metrics", make_asgi_app(registry)),
    ]
)

Moreover, we have a ready-to-use Grafana dashboard you can just import and use!

To find more information about Prometheus support, just visit our documentation.

All changes

New Contributors

Full Changelog: 0.5.27...0.5.28