查找和浏览轨迹

如需详细查找和探索各个跟踪记录,请使用跟踪记录探索器页面。此页面会显示您的 Google Cloud 项目存储了至少一个跨度的轨迹。系统为每个显示的轨迹和 span 显示的数据包括摘要信息(例如延迟时间和命令类型)和详细信息。详细信息包括日志、事件和其他信息。

Trace Explorer 页面最多可显示 1000 条跟踪记录。

准备工作

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

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

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

显示近期轨迹

如需显示最新的轨迹,请执行以下操作:

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

    转到 Trace 探索器

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

    如果这是您首次使用 Trace,则可能需要等几分钟才能显示跟踪记录。以下屏幕截图显示了 Trace Explorer 页面的示例:

    Cloud Trace 最近的跟踪记录窗格。

    散点图会为所选时间间隔内的每个请求显示一个点:

    • 请求的 (x,y) 坐标与该请求的时间和延迟时间相对应。

    • 错误信息会编码为圆点的颜色。蓝色表示成功,红色表示失败。在上面的屏幕截图中,大多数命令都已成功完成。

    • 当您将鼠标指针悬停在某个点上时,系统会显示一条工具提示,其中包含日期、时间、URI 和延迟时间:

      显示的跟踪记录工具提示,其中包含延迟时间信息。

  2. 可选:如需过滤显示的轨迹和跨度,请执行以下任一操作:

    • 按时间过滤。默认情况下,系统会显示最近一小时的数据。如需查看自定义时间间隔,请执行以下操作:

      1. 选择一个比您自定义的时间间隔要长的预设选项。
      2. 将鼠标指针放在选择跟踪记录图上的时间间隔一端,然后将鼠标指针水平拖动到间隔的另一端。

      如需将图表恢复到预设时间间隔,请点击重置

    • 按延迟时间过滤。默认情况下,系统会显示所选时间间隔内的所有轨迹。如需仅显示延迟时间在某个时间范围内的轨迹,请将鼠标指针放在延迟时间值的一端,然后将鼠标指针垂直拖动到另一端。

      如需将图表恢复到预设时间间隔,请点击重置

    • 点击 Add trace filter(添加跟踪记录过滤器),选择过滤条件选项,然后选择或输入过滤条件值。如果您添加多个过滤条件,系统仅会显示满足所有过滤条件的轨迹。例如,如需显示包含 HTTP GET 命令且其延迟时间至少为 2 秒的所有跟踪记录,请添加过滤条件 Method: GETMinLatency: 2000

      以下过滤条件选项始终可用:

      • RootSpan:与根 span 名称一致。
      • SpanName:与 span 名称一致。
      • 方法:显示根 span 由 /http/method 标签注释的跟踪记录,其中标签的值与过滤条件值一致。
      • 状态:显示根 span 由 /http/status_code 标签注释的跟踪记录,其中值标签与过滤条件值匹配。过滤条件值可以包含特定的状态代码(如 301)或状态值范围(如 3xx)。
      • MinLatency:显示其延迟时间至少为过滤条件值的跟踪记录。过滤条件值必须以毫秒为单位。
      • HasLabel:显示过滤器值指定的标签至少显示在一个 span 中的跟踪记录。
      • 服务:显示包含至少一个其服务名称与过滤条件值一致的 span 的轨迹。

        span 的服务名称会从 OpenTelemetry 属性 service.name 中提取(前提是该属性已设置)。如果未设置该属性,且服务是在 App Engine 上运行,系统会显示 App Engine 服务名称。否则,该服务处于未指定状态。

      • 版本:(仅适用于 App Engine)显示至少包含一个其应用版本与过滤条件值一致的 span 的跟踪记录。

      您可能会看到其他过滤选项,例如网址或 HTTP 标签。如果您有与预定义过滤条件匹配的用户定义标签,则用户定义标签会添加 LABEL 作为前缀,以便您区分这两者。例如,如果您创建了 Service 标签,则会在过滤条件菜单中同时看到“服务”和“LABEL:Service”。

按 ID 查找轨迹

在排查事故或失败问题时,您可能知道轨迹 ID。如需浏览该轨迹,请执行以下操作:

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

    转到 Trace 探索器

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

  2. 选择要查看跟踪数据的 Google Cloud 项目。

    除非您的项目属于某个组织,否则您必须选择存储轨迹数据的 Google Cloud 项目。如果项目属于某个组织,您可以配置跨项目跟踪,这样便可查看组织中任何项目的跟踪数据。如需了解详情,请参阅跨项目查看跟踪记录

  3. 轨迹 ID 字段中输入该 ID。

    输入有效 ID 后,Trace 详情窗格中会填充有关跟踪记录及其 span 的信息。您可以使用该窗格中的选项来浏览轨迹。

浏览轨迹

如需探索轨迹,请点击散点图中的某个点。当您点击散点图中的某个点时,轨迹探索器页面会发生以下变化:

  • 系统会刷新散点图,并在您选择的点周围画一个圆圈,以突出显示该点。代表所有其他轨迹的圆点会变暗。
  • 轨迹详情窗格会显示以下内容:

    • 轨迹标识符。此轨迹的全局唯一标识符是一个 128 位整数,表示为 32 字节的十六进制字符串。如需了解详情,请参阅 Resource: Trace
    • 列出开始时间、时长和跨度数量的摘要行。

    • 日志和事件菜单。菜单选项用于控制日志和事件的显示方式。默认情况下,如果存在日志或事件,系统会在轨迹跨度中添加一个圆圈。重叠的圆圈表示该 span 包含多个日志或事件。如需在表格中将每个日志或事件显示为一行,请展开 日志和事件,然后选择显示展开的内容

    • 表格。表格的第一行用于显示轨迹。系统会为轨迹中的每个 span 添加一行。

      对于 span,表格会列出 span 名称和与 span 关联的服务。服务名称会从 OpenTelemetry 属性 service.name 中提取(前提是该属性已设置)。如果未设置该属性,且服务是在 App Engine 上运行,系统会显示 App Engine 服务名称。否则,该服务处于未指定状态。

      延迟时间列可直观显示延迟时间、状态以及事件注释(如果有)。蓝色延迟时间条表示成功完成,红色延迟时间条表示发生了错误。时空中的每个事件注解都用延迟时间栏上的圆圈表示。

以下是轨迹详情窗格的示例:

Cloud Trace“详细信息”窗格的示例。

在轨迹中搜索 span

您可以在轨迹中的跨度和属性中搜索关键字。例如,在上面的屏幕截图中,突出显示了一些 span 和一个属性键。这些字段之所以被突出显示,是因为它们与搜索字词 net.sock.peer.port 匹配。

如需搜索跟踪记录中的跨度,请在跟踪记录详情窗格的工具栏中,在在跟踪记录中查找字段中输入搜索字词,然后按 Enter 键。

然后,轨迹会搜索显示的轨迹中每个跨度的选定字段。如果搜索的字段包含搜索字词,则会出现匹配,不区分大小写。系统会搜索以下字段:

  • Span 名称。
  • 服务名称。
  • 属性的键和值。

搜索完成后,轨迹详情窗格会刷新,并突出显示匹配的字段。

例如,如果您输入术语 get,则系统会突出显示键值为 /http/method 且值为 GET 的 span。此外,名称为 CurrencyService/GetSupportedCurrencies 等的 span 也会突出显示。

您无法使用正则表达式进行搜索,也无法搜索日志、事件或元数据。

查看 span 详情

如需查看跟踪记录或特定跨度的详细信息,请在跟踪记录详情窗格中点击相应条目的延迟时间条。选择延迟时间条后,跟踪记录详情窗格会重新绘制,并显示一个标签页式表格,其中包含有关该条目的更多信息。

如果您选择表格中第一行的延迟时间条(名称为 Trace ID 的行),则该表格将包含两个标签页:摘要日志摘要标签页列出了跟踪记录的一般信息。例如,对于 HTTP 命令,此标签页会显示轨迹中每个跨度的 HTTP 命令类型、服务和延迟时间信息。

如果您选择表格中其他行的延迟时间条(即某个时间段的行),则该表会包含四个标签页:属性日志和事件堆栈轨迹元数据和链接

  • 如需查找附加到 span 的标签,请查看属性标签页。如需了解标签,请参阅跟踪记录标签。以下屏幕截图展示了此标签页:

    Cloud Trace 属性表示例。

    如需查找特定标签或一组标签,请添加过滤条件。例如,如果您添加过滤条件“键:g.co”,则表格会列出标签键包含 g.co 的所有标签。

  • 如需查看相关日志条目和事件的相关信息(如果有),请查看日志和事件标签页。如需了解事件注释,请参阅为轨迹 span 添加注释。以下屏幕截图展示了此标签页:

    Cloud Tracelog 和事件标签页示例。

    如需查看日志条目的详细信息(如果有日志数据),请点击 Show more(展开):

    展开式日志示例。

  • 如需了解可用堆栈轨迹的数量以及捕获的堆栈轨迹的详细信息,请使用 Stacktraces(堆栈轨迹)标签页。

  • 如需查找有关该代码段的一般信息以及指向其他代码段的链接表格,请查看元数据和链接标签页。这些信息包括:

    • span ID

      跨度 ID 是一个 64 位整数(0 除外)。如需了解详情,请参阅 TraceSpan

    • 父级 span ID

    • 项目 ID

    • 开始时间和结束时间

    • 列出指向其他跨度的链接的表格

      名为“链接”的表中的每一行都列出了当前 span 与另一个 span 之间的链接。Attributes 字段列出了所关联的 span 的键值对。Trace 字段会链接到关联的 span 的轨迹。如果此字段包含当前轨迹,则关联的跨度与当前跨度位于同一轨迹中。否则,该字段包含跟踪 ID。如需了解关联,请参阅 Links API 参考文档页面。

    以下屏幕截图展示了此标签页:

    Cloud Trace 元数据列表和链接表示例。

后续步骤