mcpField
L
linking-errors-to-traces

linking-errors-to-traces

github.com/posthog开发9522 次安装今天更新
代码仓库

关于 linking-errors-to-traces

面向分析人员和 Agent 的 PostHog 技能,通过共享标识符将异常事件与录屏、追踪、跨度及日志关联起来。它指导执行有范围的查询并说明数据缺口,不把时间或服务相似性当作关联证据。

主要功能

  1. 01查询错误发生记录
  2. 02关联事件与会话录屏
  3. 03获取精确追踪和跨度
  4. 04按追踪 ID 查找日志
  5. 05报告查询范围与数据缺口

适用场景

  1. 01根据问题 ID 或 URL 调查问题
  2. 02将错误发生记录与会话回放核对
  3. 03查找异常对应的追踪和日志

MCP 相关

使用 PostHog MCP 工具查询错误事件、录屏、追踪、跨度、日志及应用链接。

安装

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

$npx skills add https://github.com/posthog/ai-plugin --skill linking-errors-to-traces

安装后在 Claude Code 中输入/linking-errors-to-traces确认已加载。

附带文件references/finding-exceptions.mdreferences/finding-trace-logs.md

详细介绍

将错误关联到跟踪记录和日志

使用共享 ID 关联记录。服务和时间相同,并不能证明某条日志或跨度属于某个错误。

查找异常

对于问题 ID 或 URL,调用 posthog:query-error-tracking-issue-events,并设置 include: ["exception", "correlation"]、filterTestAccounts: false 和较小的 limit。除非用户要求提供多个,否则选择一个发生记录。注明结果是否为样本。

对于发生记录 ID 或会话 ID,请阅读 finding-exceptions.md 了解准确的查询方法。 如果用户指定了时间范围,请使用该范围。如果没有找到事件,请说明 检查的时间窗口。不要仅凭有界搜索就断言事件从未存在。

追踪 ID

  1. 回放: 如果事件包含 $session_id,请使用该 ID 调用 posthog:session-recording-get。found: false 表示未找到录制内容;错误或 会话仍可能存在。如果录制内容存在,请使用 posthog:generate-app-url 生成 /replay/{id} 链接。
  2. 精确跟踪: 对于每个唯一且非零的 32 位十六进制 $trace_id,使用该 ID 调用 posthog:apm-trace-get,并设置 excludeAttributes: true。 使用其 _posthogUrl 作为跟踪记录链接。如果事件包含 $span_id,请将其与 返回的跨度 ID 比较,按十六进制比较并忽略大小写。结果为空表示未找到该跟踪 ID 对应的保留跨度。日志仍可能存在。
  3. 会话跟踪候选项: 如果事件缺少 $trace_id,且用户询问会话跟踪记录,请 使用 posthog:apm-attributes-list 查找存储会话 ID 的跨度属性。如果存在明确 的键,请调用 posthog:query-apm-spans,使用精确的 span_attribute 筛选器、 错误发生前后的短时间窗口、flatSpans: true 和较小的 limit。这会查找匹配的 子跨度和根跨度。对于需要链接的候选项,请调用 posthog:apm-trace-get。将这些 标记为会话匹配项。仅凭时间无法证明是哪一个请求引发了错误。
  4. 同一跟踪记录的日志: 如果事件包含跟踪 ID,请阅读 finding-trace-logs.md,了解有界服务查询 和精确日志筛选器。包含所有严重级别,包括 info。即使没有保留跨度,跟踪记录 仍可能包含日志。

已知问题 ID 时,请使用 posthog:generate-app-url 生成 /error-tracking/{id}。 不要手动拼接 PostHog 链接。

报告结果

对于每条已检查的发生记录,显示错误时间、用于关联的 ID,以及可用时的问题、 回放和保留跟踪记录链接。汇总匹配日志,并注明其时间和严重级别。从日志摘录中 排除机密和不必要的个人数据。

分别说明每项缺失情况:事件没有跟踪 ID、存在跟踪 ID 但没有保留跨度、跨度没有 会话属性、没有录制内容,或检查的时间窗口内没有该跟踪 ID 对应的日志。通过会话 匹配的跨度只是候选项,只有精确的跟踪 ID 或跨度 ID 才能将其与错误关联起来。 说明任何导致搜索不完整的行数限制或时间范围。如果查询失败,请说明结果未知, 不要声称不存在匹配数据。

评论

支持 Markdown