关于 netra-mcp-usage
Netra MCP Usage 是用于查询 Netra 追踪记录和会话的技能,帮助构造符合架构的输入。它将排查流程从筛选、分页搜索延伸到 Span 检查和事件分诊。
主要功能
- 01按时间范围和条件查询追踪记录
- 02排序与游标分页
- 03按追踪 ID 获取完整 Span 树
- 04会话详情及汇总数据
- 05事件调查工作流
适用场景
- 01查找事件期间的错误追踪记录
- 02调查耗时或成本较高的追踪记录
- 03查看会话中的全部追踪记录
MCP 相关
该技能指导使用 Netra MCP 工具查询追踪记录、获取追踪 Span 并检索会话详情。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ keyvaluesoftwaresystems/ netra-skills --skill netra-mcp-usage安装后在 Claude Code 中输入/netra-mcp-usage确认已加载。
详细介绍
Netra MCP 使用指南
需要通过 Netra MCP 工具检查跟踪记录,并希望使用精确、符合架构的输入时,请使用此技能。
范围
- 在指定时间范围内查询跟踪记录,并进行筛选、排序和游标分页。
- 获取所选跟踪 ID 的完整 Span 树。
- 获取会话级详细信息以及会话中的所有跟踪记录。
- 指导从搜索跟踪记录到根因分析的事件排查/调试工作流。
主要 MCP 工具
netra_query_tracesnetra_get_trace_by_idnetra_get_session_details
工作流
- 从较短的时间窗口和较低的数量限制开始。
- 添加隔离相关跟踪记录所需的最少筛选条件。
- 根据目标排序(最新、最慢、成本最高、错误)。
- 使用返回的游标值翻页浏览结果。
- 获取某个跟踪 ID 的完整 Span。
- 检查层级结构、状态、延迟和属性。
- 需要获取会话的所有跟踪记录或会话级成本/令牌总量时,使用
get_session_details。
query_traces 输入架构
必填:
startTime(字符串,ISO 8601)endTime(字符串,ISO 8601)
可选:
limit(数字,1-100,默认值为 20)cursor(字符串)direction(up|down,默认值为down)sortFieldsortOrder(asc|desc,默认值为desc)filters(筛选对象数组)
sortField 值
latency_msnametotal_costhas_piihas_violationstart_timeenvironmentservicehas_errortotal_tokens
筛选对象架构
每个筛选对象必须包含:
fieldvaluetypeoperator
筛选对象中的可选项:
key(用于嵌套/对象式筛选)
field 值
nametenant_iduser_idsession_idenvironmentservicemetadataprojectIdsproject_idparent_span_idhas_piihas_violationhas_errormodelstotal_costlatency
type 值
stringnumberbooleanarrayOptionsattributeKeyobject
operator 值
equalsgreater_thanless_thangreater_equal_toless_equal_tocontainsnot_equalsany_ofnone_ofnot_containsstarts_withends_withis_nullis_not_null
筛选模式
- 仅错误跟踪记录:
field: has_error、type: boolean、operator: equals、value: true
- 指定会话:
field: session_id、type: string、operator: equals、value: <session-id>
- 高延迟:
field: latency、type: number、operator: greater_than、value: 3000
- 按服务筛选:
field: service、type: string、operator: equals、value: <service-name>
- 元数据键/值:
field: metadata、type: object、key: <metadata-key>、operator: equals、value: <value>
分页模式
- 不带
cursor运行query_traces。 - 从返回的跟踪条目中获取
cursor。 - 使用该游标和
direction: down重新运行query_traces。 - 当
pageInfo.hasNextPage为 true 时继续。
get_trace_by_id 输入架构
必填:
traceId(字符串)
行为:
- 返回该跟踪 ID 的完整 Span 数组。
- 使用此工具深入检查一条跟踪记录,通常在运行
query_traces之后使用。 - 无效 ID 会返回类似“未找到”的错误。
get_session_details 输入架构
必须且只能提供以下其中一项:
session_id(字符串,可选):要检索的会话 ID。trace_id(字符串,可选):属于目标会话的跟踪 ID。系统会自动解析父会话。
两项都不提供或同时提供都会报错。
可选:
startTime(字符串,ISO 8601):时间范围的起始时间。默认为组织的数据保留窗口。endTime(字符串,ISO 8601):时间范围的结束时间。默认为当前时间。include_raw_inputs(布尔值,默认值为 false):若为 true,则包含每条跟踪记录的完整 Span 详细信息。可能会产生很大的响应。limit(数字,1-100,默认值为 50):每页最多返回的跟踪记录数。cursor(字符串):上一条响应中的分页游标。
行为说明
- 会话中的追踪按
start_time升序排序。 - 如果会话中任一追踪的
has_error=true,则status为errored;否则为completed。 totals汇总所有返回追踪的成本、输入令牌数和输出令牌数。- 分页方式与
query_traces相同:传入返回的cursor以获取下一页。
会话查询模式
- 按会话 ID 查询:
session_id: <session-id>
- 按追踪 ID 查询(自动解析到其父会话):
trace_id: <trace-id>
- 包含完整的 span 树:
session_id: <session-id>,include_raw_inputs: true
事故排查流程
- 查询事故时间范围内失败的追踪(
has_error=true)。 - 按
latency_ms降序排序,找出耗时最长的请求。 - 通过
get_trace_by_id获取一条追踪。 - 验证根 span 是否存在,以及父子 span 的调用流程。
- 检查耗时较长的 span,以及工具/模型元数据。
- 如有需要,与时间相近的成功追踪进行比较。
- 如果失败的追踪属于多轮会话,则使用
trace_id调用get_session_details,查看所有相关追踪、汇总成本,以及其他轮次是否也发生错误。
实用技巧
- 初始时间范围应尽量缩短(5-30 分钟),以便更快缩小排查范围。
- 先使用一两个筛选条件,仅在需要时再添加更多条件。
- 如果有精确匹配 ID(
session_id、user_id、tenant_id),优先使用。 - 使用
sortField=total_cost快速找出成本较高的追踪。 - 如果没有结果:先扩大时间范围,再放宽筛选条件。
- 如果已有
trace_id,但需要完整的会话上下文,请使用trace_id调用get_session_details,而不要手动通过query_traces按session_id筛选。 - 谨慎使用
include_raw_inputs: true——它会获取会话中每条追踪的完整 span 树,数据量可能很大。 - 查看
session.status,即可快速判断会话中是否有追踪发生错误,无需逐条扫描。
评论
支持 Markdown