GoodMemGoodMem
ReferenceOpenTelemetry

OpenTelemetry support

Trace export, backend compatibility, data controls, and operational limits.

OpenTelemetry support

GoodMem exports server traces through OpenTelemetry (OTel) for API requests, retrieval stages, provider calls, and background job attempts. Export is off by default.

Supported signals

SignalGoodMem support
TracesBuilt-in instrumentation with OTLP export over gRPC or HTTP/protobuf
MetricsThe existing Micrometer metrics use the Prometheus /metrics endpoint
LogsApplication logs include trace and span IDs when a span is current

The OTel metric and log exporter settings control separate SDK signals; GoodMem keeps its existing metrics and logs on their current paths. See Server Runtime Footprint for metrics endpoint authentication.

Backend compatibility

GoodMem uses the neutral export profile by default, while the langfuse and langsmith profiles add destination-specific metadata. The exporter and endpoint settings control where spans go.

BackendVersion or last verifiedScope
Jaeger2.21Neutral profile
Tempo3.0.3Neutral profile
Langfuse4.46Langfuse profile
LangSmithSeptember 2026LangSmith profile, link mode

An OTLP-compatible collector can also route traces to other destinations, such as Datadog or Honeycomb, which we did not verify. Use the destination documentation for its collector exporter and authentication.

Trace data

Traces contain operation names, durations, outcomes, counts, and selected provider metadata, plus principal, API-key, resource, memory, and space identifiers where available. The API-key field contains its UUID. These identifiers can reveal sensitive activity. Restrict access to the collector and backend.

GoodMem trace instrumentation excludes query text, memory content, prompts, generated text, credentials, authentication headers, and SQL bind values. This integration has no content-capture option, so backend input and output panels remain empty. The exporter removes raw exception messages, exception stack traces, and free-form span status descriptions but retains exception types.

Incoming trace context supplies correlation data only; GoodMem authenticates and authorizes each request independently. Remote baggage is off by default.

Operational limits

GoodMem reads telemetry configuration at startup and continues to serve requests if SDK initialization fails. In that case, it disables export and emits a sanitized diagnostic. Use the delivery checks to confirm that spans reach the backend.

A bounded queue holds spans for batch export. Export failures, saturation, or a forced exit can lose spans. Shutdown drains application work before a short, bounded final export. For planned stops, follow the drain and container-stop guidance. For persistent retrieval records, use RetrieveMemory Query Logging, which has separate content controls and retention settings.

Attribute compatibility

goodmem.* attribute names remain stable within a minor version: GoodMem can add names but does not delete or rename existing ones.

The upstream GenAI conventions remain in development; their names and vendor aliases fall outside the GoodMem stability guarantee. See Spans, attributes, and outcomes for the generated attribute inventory.

Connect application traces

One shared application-and-GoodMem trace requires the default parent policy and a caller transport that supplies W3C trace context. The link policy creates a separate trace with a caller link. See Connect the caller trace for REST, gRPC, and MCP transport requirements.

Next steps