Guardy
Book a Demo Login

Documentation

Ingestion Options

Choose between Guardy-native SDK tracking and OpenTelemetry trace ingestion.

Guardy supports two ingestion paths. You can use the Guardy SDK for the richest agent-aware experience, or send OpenTelemetry traces when you already have an OTel pipeline.

Which Path Should I Use?

Use the Guardy SDK when you want the most complete Guardy experience with minimal mapping:

  • begin() and finish() sessions
  • automatic tool and LLM wrappers
  • convo_id grouping
  • production prompt variant routing with getVariant()
  • automatic run classification after completion

Use OpenTelemetry when you already have traces:

  • existing OTel SDKs or collectors
  • GenAI semantic convention spans
  • multi-vendor observability pipelines
  • gradual migration from another tracing tool

Data Model Mapping

ConceptGuardy SDKOpenTelemetry
RunSession created by begin() or create_session()One trace becomes one Guardy session
Timeline itemSDK event, tool call, or decisionEach span becomes a Guardy event
Conversation groupingconvo_id / convoIdconversation.id, guardy.convo_id, thread.id, or trace fallback
User groupinguser_id / userIduser.id, enduser.id, or guardy.user_id
Prompt variantsgetVariant() returns sticky assignmentAdd assignment attributes to spans after routing
ClassificationRuns are classified after terminal statusImported traces are classified after ingest

Recommendation

Start with the Guardy SDK unless your application already has mature OpenTelemetry traces. Use OTel when you need interoperability, but keep Guardy attributes on the root span so sessions, conversations, experiments, and classifications line up cleanly.

Next Steps