17 lines
622 B
Python
17 lines
622 B
Python
# metrics.py
|
|
from opentelemetry.metrics import set_meter_provider
|
|
from opentelemetry.sdk.metrics import MeterProvider
|
|
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
|
|
from opentelemetry.exporter.prometheus import PrometheusMetricReader
|
|
from prometheus_client import make_asgi_app
|
|
|
|
# Set up Prometheus reader and meter provider
|
|
reader = PrometheusMetricReader()
|
|
provider = MeterProvider(
|
|
metric_readers=[reader],
|
|
resource=Resource.create({SERVICE_NAME: "fastapi-metrics-app"}),
|
|
)
|
|
set_meter_provider(provider)
|
|
|
|
# Expose the Prometheus metrics endpoint
|
|
metrics_app = make_asgi_app() # Exposes /metrics
|