菜单
开源版

链路到剖析

注意

您的应用程序必须进行性能分析和追踪的仪器化。更多信息,请参阅将追踪链接到性能分析

使用“从追踪到性能分析”功能,您可以利用 Grafana 关联不同信号的能力,通过添加在追踪和性能分析之间建立链接的功能。

从追踪到性能分析允许您将 Grafana Pyroscope 数据源链接到追踪数据。配置后,此连接允许您使用 Explore 从追踪 Span 中查询性能分析数据。每个 Span 都链接到您的查询。单击链接会在分画面板中运行查询。如果配置了标签,Grafana 会动态地将 Span 属性值插入到查询中。查询运行的时间范围是 (Span 开始时间 - 60 秒) 到 (Span 结束时间 + 60 秒)。

嵌入式火焰图也会插入到每个具有链接性能分析的 Span 详细信息部分。这样,您无需离开当前视图即可在火焰图可视化中查看每个 Span 的资源消耗。

有两种方法可以配置“从追踪到性能分析”功能

  • 使用包含默认查询的基本配置,或
  • 配置一个自定义查询,您可以在其中使用模板语言来插值追踪或 Span 中的变量。

Traces to profiles section in the Tempo data source

开始之前

从追踪到性能分析需要一个配置了“从追踪到性能分析”功能的 Tempo 数据源以及一个Grafana Pyroscope 数据源

与追踪类似,您的应用程序需要进行仪器化以发出性能分析数据。更多信息,请参阅使用 Span 性能分析链接追踪和性能分析

使用基本配置

要使用基本配置,请按照以下步骤操作

  1. 在左侧菜单中,选择 连接 > 数据源

  2. 数据源 列表中选择您已配置的 Tempo 数据源。

  3. 向下滚动到 从追踪到性能分析 部分。

  4. 数据源 下拉菜单中选择一个 Pyroscope 数据源。

  5. 可选:添加一个或多个要在查询中使用的标签。如果留空,则使用默认值 service.nameservice.namespace

    您配置的标签必须存在于 Span 的属性或资源中,“从追踪到性能分析”的 Span 链接才会出现。

    您可以选择为标签配置一个新名称。如果标签名称中包含点,并且目标数据源不允许标签中使用点,此功能将很有用。在这种情况下,您可以将 service.name 重新映射为 service_name

  6. 选择一个或多个要在查询中使用的性能分析类型。选择下拉菜单并从菜单中选择选项。

    必须选择性能分析类型或应用程序,查询才有效。如果在运行查询时未选择性能分析类型或应用程序,Grafana 不会显示任何数据。

  7. 选择 保存并测试

如果您已配置 Pyroscope 数据源但没有可用的性能分析数据,或者 此 Span 的性能分析 按钮和嵌入式火焰图不可见,请验证 pyroscope.profile.id 键值对是否存在于您的 Span 标签中。

配置自定义查询

要使用自定义查询进行配置,请按照以下步骤操作

  1. 在左侧菜单中,选择 连接 > 数据源

  2. 数据源 列表中选择您已配置的 Tempo 数据源。

  3. 向下滚动到 从追踪到性能分析 部分。

  4. 数据源 下拉菜单中选择一个 Pyroscope 数据源。

  5. 可选:选择要在查询中使用的任何标签。如果留空,则使用默认值 service.nameservice.namespace

    这些标签可以在自定义查询中使用 ${__tags} 变量。此变量以适用于数据源的语法将映射的标签插值为列表。仅包含 Span 中存在的标签。不存在的标签将被省略。

    您还可以为标签配置一个名称。当标签名称中包含点,且目标数据源不允许在标签中使用点时,标签名称会很有用。例如,您可以将 service.name 重新映射为 service_name。如果您在此处未映射任何标签,您仍然可以在查询中使用任何标签,例如:method="${__span.tags.method}"。了解更多关于自定义查询变量

  6. 选择一个或多个要在查询中使用的性能分析类型。选择下拉菜单并从菜单中选择选项。

  7. 开启 使用自定义查询 以输入自定义查询。

  8. 指定用于查询性能分析数据的自定义查询。您可以使用各种变量使查询与当前 Span 相关。仅当所有变量都插值为非空值时,链接才会显示,以防止创建无效查询。您可以使用 $__tags 关键字插值已配置的标签。

  9. 选择 保存并测试

配置选项

下表描述了配置您的 从追踪到性能分析 设置的选项

设置名称描述
数据源定义目标数据源。您可以选择一个 Pyroscope [性能分析] 数据源。
标签定义要在性能分析查询中使用的标签。默认:cluster, hostname, namespace, pod, service.name, service.namespace。您可以更改标签名称,例如,如果目标数据源不允许名称中包含点,则从名称中移除点。例如,将 http.status 映射到 http_status
性能分析类型定义查询中使用的性能分析类型。
使用自定义查询切换是否使用包含插值的自定义查询。
查询输入自定义查询。使用变量插值来使用 Span 中的变量进行自定义。