OpenTelemetry Integration
Root Signals provides comprehensive OpenTelemetry (OTel) integration. allowing you to export detailed observability data from judge executions and evaluations to your preferred observability platform.
Overview
With Root Signals' OTel integration, you can:
Export traces from judge and evaluation executions to any OTel-compatible backend
Monitor evaluation performance with detailed timing and scoring metrics
Correlate RS evaluations with your existing application traces
View detailed execution flows in your observability platform of choice
All judge runs and individual evaluator executions are automatically instrumented and exported as OTel spans, providing complete visibility into your AI evaluation pipeline.
Configuration
Organization-Level Setup
OTel configuration is managed at the organization level in Root Signals. Each organization can configure their own OTel endpoint and settings.
Required Configuration:
Endpoint: Your OTel traces endpoint (e.g.,
https://tempo.example.com:443/v1/traces
)Headers: Authentication headers if required by your OTel backend
Enabled: Toggle to enable/disable OTel export
Optional Configuration:
Content Capture: Include user inputs and LLM responses in spans (disabled by default for privacy)
Sampling Rate: Control the percentage of traces exported (default: 100%)
Popular Backend Examples
Grafana Tempo
Endpoint: https://your-tempo-instance.com/v1/traces
Headers:
Authorization: Bearer your-api-key
Jaeger
Endpoint: http://jaeger-collector:14268/api/traces
Headers: {}
Exported Data
Trace Structure
Each judge execution creates a parent span with child spans for individual evaluations:
└── judge.execution.JudgeName
├── judge.evaluation.EvaluatorName
└── judge.evaluation.EvaluatorName
└── ...
Span Attributes
Judge Span Attributes:
judge.name
: Name of the judge being executedjudge.evaluator_count
: Number of evaluators in the judgejudge.duration_seconds
: Total execution timejudge.user_input
: User input being evaluated (if content capture enabled)judge.llm_response
: LLM response being evaluated (if content capture enabled)
Evaluation Span Attributes:
evaluation.name
: Evaluator name (e.g., "Accuracy", "Clarity")evaluation.score
: Numerical scoreevaluation.duration_ms
: Evaluation execution time in millisecondsevaluation.evaluator_id
: Unique identifier for the evaluator instanceevaluation.justification
: Detailed reasoning for the score (if content capture enabled)evaluation.llm_response
: The response being evaluated (if content capture enabled)
Service Identification:
service.name
:"root-signals-evaluation"
service.version
: Root Signals API versionrs.component
: Component type ("judge"
or"evaluator"
)
Viewing Traces
In Root Signals
All traces are visible in the Root Signals web interface with detailed breakdowns, scores, and justifications.
In your OTel Backend
Example: Grafana/Tempo



Getting Started
Configure your OTel backend (Tempo, Jaeger, etc.)
Set up Root Signals OTel configuration in your organization settings
Run a judge to generate your first traces
View traces in both Root Signals and your OTel platform
Set up dashboards and alerts based on your specific needs
Your evaluation traces will automatically appear in both the Root Signals interface and your configured OTel backend, providing comprehensive observability into your AI evaluation pipeline.
Last updated