Grafana 系列文章(七):Grafana Explore 中的 Tracing
️URL: https://grafana.com/docs/grafana/latest/explore/trace-integration/
Description:
Tracing in Explore
Explore 允许你将 tracing 数据源的痕迹可视化。这在 Grafana v7.0+中可用。
支持的数据源有。
关于如何为上述数据源配置查询的信息,请参考特定数据源的文档。


- 标题。显示根 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,可以是 undefined。 |
| 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 被标记为error: true,错误图标的颜色。 |
有关类型的详细信息,请参阅 TraceSpanRow、TraceKeyValuePair 和 TraceLog
Grafana 系列文章
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.
Grafana 系列文章(七):Grafana Explore 中的 Tracing的更多相关文章
- Spring Boot 2.0系列文章(七):SpringApplication 深入探索
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/30/springboot_SpringApplication/ 前言 在 Spring B ...
- NHibernate系列文章七:NHibernate对象状态
摘要 NHibernate对象持久化 NHibernate对象的三个状态:临时态.持久态.游离态(托管态) NHibernate三状态的相互转化 1. NHibernate对象持久化 NHiberna ...
- Flask系列(七)Flask中的wtforms使用
一.简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 二.简单使用wtfo ...
- C#网络编程系列文章(五)之Socket实现异步UDPserver
原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列文件夹 C#网络编程 ...
- C#网络编程系列文章(一)之Socket实现异步TCPserver
原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列文件夹 C#网络编程 ...
- 微信JS图片上传与下载功能--微信JS系列文章(三)
概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){ v ...
- 微信JS分享功能--微信JS系列文章(二)
概述 在上一篇文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的分享功能进行描述,供大家参考. 代码 $(document).ready(f ...
- TCP和UDP通信(C#网络编程) ---- 系列文章
文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编程系列文章(二)之Socket实现同步TCP服务器 C#网络编程系列文章(三)之TcpListener实现异步TC ...
- IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章
前面笔者曾经写过一篇关于IT从业者的职业道路文章(见笔者文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章).然后有读者提建议说写写技术方面的路线,所以就有了本文.本文从初学者到思想 ...
- Linux 系统化学习系列文章总目录(持续更新中)
本页内容都是本人系统化学习Linux 时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...
随机推荐
- ubuntu 输入法IBUS 输入不成功问题
ubuntu 输入法IBUS 输入不成功问题 只需要在 输入如下代码 -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMark ...
- Codeforces Round #811 (Div. 3)D. Color with Occurrences
题目大意:给出一个文章t和n个字符串s1,s2...sn: 问能否用这n个字符串将整个文章覆盖: 思路:贪心(最小区间覆盖) 记录每个字符串能够覆盖的所有位置(起点,终点,编号) 排序后贪心的求出是否 ...
- CSS处理器-Less/Scss
HTML系列: 人人都懂的HTML基础知识-HTML教程 HTML元素大全(1) HTML元素大全(2)-表单 CSS系列: CSS基础知识筑基 常用CSS样式属性 CSS选择器大全48式 CSS布局 ...
- SpringBoot启动流程源码分析
前言 SpringBoot项目的启动流程是很多面试官面试中高级Java程序员喜欢问的问题.这个问题的答案涉及到了SpringBoot工程中的源码,也许我们之前看过别的大牛写过的有关SpringBoot ...
- CPU cache知识 —— ARM架构cache结构和细节
cache如何寻址 处理器访问cache时,cache电路会将CPU地址进行解码,分成3个部分,分别是: offset: 用于某个cache line -- 字抽取: index: 用于匹配某个cac ...
- 关于js更改编码问题
前言 前几天调试喜马拉雅的js加密算法,找到固定一段加密算法后调试,发现结果与实际不一致,后来发现是js显示的编码不一致,而我用的密钥是直接通过 chrome控制台复制下来的,这就导致最后结果不一致. ...
- (Java)设计模式:行为型
前言 此篇博文内容续接的是 UML建模语言.设计原则.创建型设计模式 的内容,有兴趣的可以点前面的链接去看一下 3.2.行为型 这类设计模式是专门用于:对象间的高效沟通和职责委派 * 3.2.1.责任 ...
- 【SQL查询】必会的常用函数:条件函数、日期函数、文本函数、窗口函数
〇.概述 1.内容 选择(双分支.多分支) 一.条件函数 1.计算25岁以上和以下的用户数量 CASE THEN END多分支选择 SELECT (CASE WHEN age>=25 THEN ...
- 【论文解读】NIPS 2021-HSWA: Hierarchical Semantic-Visual Adaption for Zero-Shot Learning.(基于层次适应的零样本学习)
作者:陈使明 华中科技大学
- 带你了解基于Ploto构建自动驾驶平台
摘要:华为云Solution as Code推出基于Ploto构建自动驾驶平台解决方案. 本文分享自华为云社区<基于Ploto构建自动驾驶平台>,作者:阿米托福 . 2022年6月15日, ...