Traces
A trace represents a complete unit of work in your application. For example, a single API request to your server that involves multiple LLM calls would be one trace. Traces help you understand the full picture of what happened during a request, including all the LLM calls made along the way.Spans
A span is a single operation within a trace. Spans can be nested to represent parent-child relationships. For example:Generations
A generation is a single LLM API call. It captures:- Input - The messages/prompt sent to the model
- Output - The response from the model
- Model - Which model was used (e.g.,
gpt-4o,claude-3-5-sonnet) - Provider - The LLM provider (OpenAI, Anthropic, Google)
- Tokens - Input and output token counts
- Cost - Calculated cost based on token usage
- Latency - How long the request took
Projects
A project in Muxx represents a single application or environment. Each project has:- Its own API key
- Separate log storage
- Independent rate limits and settings
- Provider API keys configured per project
- One project per application
- Separate projects for development, staging, and production
Organizations
An organization is a container for projects and team members. Organizations handle:- Billing and subscription
- Team member access and roles
- Project organization
Gateway vs SDK
Use Gateway when you want caching, rate limiting, or minimal code changes.
Use SDK when you need deep tracing with custom spans and decorators.
Use both for the complete feature set.