关于 Cloud Trace

Cloud Trace 是 Google Cloud 的分布式跟踪系统,可帮助您了解应用处理来自用户或其他应用的传入请求所需的时间,以及完成处理请求时执行的操作(例如 RPC 调用)所需的时间。

由于 Cloud Trace 可从 App EngineHTTP(S) 负载平衡器以及通过 Cloud Trace API 插桩的应用收集延迟时间数据,因此它可以帮助您回答以下问题:

  • 我的应用处理某特定请求需要多长时间?
  • 为什么我的应用需要这么长的时间来处理请求?
  • 为什么一些请求花费的时间比其他请求长?
  • 我的应用请求的整体延迟是多少?
  • 随着时间的推移,我的应用的延迟是增加还是减少?
  • 如何缩短应用延迟时间?
  • 我的应用的依赖项有哪些?

如需了解如何调试和分析您的应用,请参阅 Cloud DebuggerCloud Profiler

环境支持

在以下环境中 Cloud Trace 在 Linux 上运行:

Cloud Trace 提供了用于对应用进行插桩以捕获跟踪记录信息的客户端库。如需了解每种语言的设置说明,请参阅设置 Cloud Trace

在 App Engine 标准环境中,Java 8、Python 2 和 PHP 5 应用不需要使用 Cloud Trace 客户端库。这些运行时会自动向 Cloud Trace 发送与应用 URI 请求有关的延迟时间数据。这些请求包括对 App Engine 服务的往返 RPC 调用的延迟时间数据。除了 Cloud SQL 之外,Cloud Trace 适用于所有 App Engine Admin API。

语言支持

下表总结了 Trace 客户端库的可用性以及 OpenCensus 库(包含 Stackdriver 导出器)的可用性:

语言 客户端库的可用性 OpenCensus 库的可用性
C# ASP.NET Core
C# ASP.NET
Go
Java
Node.js
PHP
Python
Ruby

OpenCensus 库更易于使用,因为它们隐藏了相应 Cloud Trace 客户端库的某种复杂性。如果您使用 OpenCensus 库,请选择 Stackdriver 导出器。

如需了解一般设置说明,请参阅设置 Cloud Trace

组件

Cloud Trace 包含一个跟踪客户端,该客户端会收集跟踪记录并将其发送到您的 Google Cloud 项目。然后,您可以使用 Google Cloud Console 查看和分析该代理收集的数据。

跟踪记录会描述应用完成单个操作所需的时间。每条跟踪记录由一个或多个 span 组成。Span 会描述执行完整子操作所需的时间。例如,跟踪记录可能会描述处理用户的传入请求并返回响应所需的时间。Span 可能会描述特定 RPC 调用所需的时长。如需了解详情,请参阅 Cloud Trace 的数据模型

跟踪客户端

如果 OpenCensus 库适用于您的编程语言,您可以通过使用 OpenCensus 简化创建和发送跟踪记录数据的过程。除了使用起来更简单之外,OpenCensus 还实现了批处理,这可能会提高性能。

如果 OpenCensus 库不存在,请通过导入 Trace SDK 库并使用 Cloud Trace API 来对代码进行插桩。Cloud Trace API 会收集跟踪记录数据并将其发送到您的 Google Cloud 项目。

跟踪界面

在代理收集跟踪记录数据后,您可以在 Cloud Trace 界面中几乎实时地查看和分析这些数据。该界面包含三个页面:概览跟踪记录列表分析报告

如需开始使用 Cloud Trace,请在 Cloud Console 导航窗格中选择 Trace,或点击以下按钮:

转到 Trace

除非您有权访问接收 Trace 数据的 Google Cloud 项目,否则 Trace 控制台不会显示数据。

概览

概览页面会提供与您的应用有关的摘要信息:

Cloud Trace 概览页面。

数据分析窗格会显示应用的性能分析信息列表(如适用)。此窗格会突出显示应用中的常见问题,例如对某函数的连续调用(如果进行批量调用,则可能更为高效)。

最近的跟踪活动窗格会显示最近的跟踪记录。对于每条跟踪记录,系统会显示延迟情况、URI 和时间。您可以使用此摘要来了解应用中的当前活动。

最常见的 URI最常见的 RPC 会列出前一天最常见的 URI(和 RPC)以及平均延迟时间。如果您点击任一表中的链接,则会打开跟踪记录列表页面,此页面已预先配置为显示匹配请求。通过跟踪记录列表页面,您可以查看延迟情况(时间函数形式),并调查任何单个跟踪记录的详情。

付费跟踪记录 Span 窗格会显示当前日历月中提取的 span 数,以及上个月的总 span 数。您可以使用此信息来监控 Cloud Trace 的使用费用。如需详细了解费用,请参阅本页面的价格部分。

每日分析报告窗格会显示前一天的延迟数据,并将其与过去 7 天内的延迟数据进行比较。通过这些数据,您可以了解延迟行为是否在随时间发生变化。您无法在此页面上更改报告的格式。不过,您可以创建自定义分析报告。

如需详细了解 Cloud Trace 概览页面,请参阅在 Cloud Console 中查看跟踪记录

跟踪记录列表

通过跟踪记录列表页面,您可查看每条跟踪记录的详情。默认情况下,此视图会显示一个包含所有跟踪记录的延迟时间的图表,并会在一个表中列出最近的跟踪记录。

如果您选择要查看的特定跟踪记录,则系统会打开两个新窗格:一个是显示跟踪记录中所有 span 的窗格,另一个是显示有关选定 span 详情的信息窗格。默认情况下,系统会选择根 span,并且详细信息包含有关请求的摘要信息。如需出于调查目的查找跟踪记录,您可以使用过滤条件。

如需详细了解如何过滤和查看跟踪记录详情,请参阅查找和查看跟踪记录以及查看跟踪记录详情

分析报告

通过分析报告页面,您可创建自定义报告。这些报告可以包括所有跟踪记录,也可以通过指定过滤条件,仅包括一部分跟踪记录。您还可以创建用于比较两组不同延迟数据的报告。如需了解详情,请参阅创建分析报告

价格

系统会将延迟时间数据打包到由 span 组成的跟踪记录中。Cloud Trace 后端会提取这些 span,然后提供相关数据,以便用户能够在 Cloud Console 中实时查看数据并生成报告。在您查看跟踪记录数据时,系统会在检索过程中扫描存储的 span

Cloud Trace 价格由每月提取和扫描的 Trace span 数量决定。如需了解详情,请参阅跟踪记录价格

您可以创建提醒,以便在提取的 span 数量超过预定义的阈值时收到通知。如需了解详情,请参阅创建提醒政策

配额

Clour Trace 会对 API 请求实施速率配额,并对您发送到 Trace 的 span 实施提取量配额。如需了解详情,请参阅配额和限制

如需查看当前的使用情况,请执行以下操作:

  1. 在 Google Cloud Console 中,选择 API 和服务,然后选择 Cloud Trace API,或使用以下按钮:

    转到 Trace API

  2. 点击配额

您可以创建提醒,以便在超出配额时收到通知。如需了解详情,请参阅创建提醒政策

数据安全

Cloud Trace 是 VPC Service Controls 支持的一项服务。如需了解详情,请参阅 VPC Service Controls 文档

后续步骤