mcpField
O
observability

observability

github.com/serkan-ozal开发738 次安装33 周前更新
代码仓库

关于 observability

此可观测性 skill 使用浏览器和后端工具调试 Web 与 Node.js 应用,涵盖追踪关联、控制台和网络检查,以及 Web Vitals 监测。

主要功能

  1. 01生成和设置追踪 ID
  2. 02检查浏览器控制台消息
  3. 03筛选 HTTP 请求
  4. 04读取 Web Vitals 指标
  5. 05关联前端与后端追踪

适用场景

  1. 01追踪跨越前后端的请求
  2. 02排查浏览器错误和失败请求
  3. 03调试应用时检查 Web Vitals

MCP 相关

该 skill 使用 Browser DevTools MCP 能力检查浏览器追踪、控制台消息、HTTP 请求和 Web Vitals。它还介绍使用 node-devtools-cli 获取后端日志并关联追踪。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/serkan-ozal/browser-devtools-skills --skill observability

安装后在 Claude Code 中输入/observability确认已加载。

详细介绍

可观测性技能

使用 OpenTelemetry、控制台日志、网络请求和分布式追踪监控与调试 Web 和 Node.js 应用程序。

使用时机

满足以下情况时会启用此技能:

  • 用户询问分布式追踪
  • 用户希望关联前端和后端请求
  • 用户提到 OpenTelemetry、Jaeger、Zipkin 或追踪
  • 用户需要调试跨服务的请求流
  • 用户希望监控应用程序行为

功能

分布式追踪
browser-devtools-cli o11y get-trace-id
browser-devtools-cli o11y new-trace-id
browser-devtools-cli o11y set-trace-id --trace-id "abc123def456..."
控制台监控
browser-devtools-cli o11y get-console-messages
browser-devtools-cli --json o11y get-console-messages --type warning
browser-devtools-cli --json o11y get-console-messages --search "error"
网络可观测性
browser-devtools-cli --json o11y get-http-requests
browser-devtools-cli --json o11y get-http-requests --resource-type fetch
browser-devtools-cli --json o11y get-http-requests --status '{"min":400}'
性能指标
browser-devtools-cli --json o11y get-web-vitals
browser-devtools-cli --json o11y get-web-vitals --wait-ms 3000
browser-devtools-cli --json o11y get-web-vitals --include-debug

OpenTelemetry 集成

追踪上下文

Browser DevTools MCP 可以注入和提取 W3C Trace Context 标头:

  • traceparent:包含 trace-id、span-id 和追踪标志
  • tracestate:供应商专属的追踪信息
关联流程
Browser Session
    │
    ├─► trace-id: abc123
    │
    ▼
Frontend Request
    │
    ├─► Header: traceparent: 00-abc123-def456-01
    │
    ▼
Backend Service
    │
    ├─► Logs with trace-id: abc123
    │
    ▼
Observability Platform
    │
    └─► Full trace visualization
后端可观测性(node-devtools-cli)

将前端追踪与后端行为关联时,使用 node-devtools-cli 检查 Node.js 进程:

# Connect to backend
node-devtools-cli --session-id backend debug connect --pid 12345

# Get console logs from Node process (can correlate with trace ID in logs)
node-devtools-cli --session-id backend --json debug get-logs
node-devtools-cli --session-id backend --json debug get-logs --search "trace"

# Optional: set tracepoints on backend handlers to capture call context
node-devtools-cli --session-id backend debug put-tracepoint \
  --url-pattern "routes/api.ts" \
  --line-number 25

调试工作流

SESSION="--session-id trace-session"

# 1. Generate new trace ID
browser-devtools-cli $SESSION o11y new-trace-id

# 2. Navigate (requests will carry trace ID)
browser-devtools-cli $SESSION navigation go-to --url "https://app.example.com"
browser-devtools-cli $SESSION sync wait-for-network-idle

# 3. Perform actions
browser-devtools-cli $SESSION interaction click --selector "#submit"
browser-devtools-cli $SESSION sync wait-for-network-idle

# 4. Get trace ID for backend correlation
browser-devtools-cli $SESSION o11y get-trace-id

# 5. Check console errors
browser-devtools-cli $SESSION --json o11y get-console-messages --type error

# 6. Check network requests
browser-devtools-cli $SESSION --json o11y get-http-requests

# 7. Cleanup
browser-devtools-cli session delete trace-session

使用现有追踪 ID

SESSION="--session-id trace-session"

# Set trace ID from backend
browser-devtools-cli $SESSION o11y set-trace-id --trace-id "abc123def456789..."

# Navigate (requests will use this trace ID)
browser-devtools-cli $SESSION navigation go-to --url "https://app.example.com"

# All subsequent requests carry the trace ID
browser-devtools-cli $SESSION interaction click --selector "#api-call"

配置

环境变量
变量描述默认值
OTEL_ENABLE启用 OpenTelemetryfalse
OTEL_SERVICE_NAME服务标识符frontend
OTEL_EXPORTER_TYPE导出目标none
OTEL_EXPORTER_HTTP_URL收集器端点-
OTEL_EXPORTER_HTTP_HEADERS身份验证标头-
导出器类型
类型描述
none已禁用
console输出到控制台
otlp/http发送到 OTLP 收集器

常见平台

Jaeger
OTEL_EXPORTER_HTTP_URL=http://localhost:4318
Grafana Tempo
OTEL_EXPORTER_HTTP_URL=http://tempo:4318
Honeycomb
OTEL_EXPORTER_HTTP_URL=https://api.honeycomb.io
OTEL_EXPORTER_HTTP_HEADERS=x-honeycomb-team=YOUR_API_KEY
Datadog
OTEL_EXPORTER_HTTP_URL=http://localhost:4318

最佳实践

  1. 为每个测试场景生成新的追踪 ID
  2. 在错误报告中记录追踪 ID
  3. 先检查控制台中的 JavaScript 错误
  4. 筛选相关端点的网络请求
  5. 关联前端和后端的时间戳
  6. 使用包含追踪上下文的结构化日志
  7. 设置 OTEL 导出器以全面查看追踪

评论

支持 Markdown