Explore 允许你将 tracing 数据源的痕迹可视化。这在 Grafana v7.0+中可用。
支持的数据源有。
- Jaeger
- Tempo
- X-Ray
- Zipkin
关于如何为上述数据源配置查询的信息,请参考特定数据源的文档。
- 标题。显示根 span 的名称和 trace ID。
- 搜索。突出包含搜索文本的 span。
- 元数据。关于追踪的各种元数据。
Minimap
显示浓缩的视图或跟踪时间线。在最小地图上拖动你的鼠标可以放大到更小的时间范围。缩放也将更新主时间线,所以很容易看到较短的时间跨度。当放大时,将鼠标悬停在最小地图上,将显示重置选择按钮,以重置缩放。
Timeline(时间线)
显示 trace 中的 span 列表。每个 span 行由这些组件组成。
- 展开子 span 按钮。展开或折叠选定 span 的所有子 span。
- 服务名称:记录该 span 的服务的名称。
- 操作名称:该 span 所代表的操作的名称。
- span 持续时间栏。trace 中操作持续时间的可视化表示。
在 span 行的任何地方点击,显示跨度的细节。
Span 细节
- 操作名称
- span 元数据
- Tags。与此 span 相关的任何标签。
- 进程元数据。关于记录此跨度的进程的元数据。
- 日志。此 span 所记录的日志列表和相关的键值。如果是 Zipkin 日志,则显示 Zipkin 的注释。
Node graph
你可以选择为所显示的 trace 展开节点图 (node graph)。根据数据源的不同,这可以将 trace 的 span 显示为图中的节点,或者显示一些额外的上下文,如基于当前 trace 的 service graph。
Trace to logs
Note: 在 Grafana 7.4 及更高版本中可用。
你可以从 trace 视图中的 span 直接导航到与该 span 相关的日志。目前,这对 Tempo、Jaeger 和 Zipkin 数据源是可用的。关于如何配置这个功能,请参考他们的相关文档。
点击文档图标,在 Explore 中用配置的数据源打开一个分割视图,并查询 span 的相关日志。
Data API
这个可视化需要从数据源返回一个特定的数据结构,以便正确显示它。
数据源需要返回数据框架并设置frame.meta.preferredVisualisationType = 'trace'
。.
Data frame structure(数据框架结构)
必备字段:
字段名 | 类型 | 描述 |
traceID | string | 整个 trace 的标识符。数据框中应该只有一个跟踪。 |
spanID | string | 当前 span 的标识符。SpanIDs 应该在每个 trace 中是唯一的。 |
parentSpanID | string | 父 span 的 SpanID,用于在 trace 视图中创建子 span 关系。对于没有父级的根 span,可以是 |
serviceName | string | 这个 span 的服务名称。 |
serviceTags | TraceKeyValuePair[] | 与该服务有关的标签列表。 |
startTime | number | span 的开始时间,以毫秒为单位的纪元时间 (epoch time)。 |
duration | number | span 的持续时间,以毫秒计。 |
可选字段
字段名 | 类型 | 描述 |
logs | TraceLog[] | 与当前 span 相关的日志列表。 |
tags | TraceKeyValuePair[] | 与当前 span 相关的标签列表。 |
warnings | string[] | 与当前 span 相关的警告列表。 |
stackTraces | string[] | 与当前 span 相关的堆栈 trace 的列表。 |
errorIconColor | string | 如果 span 被标记为 |
有关类型的详细信息,请参阅 TraceSpanRow、TraceKeyValuePair 和 TraceLog