Skip to main content

LLM Observability

Oodle's LLM Observability helps engineering teams track how large language models are used across their applications — including prompts, responses, token consumption, and estimated costs.

How It Works

Oodle ingests traces that follow the OpenTelemetry Gen AI semantic conventions. When your application instruments LLM calls with these conventions, Oodle automatically:

  • Detects the model from gen_ai.request.model and gen_ai.response.model span attributes
  • Extracts input and output token counts from gen_ai.usage.input_tokens and gen_ai.usage.output_tokens
  • Displays prompt and response messages from gen_ai.input.messages and gen_ai.output.messages
  • Calculates estimated costs based on your configured model pricing

All of this is surfaced in the Traces explorer through a dedicated Gen AI panel on each LLM span.

Model Definitions

Model Definitions let you configure pricing information for each LLM model your applications use. Navigate to AI Assistant → Model Definitions in the sidebar (ap1, us1).

How pricing works

Each model definition includes:

FieldDescription
Model NameDisplay name (e.g. gpt-4o)
Match PatternRegex matched against the model name in traces
Input PriceCost per 1M input tokens (USD)
Output PriceCost per 1M output tokens (USD)

When a trace span includes token usage and a model name, Oodle walks the model definitions list and applies the first matching pattern to estimate the cost.

Getting Started

1. Send LLM traces

Instrument your application to send traces with the OpenTelemetry Gen AI semantic conventions. You can use:

  • OpenTelemetry SDK — add the Gen AI instrumentation to your existing OTel setup
  • OpenTelemetry Collector — route traces through a collector configured to export to Oodle

See the OpenTelemetry integration guide for collector and SDK configuration.

2. Verify traces

Navigate to the Traces page in Oodle and look for spans with gen_ai.* attributes. The Gen AI panel should appear automatically on LLM spans, showing model name, token counts, and messages.

3. Configure model pricing

Go to AI Assistant → Model Definitions to review detected models and configure pricing. Detected models that don't match any default pattern will appear at the top of the table with a warning — click to add pricing.

Cost Tracking

Once model definitions are configured, Oodle shows an Est. Cost on every LLM span in the trace view. The cost is calculated as:

cost = (input_tokens / 1,000,000) × input_price
+ (output_tokens / 1,000,000) × output_price

For parent spans (agent invocations), Oodle aggregates token counts from child LLM spans and shows the total estimated cost.


Support

If you need assistance or have any questions, please reach out to us through: