关于 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。

  • Cloud Functions 和 Cloud Run

    对于传入和传出 HTTP 请求,系统会自动收集延迟时间数据。

语言支持

下表总结了 Trace 客户端库的可用性、OpenCensus 库(包含 Stackdriver 导出器)的可用性、OpenTelemetry 库(包含指向 Cloud Trace 的导出器)的可用性:

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

OpenCensusOpenCensus 库更易于使用,因为它们隐藏了相应 Cloud Trace 客户端库的某种复杂性。如果您使用这些库,则对您的应用进行插桩处理,以使用 Cloud Trace 导出器。

如需了解一般设置说明,请参阅设置 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,并且详细信息包含有关请求的摘要信息。如需出于调查目的查找跟踪记录,您可以使用过滤条件。

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

分析报告

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

数据安全

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

后续步骤