查找和探索轨迹

如需查看跟踪记录数据的汇总表示形式,或查找和探索包含特定标签的各个跟踪记录或跟踪记录,请使用 Trace 探索器页面。

以下屏幕截图展示了跟踪记录数据的显示方式:

跟踪记录数据示例显示。

如需运行对 span 执行汇总分析的查询,请使用 Observability Analytics 页面或 BigQuery。这两个界面都支持使用 SQL 查询 span 数据。使用 Observability Analytics 页面时,您可以将查询结果显示为表格或图表。如需详细了解如何使用 SQL 查询跟踪记录数据,请参阅查询和分析跟踪记录

此功能仅适用于 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或管理项目。

Trace 探索器页面简介

为了帮助您识别轨迹数据中的趋势和模式,系统会将延迟时间数据汇总并显示在图表中。热图使用颜色来表示单元格中的跨度数。包含多个 span 的单元格的颜色比包含少量 span 的单元格深。每个单元格的工具提示都会显示延迟时间和其他信息。 您还可以查看延迟时间百分位和跨度比率信息。

在调查问题时,您可能希望查看特定轨迹或仅查看具有某些属性的 span:

  • 如需限制显示哪些 span,请应用过滤条件。例如,您可以按服务、应用、错误状态和其他属性进行过滤。

  • 如需显示特定轨迹,请使用工具栏的点击 搜索轨迹选项。

如需识别离群值并查看各个 span 的详细信息,请使用表格部分:

  • 您可以按“时长”标题对“区间”和“分组”标签页中的行进行排序。

  • 如需了解不同服务生成的 span 数量,请使用分组标签页。每一行都对应一个服务和 span 名称,并且每个条目都会显示延迟统计信息。

如需探索 span 或分组的详细信息,请从表格部分的某一行中选择相应条目。系统会打开一个弹出式窗口,其中显示了相应 span 在其跟踪记录中的上下文。在此视图中,您可以探索 span 及其属性,并查看事件和日志数据。您还可以在轨迹中搜索 span 和属性中的关键字

Trace 探索器页面所依赖的跟踪记录数据取决于以下因素:

  • 范围设置,用于确定系统在哪些视图中搜索轨迹数据。当页面打开时,范围元素会设置为默认的跟踪记录范围,并且系统会查询该范围中列出的视图以获取跟踪记录数据。

    在新项目中,默认的轨迹范围会列出项目的 _AllSpans。该视图提供对项目存储的所有轨迹数据的读取权限。

  • 您对搜索到的视图拥有的 Identity and Access Management (IAM) 权限。如果您没有查看项目跟踪数据的权限, Google Cloud 控制台会显示一条警告消息,并且不会显示相应项目的数据。

  • 时间范围设置。

  • 您应用的过滤条件。

本页面的其余部分详细介绍了如何查找和探索跟踪记录数据。

准备工作

如需获得使用 Google Cloud 控制台查看跟踪记录数据或选择跟踪记录范围所需的权限,请让您的管理员为您授予项目的 Cloud Trace User (roles/cloudtrace.user) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含使用 Google Cloud 控制台查看轨迹数据以及选择轨迹范围所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需使用 Google Cloud 控制台查看跟踪数据并选择跟踪范围,您需要拥有以下权限:

  • 如需选择跟踪范围: cloudtrace.traceScopes.[get, list]
  • 如需读取默认跟踪范围: observability.scopes.get

您也可以使用自定义角色或其他预定义角色来获取这些权限。

如需详细了解角色,请参阅使用 Identity and Access Management 控制访问权限

查看汇总的跟踪记录数据

如需查看有关跟踪记录数据的汇总信息,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Trace 探索器页面:

    转到 Trace 探索器

    您也可以使用搜索栏查找此页面。

    首次将跟踪记录数据写入 Google Cloud 项目后,可能需要几分钟时间才能查看该数据。如果您在等待几分钟后未看到任何跟踪数据显示,则可能是您的项目没有任何数据可供显示,或者存在配置问题。如需了解如何解决这些问题,请参阅问题排查:跟踪记录界面中没有数据

  2. 配置 Trace 探索器页面:

    1. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或管理项目。
    2. 可选:使用 Scope 元素配置系统搜索轨迹数据的视图

      • 如需显示项目存储的轨迹数据,请将范围元素的第一个菜单设置为 项目 _默认。这两种设置是等效的。

      • 如需显示多个项目存储的跟踪记录数据,请展开范围元素的第一个菜单,选择跟踪记录范围,然后选择列出这些项目的 _AllSpans 视图的跟踪记录范围。 选择完成后,“范围”菜单会显示轨迹范围图标 和所选轨迹范围的名称。

      系统显示的数据取决于您在搜索到的视图中的 IAM 角色。例如,如果您没有查看视图中数据的必要权限,系统就不会显示该数据。

      如需了解详情,请参阅创建和管理跟踪记录范围

    3. 可选:使用时间范围选择器或使用指针突出显示 x 轴上的范围,以更新时间范围。

      例如,如果您想了解延迟时间数据是否存在任何趋势,可以将此选择器设置为过去 2 周。 跨度数据的存储有效期为 30 天。

  3. 探索热图:

    • 使用颜色来识别趋势和离群点。包含多个跨度的单元格的颜色比包含少量跨度的单元格更深。

    • 使用单元格的工具提示查看单元格的详细信息。提示会列出跨度数、日期和时间以及单元格的时间间隔。

  4. 探索延迟百分位数和错误率:

    • 如需查看延迟时间趋势,请将图表视图菜单设置为跨度时长(百分位)。时长图表会显示第 50、第 90、第 95 和第 99 百分位。

    • 如需查看响应状态随时间的变化,请将图表视图菜单设置为跨度率。该图表会显示发送到您项目的 span 的速率。

  5. 使用 Span 表格和分组表格可识别离群值或查看统计信息。Span 表列出了各个 span。分组表按 span 名称以及服务或工作负载名称对 span 进行分组。

    • 如需查看离群点或查找 span 名称,请对表格进行排序。您可以按任意列标题进行排序。

      例如,按时长对 Spans 表进行排序,可让您找到延迟时间较长的 span。

    • 如需查看平均延迟时间等统计信息,请使用分组表。

    • 如需查找已向 App Hub 注册的服务和工作负载,请在服务/工作负载列中搜索包含服务图标 或工作负载图标 的条目。 通过在 App Hub 中注册的服务或工作负载提供的链接可打开相应的应用监控信息中心。

    如果您想详细了解特定分组,请选择相应行的 span 名称。系统会打开一个弹出式窗口,其中显示了相应 span 在其跟踪记录中的上下文。然后,您可以探索 span 和轨迹

  6. 如需限制显示哪些 span,请添加过滤条件。 如需详细了解如何过滤轨迹数据,请参阅下一部分。

过滤轨迹数据

如需仅显示您感兴趣的信息,请应用过滤条件。 过滤条件用于限制显示的数据。例如,您可以按服务名称和状态进行过滤。或者,如果您已将应用部署到 App Hub,则可能只想查看应用或应用中特定服务或工作负载的跟踪记录数据。

添加或移除过滤条件后,Trace 探索器页面显示的数据会刷新,并且仅显示与所有已应用的过滤条件匹配的 span。

按 ID 过滤轨迹

在排查突发事件或故障时,您可能知道轨迹 ID。如需探索该轨迹,请前往工具栏,依次点击 搜索轨迹,然后输入轨迹 ID

当您输入有效 ID 后,系统会打开详情弹出式菜单,其中显示了有关相应轨迹及其 span 的信息。您可以使用该窗格中的选项来探索轨迹。例如,您可以搜索跨度中的关键字

应用跨度过滤条件

跨度过滤条件窗格列出了最常见的过滤条件。您可以从任何子类别中选择多个条目。添加或移除过滤条件时,过滤条件栏也会随之更新。

所有菜单的值均派生自您的轨迹数据。如果某个菜单包含不含任何文字的选项,则该选项是指不包含相应属性的 span。

以下是通常可用的跨度过滤条件

  • OpenTelemetry 服务:按 service.name 属性过滤。
  • Span 名称:span 的名称。
  • span 状态:请求状态。如需了解这些值,请参阅 OpenTelemetry SpanStatus 文档
  • 时长:时间段的时长。
  • Span kind:描述 span 之间的关系。如需了解这些值,请参阅 OpenTelemetry SpanKind 文档
  • App Hub 应用:按 gcp.apphub.application.id 资源属性过滤。
  • App Hub 服务:按 gcp.apphub.service.id 资源属性过滤。
  • App Hub 工作负载:按 gcp.apphub.workload.id 资源属性进行过滤。

如果您想按时间段过滤条件窗格中未列出的属性进行过滤,请使用过滤条件栏。

使用过滤栏

借助过滤栏,您可以应用具有预定义过滤键和您所选值的过滤条件,也可以同时输入键和值。

如需添加过滤条件,请选择添加过滤条件,然后执行以下任一操作:

  • 选择一个已定义的键,例如 Span name,然后从二级菜单中选择一个值。
  • 选择添加属性过滤条件,然后添加自定义键和值。 如果您输入自己的过滤键,请使用与 span 上属性的键相同的语法。

    例如,如需按主机标识符过滤,请将键设置为 host.id。同样,如需按状态代码过滤,请将键设置为 /http/status_code。在这种情况下,您可以将值设置为 200,从而生成过滤条件 /http/status_code: 200。如需让过滤条件匹配任何值,请选择任意值

按应用过滤

如需查找或查看 App Hub 注册的服务和工作负载生成的 span,您的 span 必须包含以下资源属性:

  • gcp.apphub.application.{container,id,location}
  • gcp.apphub.{workload,service}.{criticality_type,environment_type,id}

上述资源属性由您添加到应用中的插桩生成。您可以按任何资源属性过滤轨迹数据。不过,以下范围过滤条件会按应用、服务和工作负载 ID 进行过滤:

  • App Hub 应用
  • App Hub 服务
  • App Hub 工作负载

如需打开在 App Hub 中注册的服务和工作负载的应用监控信息中心,请执行以下操作:

  1. 前往跨度分组表,然后找到相应服务或工作负载。您可以查找服务图标 、工作负载图标 ,也可以过滤表格。

  2. 选择服务/工作负载列中的链接。

探索轨迹

如需在轨迹的上下文中探索 span,请执行以下操作:

  1. 打开并配置 Trace 探索器页面。如需了解这些步骤,请参阅查看汇总的跟踪数据

  2. 如需查看 span 或 trace 的详细信息,请执行以下操作之一:

    • 前往 Trace 探索器页面,然后从表格中选择一个条目。您可以按任意表格标题对表格的行进行排序。您可以应用过滤条件来限制表格中显示的 span。

    • 前往 Trace 探索器页面的工具栏,点击图标 搜索轨迹,然后输入轨迹 ID

      系统会打开详情弹出式菜单,并以时间轴格式显示轨迹及其 span,还会显示有关所选 span 的信息:

      轨迹弹出式窗口示例。

      弹出式窗口包含分屏。一侧会在跟踪记录上下文中显示 span。另一侧显示多个标签页,可用于查看特定时间段的信息,例如属性、元数据以及附加的提示和回答。如需详细了解这些标签页,请参阅查看属性、日志条目和事件

      时间轴的元素是动态的。如需探索其他 span,请选择相应 span 以查看所选 span 的属性、日志条目和事件

探索调用层次结构

默认情况下,调用层次结构会显示为时间轴。第一个条目表示轨迹,后续每个条目表示一个 span。每个条目都会显示以下内容:

  • 名称列会显示名称以及 span 或轨迹 ID。 GenAI 图标 表示 span 包含生成式 AI 事件或属性。
  • 服务/工作负载列显示服务或工作负载名称。系统会使用 OpenTelemetry 属性 service.name 设置此值。作为后备方案,对于 App Engine 服务,系统会显示 App Engine 服务名称。
  • 延迟时间条的颜色和长度反映了命令状态和持续时间。
  • 延迟时间条上的圆圈表示日志条目或事件与相应 span 相关联。如需更改此行为,请使用日志和事件菜单。

如需将调用层次结构显示为有向无环图 (DAG),请在工具栏中选择

显示有向无环图的轨迹。

在 DAG 视图中,每个元素都会显示名称和延迟时间。颜色反映了 span 的状态。您可以使用指针上的滚轮来更改图表大小。

搜索跟踪记录中的 span

如需在轨迹中搜索跨度中的关键字,请使用在轨迹中查找字段。

搜索仅适用于 span 名称、服务或工作负载名称以及属性字段。 您只能按纯文本进行搜索,无法搜索日志、事件或元数据。

例如,如果您输入 GET,则系统会突出显示名称服务/工作负载属性窗格中显示 GET(忽略大小写)的文本。

查看属性、日志条目和事件

跨度的详细信息弹出式菜单包含以下各个标签页:

  • 输入/输出:显示遵循 OpenTelemetry GenAI 语义惯例的事件。仅当 span 包含这些事件时,才会显示此标签页。为了帮助您识别这些 span,时间轴视图会在 span 包含遵循这些惯例的事件或属性时,显示一个 GenAI 图标 以及 span 名称。如需了解详情,请参阅查看生成式 AI 事件和属性

  • 属性:列出附加到 span 的属性。 轨迹探索器会通过显示 GenAI 图标 来指明哪些 span 包含生成式 AI 属性。 如需了解标签,请参阅跟踪记录标签

  • 日志和事件:此标签页会列出 trace_idspan_id 字段与所选 span 匹配的事件和日志条目。系统仅显示您有权查看的日志条目。

    如需探索此标签页上的条目,请点击 展开

    如果您更喜欢使用 Logs Explorer 页面查看日志数据,请点击查看日志。查询设置为过滤到特定轨迹、span 和时间范围。

  • 堆栈轨迹:列出可用的堆栈轨迹。

  • 元数据和链接:列出有关 span 的一般信息:

    • span ID:span ID 是一个 64 位整数(0 除外)。如需了解详情,请参阅 TraceSpan
    • 父级 span ID。
    • 项目 ID。
    • 开始时间和结束时间。
    • 列出指向其他 span 的链接的表格。对于每个链接,此表格会列出以下信息:

      • 关联到的 span 的键值对。
      • 关联到的 span 的跟踪记录 ID。如果此字段列出当前轨迹,则表示该 span 链接到同一轨迹中的另一个 span。

      如需了解链接,请参阅 Links API 参考文档页面。

查看生成式 AI 事件和属性

如需识别包含与 OpenTelemetry 生成式 AI 语义惯例一致的属性或事件的 span,请查找 GenAI 图标

  • 属性标签页显示附加到 span 的属性。如需仅列出生成式 AI 属性,请启用仅生成式 AI 属性

  • 输入/输出标签页会显示遵循这些惯例的事件和相关联的属性,这些属性也会显示在属性标签页上。支持两种配置:

    • 属性形式附加到 span 的基于文本的提示和回答,这些属性是描述特征或事件的键值对。例如,键 gen_ai.system 的值用于标识提供生成式 AI 功能的系统。生成式 AI 属性的键以 gen_ai 开头。

    • 存储在 Cloud Storage 存储桶中的多模态提示和回答。Cloud Trace 会通过关联您的跟踪记录和日志数据来识别这些事件。如需了解支持的配置,请参阅收集和查看多模态提示和回答

      以下屏幕截图展示了输入/输出如何呈现附加到 span 的基于文本的生成式 AI 事件:

      Trace 探索器中的基于文本的生成式 AI 事件。

      如需了解生成上一个屏幕截图的示例应用,请参阅使用 OpenTelemetry 对 LangGraph ReAct 智能体进行插桩

查看对远程 MCP 服务器的调用

如需查看由 MCP 服务器生成的 span,请执行以下操作之一:

  • 按 span 名称过滤轨迹数据。
  • 添加一个属性过滤条件,其键为 mcp.method.name,值为 tools/call

    此过滤条件专门用于查找名称遵循 MCP 的 OpenTelemetry 语义惯例的 span。名称类似于:

    tools/call NAME
    

    在上面的表达式中,NAME 指的是调用的端点。例如,这可能类似于 roll_dice

如需了解哪些远程 Google Cloud MCP 服务器支持轨迹生成,以及如何配置应用以指示这些服务器生成 span,请参阅使用 Trace 调查 MCP 调用

后续步骤