Skip to main content
GitHub

Observe

Understand agent behavior through traces, spans, and sessions.

Risicare's observability layer provides deep visibility into your AI agent's behavior.

Overview

Data Model

Session (user interaction)
  └── Trace (single request)
       └── Span (individual operation)
            ├── LLM Call
            ├── Tool Execution
            ├── Agent Decision
            └── Child Spans...

Key Metrics

MetricDescription
LatencyP50, P95, P99 response times
Token UsagePrompt and completion tokens
CostUSD cost per trace/session
Error RateFailed traces percentage
ThroughputTraces per minute

Dashboard Views

Trace List

View all traces with filtering:

  • Time range
  • Status (success/error)
  • Agent name
  • Session ID
  • Latency thresholds
  • Cost thresholds

Trace Detail

Deep dive into a single trace:

  • Span waterfall visualization
  • LLM prompts and completions
  • Tool inputs and outputs
  • Error details and stack traces
  • Cost breakdown by model

Analytics

Aggregate views:

  • Trace volume over time
  • Error rate trends
  • Latency distributions
  • Cost by model/agent
  • Top error codes

Real-Time Streaming

View traces as they happen:

# Traces appear in dashboard within ~100ms
response = client.chat.completions.create(...)

There is no query language

Risicare has no field:value search syntax and no boolean operators. A query like status:error AND agent:planner is treated as one literal string and will match nothing.

The search box takes plain text (minimum 2 characters) and matches on exactly two things:

  • the root span name, as a case-insensitive substring
  • the trace ID, as a prefix

It does not search agent names, models, content, or error codes.

Filters

Filtering is done with separate controls, not search terms:

FilterValues
Statuserrored or completed
Environmentyour configured environment name
Time windowrelative range

To narrow by anything else — model, cost, latency, agent, error code — query the REST API and filter client-side, or use GET /api/v1/diagnoses?error_code=... for error codes specifically.

Data Retention

Retention is a fixed ClickHouse TTL that varies by data type, uniform across every project during beta:

DataRetention
Traces, spans, sessions90 days
Prompt/completion content90 days — stored on the span itself
Evaluations, scorer results365 days

Captured prompt and completion text lives in the span's attributes, so it is retained for the span's full 90 days — not the 30 days stated by earlier versions of these docs.

The retention_days project setting is reserved but not yet honored, and per-plan retention tiers will ship after beta. See Data Management for the full table.

Next Steps