Star us on GitHub
Star
Menu

FastAPI Tracing

Learn how to set up highlight.io tracing for your FastAPI app.
1
Setup your frontend Highlight snippet with tracingOrigins.

Make sure that you followed the fullstack mapping guide.

H.init("<YOUR_PROJECT_ID>", { tracingOrigins: ['localhost', 'example.myapp.com/backend'], networkRecording: { enabled: true, recordHeadersAndBody: true, }, });
Copy
2
Install the highlight-io python package.

Download the package from pypi and save it to your requirements. If you use a zip or s3 file upload to publish your function, you will want to make sure highlight-io is part of the build.

poetry add highlight-io[FastAPI]
Copy
# or with pip pip install highlight-io[FastAPI]
Copy
3
Initialize the Highlight SDK.

Setup the SDK to with the FastAPI integration.

from fastapi import FastAPI import highlight_io from highlight_io.integrations.fastapi import FastAPIMiddleware # `instrument_logging=True` sets up logging instrumentation. # if you do not want to send logs or are using `loguru`, pass `instrument_logging=False` H = highlight_io.H( "<YOUR_PROJECT_ID>", instrument_logging=True, service_name="my-app", service_version="git-sha", environment="production", ) app = FastAPI() app.add_middleware(FastAPIMiddleware)
Copy
4
Hit your FastAPI app.

Visit one of your pages in your browser that will make a request to the server.

from fastapi import Request @app.get("/") async def root(request: Request): return {"message": "Hello world!"}
Copy
5
Verify your backend traces are being recorded.

Visit the highlight traces portal and check that backend traces are coming in.