Skip to content

Telemetry docs: rewrite for SDK-spec OTEL variables and semconv metrics (targets 1.0.0-alpha4) #531

Description

@Rachael-Graham

Important

Unblocked. kagent#2909 and kagent#2929 both shipped in 1.0.0-alpha4, which is released. The hold in the original description no longer applies and this is actionable now, against alpha5 as the current release.

The KAGENT_ environment rename does not touch this work. alpha5 moved 138 kagent-specific settings under a KAGENT_ prefix, but OTEL_* variables are explicitly excluded — verified in docs/env.md at the alpha5 tag, where OTEL_EXPORTER_OTLP_* and OTEL_TRACES_EXPORTER still appear unprefixed.

One addition from alpha5: kagent#2772 flushes buffered OTEL logs, which affects what a reader sees at the end of a session.

Pages listed below are also being rewritten for the Agent and Session rename in #549. Sequence this after that pass, or expect to edit the same files twice.

What changes

kagent#2909 ("feat(telemetry): configure runtimes with SDK-spec OTEL variables") replaces kagent's own telemetry flags with the standard OpenTelemetry SDK variables, from the chart through to every runtime. It is a breaking change for anyone following the current pages.

Chart values removed: otel.tracing.*, otel.logging.*, otel.captureSensitiveContent, and insecure (the URL scheme decides now).

Replacements: otel.exporter.otlp.{endpoint,protocol,timeout}, otel.traces|metrics|logs.{enabled,endpoint,protocol}, and otel.capture.{messageContent,maxBytes,rawApiBodies}. A per-signal endpoint is now used as given — the chart no longer appends /v1/<signal>.

Environment variables removed: OTEL_TRACING_ENABLED, OTEL_LOGGING_ENABLED, OTEL_EXPORTER_OTLP_*_INSECURE, KAGENT_OTEL_CAPTURE_SENSITIVE_CONTENT, KAGENT_PRE_RESPONSE_TRACE_FLUSH, KAGENT_TRACE_FLUSH_TIMEOUT_MS, and the legacy endpoint aliases. Use OTEL_TRACES|METRICS|LOGS_EXPORTER and OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=SPAN_ONLY|NO_CONTENT.

Three behavior changes that need prose, not just a value swap:

  • --reuse-values stops working. Upgrades need helm upgrade --reset-then-reuse-values; plain --reuse-values from an older release fails on the new otel.metrics key. Every upgrade snippet in the docs uses the old flag.
  • An unset exporter now means on. A runtime started without OTEL_*_EXPORTER exports to localhost, which is the SDK default. Previously it stayed off.
  • Baggage is no longer propagated. OTEL_PROPAGATORS=tracecontext, so a caller's baggage does not reach MCP servers or model providers. Opting back in means setting OTEL_PROPAGATORS=tracecontext,baggage in Harness spec.env.

Harness spec.env also now rejects OTEL_SERVICE_NAME, OTEL_SDK_DISABLED, the exporter, endpoint, protocol and timeout variables, and OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT for the Claude and Codex harnesses. The kagent harness overrides them.

Pages affected

Surveyed against 1.x on 2026-09-24:

Page Why
1.x/observability/tracing.md otel.tracing.*, captureSensitiveContent
1.x/observability/audit-prompts.md otel.logging.*, captureSensitiveContent, OTEL_EXPORTER_OTLP, --reuse-values
1.x/agents/agent-harness.md otel.logging.*, captureSensitiveContent, and the new spec.env rejections
1.x/setup/installation.md --reuse-values
1.x/agents/agent-memory.md --reuse-values
1.x/reference/helm.md helm-docs output — regenerates from the chart, do not hand-edit

Before starting

Confirm kagent#2909 has merged and is in a released chart, then read docs/architecture/telemetry.md in the kagent repo at that release — the PR rewrites it (+54/-36) and it is the authoritative description of the new model.

Done when

  • kagent#2909 is merged and in a released chart version the 1.x docs target
  • Every removed value and environment variable is gone from the five hand-written pages
  • Upgrade snippets use --reset-then-reuse-values
  • The three behavior changes above are stated in prose, not just reflected in a values table
  • 1.x/reference/helm.md regenerated rather than edited
  • Harness spec.env rejections documented on the harness page

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions