链路到剖析
注意
您的应用程序必须进行性能分析和追踪的仪器化。更多信息,请参阅将追踪链接到性能分析。
使用“从追踪到性能分析”功能,您可以利用 Grafana 关联不同信号的能力,通过添加在追踪和性能分析之间建立链接的功能。
从追踪到性能分析允许您将 Grafana Pyroscope 数据源链接到追踪数据。配置后,此连接允许您使用 Explore 从追踪 Span 中查询性能分析数据。每个 Span 都链接到您的查询。单击链接会在分画面板中运行查询。如果配置了标签,Grafana 会动态地将 Span 属性值插入到查询中。查询运行的时间范围是 (Span 开始时间 - 60 秒) 到 (Span 结束时间 + 60 秒)。
嵌入式火焰图也会插入到每个具有链接性能分析的 Span 详细信息部分。这样,您无需离开当前视图即可在火焰图可视化中查看每个 Span 的资源消耗。
有两种方法可以配置“从追踪到性能分析”功能
- 使用包含默认查询的基本配置,或
- 配置一个自定义查询,您可以在其中使用模板语言来插值追踪或 Span 中的变量。
开始之前
从追踪到性能分析需要一个配置了“从追踪到性能分析”功能的 Tempo 数据源以及一个Grafana Pyroscope 数据源。
与追踪类似,您的应用程序需要进行仪器化以发出性能分析数据。更多信息,请参阅使用 Span 性能分析链接追踪和性能分析。
使用基本配置
要使用基本配置,请按照以下步骤操作
在左侧菜单中,选择 连接 > 数据源。
从 数据源 列表中选择您已配置的 Tempo 数据源。
向下滚动到 从追踪到性能分析 部分。
在 数据源 下拉菜单中选择一个 Pyroscope 数据源。
可选:添加一个或多个要在查询中使用的标签。如果留空,则使用默认值
service.name
和service.namespace
。您配置的标签必须存在于 Span 的属性或资源中,“从追踪到性能分析”的 Span 链接才会出现。
您可以选择为标签配置一个新名称。如果标签名称中包含点,并且目标数据源不允许标签中使用点,此功能将很有用。在这种情况下,您可以将
service.name
重新映射为service_name
。选择一个或多个要在查询中使用的性能分析类型。选择下拉菜单并从菜单中选择选项。
必须选择性能分析类型或应用程序,查询才有效。如果在运行查询时未选择性能分析类型或应用程序,Grafana 不会显示任何数据。
选择 保存并测试。
如果您已配置 Pyroscope 数据源但没有可用的性能分析数据,或者 此 Span 的性能分析 按钮和嵌入式火焰图不可见,请验证 pyroscope.profile.id
键值对是否存在于您的 Span 标签中。
配置自定义查询
要使用自定义查询进行配置,请按照以下步骤操作
在左侧菜单中,选择 连接 > 数据源。
从 数据源 列表中选择您已配置的 Tempo 数据源。
向下滚动到 从追踪到性能分析 部分。
在 数据源 下拉菜单中选择一个 Pyroscope 数据源。
可选:选择要在查询中使用的任何标签。如果留空,则使用默认值
service.name
和service.namespace
。这些标签可以在自定义查询中使用
${__tags}
变量。此变量以适用于数据源的语法将映射的标签插值为列表。仅包含 Span 中存在的标签。不存在的标签将被省略。您还可以为标签配置一个名称。当标签名称中包含点,且目标数据源不允许在标签中使用点时,标签名称会很有用。例如,您可以将
service.name
重新映射为service_name
。如果您在此处未映射任何标签,您仍然可以在查询中使用任何标签,例如:method="${__span.tags.method}"
。了解更多关于自定义查询变量。选择一个或多个要在查询中使用的性能分析类型。选择下拉菜单并从菜单中选择选项。
开启 使用自定义查询 以输入自定义查询。
指定用于查询性能分析数据的自定义查询。您可以使用各种变量使查询与当前 Span 相关。仅当所有变量都插值为非空值时,链接才会显示,以防止创建无效查询。您可以使用
$__tags
关键字插值已配置的标签。选择 保存并测试。
配置选项
下表描述了配置您的 从追踪到性能分析 设置的选项
设置名称 | 描述 |
---|---|
数据源 | 定义目标数据源。您可以选择一个 Pyroscope [性能分析] 数据源。 |
标签 | 定义要在性能分析查询中使用的标签。默认:cluster , hostname , namespace , pod , service.name , service.namespace 。您可以更改标签名称,例如,如果目标数据源不允许名称中包含点,则从名称中移除点。例如,将 http.status 映射到 http_status 。 |
性能分析类型 | 定义查询中使用的性能分析类型。 |
使用自定义查询 | 切换是否使用包含插值的自定义查询。 |
查询 | 输入自定义查询。使用变量插值来使用 Span 中的变量进行自定义。 |