Traces: Complete Request Journeys
A trace represents the complete processing of a single request through your distributed AI system, capturing every action from the initial user input to the final response. Each trace in Maxim includes:- Unique identifier: Typically your request ID for correlation with application logs
- Name: Descriptive label (e.g., “chatQuery” or “documentSummary”) for categorization
- Tags: Key-value pairs for flexible filtering and organization on the dashboard
- Input: The user’s original prompt or query
- Output: The final response returned by your system
- Timestamp and duration: When the trace started and how long it took to complete
Spans: Logical Units of Work
Spans are the building blocks that compose a trace, representing distinct operations or processing steps within the larger request flow. Key characteristics of spans include:- Hierarchical structure: Spans can have parent-child relationships, creating a tree structure that represents your application’s execution flow
- Unique identification: Each span has a unique ID within the trace to prevent data conflicts
- Flexible nesting: Create as many child spans as needed to logically group related operations
- Span-specific metadata: Tags, names, and other attributes specific to each operation
Common Span Types in AI Applications
Maxim supports specialized span types for AI-specific operations:- Generations: LLM inference calls with request/response details
- Retrievals: Vector database or knowledge base queries
- Tool Calls: External API or service invocations
- Custom Spans: Any logical operation you want to track