diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index a7258725c..dcf16b023 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "417b1c5507c6c0b52938a7309de7cf3d380d1090", - "syncedAt": "2026-04-25T06:54:29.777Z" + "sha": "56eb1ffabf1dee43e6f9f2d3b7d8dda0fd081223", + "syncedAt": "2026-04-25T06:56:33.612Z" } diff --git a/docs/gateway/configuration-reference.md b/docs/gateway/configuration-reference.md index 0880b1634..98305dbef 100644 --- a/docs/gateway/configuration-reference.md +++ b/docs/gateway/configuration-reference.md @@ -896,6 +896,7 @@ Notes: - `otel.sampleRate`: trace sampling rate `0`–`1`. - `otel.flushIntervalMs`: periodic telemetry flush interval in ms. - `otel.captureContent`: opt-in raw content capture for OTEL span attributes. Defaults to off. Boolean `true` captures non-system message/tool content; the object form lets you enable `inputMessages`, `outputMessages`, `toolInputs`, `toolOutputs`, and `systemPrompt` explicitly. +- `OPENCLAW_OTEL_PRELOADED=1`: environment toggle for hosts that already registered a global OpenTelemetry SDK. OpenClaw then skips plugin-owned SDK startup/shutdown while keeping diagnostic listeners active. - `cacheTrace.enabled`: log cache trace snapshots for embedded runs (default: `false`). - `cacheTrace.filePath`: output path for cache trace JSONL (default: `$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl`). - `cacheTrace.includeMessages` / `includePrompt` / `includeSystem`: control what is included in cache trace output (all default: `true`). diff --git a/docs/logging.md b/docs/logging.md index d9bc63f43..210b30541 100644 --- a/docs/logging.md +++ b/docs/logging.md @@ -307,6 +307,10 @@ Notes: - Set `headers` when your collector requires auth. - Environment variables supported: `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_PROTOCOL`. +- Set `OPENCLAW_OTEL_PRELOADED=1` when another preload or host process already + registered the global OpenTelemetry SDK. In that mode the plugin does not start + or shut down its own SDK, but it still wires OpenClaw diagnostic listeners and + honors `diagnostics.otel.traces`, `metrics`, and `logs`. ### Exported metrics (names + types) @@ -389,6 +393,8 @@ classes you opted into. `OTEL_EXPORTER_OTLP_ENDPOINT`. - If the endpoint already contains `/v1/traces` or `/v1/metrics`, it is used as-is. - If the endpoint already contains `/v1/logs`, it is used as-is for logs. +- `OPENCLAW_OTEL_PRELOADED=1` reuses an externally registered OpenTelemetry SDK + for traces/metrics instead of starting a plugin-owned NodeSDK. - `diagnostics.otel.logs` enables OTLP log export for the main logger output. ### Log export behavior