Traces & risk
Open core · self-host + all Splyntra Cloud plans
Traditional APM was built for request/response services. An agent is different: one run fans out into planning steps, model calls, tool invocations, retrievals, and sub-agent handoffs, each carrying free-form text that may hide a secret, PII, or an injected instruction. Splyntra makes the agent run the first-class unit and attaches both performance and security signal to every span inside it.
The runs → traces → spans hierarchy
| Level | What it is |
|---|---|
| Run | One end-to-end execution of an agent — the unit you search, score, and cost. A run rolls up duration, token spend, and a single risk score. |
| Trace | The OpenTelemetry trace backing a run: a connected tree of spans sharing a trace_id. |
| Span | A single timed operation within the trace — a step, an LLM call, a tool call — with latency, attributes, and any risk findings. |
A run is the friendly, agent-centric view; the trace and its spans are the underlying OpenTelemetry representation. See Data model for the exact attributes on each.
Span kinds
Splyntra classifies every span into a kind, which drives how it is rendered in the trace waterfall and which detectors apply.
| Span kind | Represents | Typical source |
|---|---|---|
agent | A whole agent run or sub-agent handoff | LangGraph graph run, CrewAI kickoff, @trace_agent |
step | A planning or workflow step within an agent | LangGraph node, CrewAI task |
llm_call | A model completion, with model, tokens, and cost | OpenAI / Anthropic / Ollama call, @trace_llm |
tool_call | A tool or function invocation | CrewAI tool, MCP tools/call, @trace_tool |
retrieval | A RAG retrieval step | LlamaIndex retriever |
vector_search | A vector-store query | Chroma query/get |
The unified risk overlay
The defining idea in Splyntra is that observability and security are the same spans viewed two ways. As spans flow through the pipeline, the detectors — secret, PII, moderation, tool-guard, and prompt-injection — read them and attach findings to the exact span where the risk appeared. Those findings roll up into a single 0–100 risk score on the run.
Because the risk lives on the same spans as the timing data, you can move from "this run
scored 82/100" straight to the tool_call span that leaked an API key — no separate
SIEM and no correlation guesswork. Redaction runs before storage, so the raw secret is
never persisted.
The pipeline redacts and scores risk on every plan. On Splyntra Cloud, the dedicated Security dashboard that surfaces incidents requires the Pro plan or higher.
Next steps
- Data model — the attributes and semantic conventions behind spans.
- The risk score — how detectors map to the 0–100 score.
- Traces — the explorer, waterfall, and risk drill-down.