OpenTelemetry integration
memledger is open by design. Every memory operation emits an OpenTelemetry span over OTLP — no proprietary protocol, no vendor lock-in. Wire memledger's exporter to any OTEL-supported backend: Phoenix, Jaeger, Honeycomb, Langfuse, Datadog, Grafana Tempo, AWS X-Ray, anything that speaks OTLP.
What gets emitted
Spans memledger emits today:
| Span name | When |
|---|---|
memledger.add | every Memledger.add() |
memledger.search | every Memledger.search() |
memledger.get | Memledger.get() and chain hops |
memledger.conflict_detected | when add() finds a near-duplicate |
evaluators.mai_deterministic | Tier 1 evaluator runs |
evaluators.mai_structural | Tier 3 evaluator runs |
evaluators.mai_ragas | Tier 2 LLM-judge runs |
Every span carries memledger.* attributes: agent ID, confidence, namespace, parent IDs, gate decision, eval score. The Eval span attributes page lists the evaluator-specific keys.
memledger also sets openinference.span.kind (RETRIEVER, EVALUATOR) for tools that understand the OpenInference convention.
Configure your collector
Point memledger's OTLP exporter at your collector via standard env vars:
export OTEL_EXPORTER_OTLP_ENDPOINT=http://your-collector:4317
export OTEL_SERVICE_NAME=eks-ops-agent
That's it. No memledger-specific config; standard OTEL plumbing.
Reference target: Phoenix
For a turn-key open-source observability stack with built-in memledger span recognition, see Phoenix tracing.
The full setup guide — example exporter configurations, span retention, dashboard templates — ships in a future release.