Cloud Trace 是 Google Cloud 的分布式跟踪系统,可帮助您了解应用处理来自用户或其他应用的传入请求所需的时间,以及完成处理请求时执行的操作(例如 RPC 调用)所需的时间。在开发服务或排查失败问题时,Cloud Trace 也能派上用场。例如,它可以帮助您了解复杂的微服务架构中请求的处理方式,还可以帮助您确定要检查哪些日志。
由于 Cloud Trace 可从某些 Google Cloud 服务(例如 App Engine)以及通过 Cloud Trace API 插桩的应用接收延迟时间数据,因此它可以帮助您回答以下问题:
- 我的应用处理某特定请求需要多长时间?
- 为什么我的应用需要这么长的时间来处理请求?
- 为什么一些请求花费的时间比其他请求长?
- 我的应用请求的整体延迟是多少?
- 随着时间的推移,我的应用的延迟是增加还是减少?
- 如何缩短应用延迟时间?
- 我的应用的依赖项有哪些?
如果您想了解如何使用 Cloud Trace 来帮助您管理应用,请参阅博文排查分布式应用问题:将跟踪记录和日志结合使用以进行根本原因分析。
如需了解如何分析应用,请参阅 Cloud Profiler。
环境支持
在以下环境中 Cloud Trace 在 Linux 上运行:
- Compute Engine
- Google Kubernetes Engine (GKE)
- App Engine 柔性环境
- App Engine 标准环境
- Cloud Run
- 非 Google Cloud 环境
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 Run functions 和 Cloud Run
对于传入和传出 HTTP 请求,系统会自动将延迟时间数据发送到 Cloud Trace。
语言支持
下表总结了 Trace 客户端库的可用性以及包含指向 Cloud Trace 的导出器的 OpenTelemetry 库的可用性。
语言 | 客户端 的可用性 |
OpenTelemetry lib/exporter 可用 |
---|---|---|
C++ | 是 | 是 |
C# ASP.NET Core | 是 | 否 |
C# ASP.NET | 是 | 否 |
Go | 是 | 是 |
Java | 有 | 是 |
Node.js | 是 | 是 |
PHP | 是 | 否 |
Python | 有 | 是 |
Ruby | 是 | 是 |
OpenTelemetry 库比 Cloud Trace 客户端库更易于使用,因为它们隐藏了相应 Trace API 的某种复杂性。如需了解插桩建议,请参阅选择插桩方法。
组件
Cloud Trace 包含一个跟踪客户端,该客户端会收集跟踪记录并将其发送到您的 Google Cloud 项目。然后,您可以使用 Google Cloud 控制台查看和分析该代理收集的数据。如需了解数据模型,请参阅轨迹和跨度。
跟踪客户端
如果 OpenTelemetry 库适用于您的编程语言,您可以通过使用 OpenTelemetry 简化创建和发送跟踪记录数据的过程。除了使用起来更简单之外,OpenTelemetry 还实现了批处理,这可能会提高性能。
如果 OpenTelemetry 库不存在,请通过导入 Trace SDK 库并使用 Cloud Trace API 来对代码进行插桩。Cloud Trace API 会将跟踪记录数据发送到您的 Google Cloud 项目。
跟踪界面
您可以在 Cloud Trace 界面中近乎实时地查看和分析跟踪记录数据。
通过轨迹浏览器页面,您可查看每条轨迹的详情。默认情况下,此视图会显示一个包含所有跟踪记录的延迟时间的图表,并会在一个表中列出最近的跟踪记录。您可以选择一个轨迹来查看更详细的信息,例如轨迹中的跨度、每个跨度和整个轨迹的延迟时间信息,以及指向日志和事件的链接。如需了解如何过滤和查看跟踪记录详情,请参阅查找和探索跟踪记录。
通过分析报告页面,您可创建自定义报告。这些报告可以包括所有跟踪记录,也可以通过指定过滤条件,仅包括一部分跟踪记录。您还可以创建用于比较两组不同延迟数据的报告。如需了解详情,请参阅创建和查看报告。
数据安全
Cloud Trace 是 VPC Service Controls 支持的一项服务。如需了解详情,请参阅 VPC Service Controls 文档。
价格和使用
如需了解如何查看当前或过去的使用情况,请参阅按结算账号查看用量。
如需了解价格信息,请参阅 Google Cloud Observability 价格。
后续步骤
不妨试试从快速入门开始。
如需了解配额和限制,请参阅配额和限制。
阅读我们关于 DevOps 的资源,并探索 DevOps 研究和评估研究项目。