Skip to content

feat(observability): 贯通 AgentDock Trace Context - #55

Merged
uvwt merged 2 commits into
mainfrom
feat/otel-trace-context
Sep 29, 2026
Merged

uvwt merged 2 commits into
mainfrom
feat/otel-trace-context

Conversation

@uvwt

@uvwt uvwt commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner

改动

  • Nexus MCP 入站使用官方 propagation.TraceContext 提取 W3C traceparent / tracestate
  • 转发 AgentDock Tool 时只使用 OpenTelemetry API;默认 no-op,不创建 SDK Provider
  • Hub.Invoke 将现有 Trace Context 注入 AgentDock WebSocket envelope
  • 默认无 SDK 时保持上游 TraceID 关联,不伪造 Nexus 本地 child SpanID
  • 仅真实 recording span 才写 OTel status;日志只记录稳定 trace_id / 可选本地 span_id

边界

  • NexusDock 不创建、持有或 Shutdown sdktrace.TracerProvider
  • 生产代码与最终二进制均不依赖 go.opentelemetry.io/otel/sdk
  • 不使用全局 OTel Provider 状态
  • 不记录 node_id、tool arguments、output、command、path 或原始 error 文本到 Trace
  • 不引入 Exporter、Collector、Prometheus 或历史数据库
  • Nexus 配对只意味着支持标准 W3C 关联,不自动启用完整 tracing

依赖

验证

  • go test -race ./internal/observability ./internal/agentdock ./internal/httpx
  • make check
  • git diff --check
  • go list -deps ./cmd/nexusdock 确认不含 OTel SDK
  • 真实隔离 NexusDock → AgentDock MCP 调用:W3C TraceID 端到端保持,默认无 SDK 时不生成本地 SpanID
  • Agy 最终只读复审:无 High/Medium

@uvwt
uvwt force-pushed the feat/otel-trace-context branch from 139acb8 to 95c68f8 Compare September 29, 2026 11:38
@uvwt
uvwt merged commit 202f158 into main Sep 29, 2026
2 checks passed
@uvwt
uvwt deleted the feat/otel-trace-context branch September 29, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant