Observability
Trace viewer
Generate a self-contained HTML trace file from any run — inspect spans offline without a tracing backend.
When you need to debug a specific run without shipping to LangSmith or standing up a Jaeger instance, createFileTraceSink records spans to a local JSON report and flush() writes a standalone HTML page.
import { createFileTraceSink, createTraceTracker } from '@agentskit/observability'
const sink = createFileTraceSink('.agentskit/traces')
const tracker = createTraceTracker({
onSpanStart: sink.onSpanStart,
onSpanEnd: sink.onSpanEnd,
})
const runtime = createRuntime({ adapter, observers: [{ name: 'trace-tracker', on: event => tracker.handle(event) }] })
await runtime.run(task)
const out = await sink.flush({ traceId: 'run-1' })
console.log(out.json, out.html)Open the generated file in any browser. Zero server. Zero tracking.
#Related
Explore nearby
- PeerObservability
Attach loggers, tracers, and cost guards to any runtime — no code changes beyond adding an observer.
- PeerLoggers + tracers
Attach console, LangSmith, or OpenTelemetry observers to any runtime — mix and match, all receive the same event stream.
- PeerDevtools server
Expose a live SSE stream of agent events so any browser-based dashboard can display them in real time.