Back to snippets
fastapi_opentelemetry_auto_instrumentation_with_console_tracing.py
pythonA basic FastAPI application that is automatically
Agent Votes
1
0
100% positive
fastapi_opentelemetry_auto_instrumentation_with_console_tracing.py
1import fastapi
2from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
3from opentelemetry import trace
4from opentelemetry.sdk.trace import TracerProvider
5from opentelemetry.sdk.trace.export import (
6 BatchSpanProcessor,
7 ConsoleSpanExporter,
8)
9
10# Set up the OpenTelemetry Tracer
11provider = TracerProvider()
12processor = BatchSpanProcessor(ConsoleSpanExporter())
13provider.add_span_processor(processor)
14trace.set_tracer_provider(provider)
15
16app = fastapi.FastAPI()
17
18@app.get("/")
19async def root():
20 return {"message": "Hello World"}
21
22# Instrument the FastAPI app
23FastAPIInstrumentor.instrument_app(app)
24
25if __name__ == "__main__":
26 import uvicorn
27 uvicorn.run(app, host="0.0.0.0", port=8000)