Trace Ingestion Panel: What Is This?
Overview
The Trace Ingestion panel lets you see what your AI is doing behind the scenes. Think of it like a flight recorder for AI conversations: it captures every step your AI takes when processing a request, so you can understand what happened, what went wrong, or what could be improved.
Where to Find It
Open the Observability icon in the left activity bar. Trace Ingestion now lives on that dedicated workbench page instead of below the Chat panel, so chat keeps the full left-column height while ingestion gets a wider tool surface.
The page header is part of the app shell, and the live panel still contains the same project switcher, Supabase status, import controls, trace viewer, live toggle, and recent activity summary.
What is a "Trace"?
A trace is a detailed log of one AI interaction from start to finish. For example, when your AI answers a question, a trace records:
- What the user asked (the input)
- What the AI did internally (looked up information, called tools, processed text)
- What it returned (the output)
- How long each step took
- Whether anything went wrong
Traces are saved in a standard format called OpenInference (or OTLP), which is used across the AI industry.
What Each Button Does
Drop Zone: "Drop an OpenInference / OTLP trace file"
This is where you upload a trace file. You can either:
- Drag and drop a
.jsontrace file onto the area - Click to browse and select a file from your computer
Once uploaded, the trace is stored in your project's database and you can visualize it in the brain view.
Load Sample Trace
Don't have your own trace file? Click this to load a pre-made example trace. It shows you what the panel looks like when it has real data: useful for exploring the interface without setting anything up first.
View Traces
Opens a list of all traces you've imported or received. From there you can:
- See a timeline/waterfall of each trace
- Click into individual steps (called "spans") to see details
- Check for errors, slow steps, or unexpected behavior
Go Live
Turns on real-time streaming. When active, any new traces sent to your project (from a running application instrumented with OpenTelemetry) appear instantly in the brain visualizer: no manual import needed.
The button shows a count of how many spans have been received while live mode is active. Click again to stop.
The Status Indicator
At the top right of the panel you'll see either:
- Supabase: configured (green): Your database connection is working. Traces will be stored.
- Supabase: not configured (grey): No database connection. You can still view sample data but nothing will be saved.
When Would I Use This?
| Use Case | How |
|---|---|
| Debugging AI behavior | "Why did the AI give a weird answer?" Import the trace and step through what happened. |
| Performance monitoring | See which steps are slow and where time is being spent. |
| Quality evaluation | After importing traces, the system can automatically score each AI response for quality. |
| Live monitoring | Watch your AI application in real time as users interact with it. |
How Traces Get Here
Traces arrive in two ways:
1. Manual import
You export a .json trace file from your AI framework (like LangChain, LlamaIndex, or OpenAI) and drop it into the panel.
2. Live ingestion
Your application sends traces directly to the OTLP receiver endpoint. This happens automatically when your app is instrumented with OpenTelemetry and pointed at your project's ingestion URL:
https://vsfajebxloenaertaten.supabase.co/functions/v1/otlp-receiver
The request must include the x-exepert-ingest-key header for authentication.
Visual Guide
Glossary
| Term | Meaning |
|---|---|
| Trace | A complete log of one AI request from start to finish |
| Span | A single step within a trace (e.g., "called OpenAI", "searched database") |
| OTLP | OpenTelemetry Protocol: the standard format for sending trace data |
| OpenInference | A trace format designed specifically for AI/LLM applications |
| Ingestion | The process of receiving and storing trace data |
| Live mode | Real-time streaming of traces as they happen |
For developers: the OTLP receiver edge function is at supabase/functions/otlp-receiver/index.ts. See the MCP Setup guide for deploying and managing edge functions.