Skip to content

feat(observability): 增加远程运行诊断 - #178

Merged
uvwt merged 1 commit into
mainfrom
feat/runtime-diagnostics
Sep 29, 2026
Merged

uvwt merged 1 commit into
mainfrom
feat/runtime-diagnostics

Conversation

@uvwt

@uvwt uvwt commented Sep 29, 2026

Copy link
Copy Markdown
Owner

说明

此 PR 是 stacked PR,基于 #176(feat/otel-trace-context),不应在 #176 之前单独合并。

在现有本地 Runtime Analytics/Stage 记录基础上增加一个面向 Nexus 的最小只读诊断契约:

  • 新增 GET /internal/runtime/diagnostics
  • 直接读取现有 Recorder 最近调用内存环,不新增第二份状态或持久化
  • 远程 DTO 仅投影调用 ID、Tool、Source、可选 Trace ID、时间、耗时、成功状态、稳定错误码/分类和 Stage
  • 不暴露 Span ID、参数、结果、stdout/stderr、命令、路径、错误正文、stack、进程指标或 P50/P95/P99
  • RecentCalls() 返回独立副本,Stage slice 深拷贝
  • diagnostics 作为可选 Runtime capability;旧 Runtime 明确返回 DIAGNOSTICS_UNSUPPORTED
  • 不修改现有 /internal/runtime/analytics 语义

验证

  • go test ./...
  • focused go test -race:observability/runtimeapi/app/httpx/nexusbridge
  • go vet ./...
  • make check
  • 真实隔离 AgentDock + NexusDock 配对 E2E
  • 官方 MCP Go SDK 调用 exec_command
  • diagnostics 返回 command.start / command.foreground_wait
  • 实际 JSON 验证 zero-payload
  • Agy 最终 staged diff 复核:无未处理 High/Medium

依赖

@uvwt
uvwt force-pushed the feat/otel-trace-context branch from ff277b1 to 28192b9 Compare September 29, 2026 11:39
@uvwt
uvwt changed the base branch from feat/otel-trace-context to main September 29, 2026 12:25
@uvwt
uvwt force-pushed the feat/runtime-diagnostics branch from 67289b1 to 8e07f49 Compare September 29, 2026 12:25
@uvwt
uvwt merged commit 2ffed4e into main Sep 29, 2026
10 checks passed
@uvwt
uvwt deleted the feat/runtime-diagnostics branch October 4, 2026 06:26
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