OpenTelemetry Profiles

概述

性能剖析(Profiles)正逐渐成为可观测性领域的第四个关键信号,与日志、指标和追踪并列。它们能够提供对系统和应用程序行为前所未有的深入洞察,常常能够发现其他信号容易忽略的性能瓶颈。

性能剖析提供细粒度的、基于时间的资源消耗和代码执行视图,包括:

  • 应用程序级别性能剖析:揭示软件函数如何消耗 CPU、内存和其他资源,突出显示缓慢或低效的代码。

  • 系统级别性能剖析:提供基础设施的整体视图,精确定位操作系统调用、内核操作和 I/O 中的问题。

这种性能画像可以带来:

  • 更快的根本原因分析:快速识别性能下降的确切原因。
  • 主动优化:在用户受到影响之前识别潜在问题。
  • 提高资源利用率:优化基础设施以节省成本和提高效率。
  • 增强开发人员生产力:帮助开发人员验证代码性能并防止性能回退。

总之,虽然日志、指标和追踪展示了“是什么”和“多少/在哪里”,而性能剖析则解释了“为什么”以及“效率如何”,这使得它们在现代可观测性中不可或缺。

已知值

OpenTelemetry 语义约定对于性能剖析与其他 OpenTelemetry 信号的相关性至关重要,它支持对追踪、指标、日志和性能剖析的统一分析,以实现对系统的全面理解。

为了增强 OpenTelemetry Profiles 与现有性能剖析工具的兼容性,将使用已知值。

Profile 字段已知值
original_payload_formatpprofjfrlinux_perf