Skip to main content

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 nameWhen
memledger.addevery Memledger.add()
memledger.searchevery Memledger.search()
memledger.getMemledger.get() and chain hops
memledger.conflict_detectedwhen add() finds a near-duplicate
evaluators.mai_deterministicTier 1 evaluator runs
evaluators.mai_structuralTier 3 evaluator runs
evaluators.mai_ragasTier 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.