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文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...
随机推荐
- Python处理刚刚,分钟,小时,天前等时间
简介 用爬虫获取目标网站数据后可能会遇见时间为处理刚刚,分钟,小时,天前等时间格式,如图 解决问题: 写了一个工具类来处理该问题,其中封装了两个函数 1. 将时间中的中文数字转换成阿拉伯数字 def ...
- Golang 和 Python 随机生成N位字符串
Golang: func RandomString(n int) string { var letters = []byte("ABCDEFGHIGKLMNOPQRSTUVWXYZabcde ...
- JAVA-注解之 TODO、FIXME、XXX
TODO.FIXME.XXX //TODO : 表示待实现的功能 //FIXME: 代码存在Bug,不能Run或运行结果不正确,需要修复 //XXX : 勉强可以工作,但是实现的方 ...
- 2022-11-16 Acwing每日一题
本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...
- 面试 个人摸底监测 考察JavaScript基础 (第三天)
01,如何开启JS严格模式?JS严格模式有什么特点? 两种方式 全局开启在js开头加上 'use strict' 局部开启,在作用域开头加上 function fn(){ 'use strict' } ...
- 重要内置函数、常见内置函数、可迭代对象、迭代器对象、for循环的本质、异常捕获处理
重要内置函数 #zip拉链 zip 函数是可以接收多个可迭代对象,然后把每个可迭代对象中的第i个元素组合在一起,形成一个新的迭代器,类型为元组. l1 = [11, 22, 33] l2 = ['a' ...
- [ERROR] mariadbd: The table 'INNODB_BUFFER_PAGE' is full
问题描述:将information_schema导出sql文件到新库中恢复,sql中的表都是临时表,存储引擎都是memory,在导入的过程中实际大量会占用临时表. 报错信息:ERROR 1114 (H ...
- 解决win7连接蓝牙耳机播放设备找不到的问题
前言 这个问题其实就是蓝牙驱动问题, 而用第三方软件安装驱动,如驱动精灵安装蓝牙驱动,可能会不出现缺失驱动问题,但是一些功能会受到限制(win7系统与其蓝牙驱动不兼容). 解决办法 去 Inter官网 ...
- TornadoFx的TableView组件使用
原文: TornadoFx的TableView组件使用 - Stars-One的杂货小窝 最近慢慢地接触了JavaFx中的TableView的使用,记下笔记总结 使用 1.基本使用 TornadoFx ...
- 【Java SE】Day07 API、Scanner类、Random类、ArrayList类
一.API 1.概述: API(Application Programming Interface),应用程序编程接口 Java API:程序员的字典,是类的说明文档 2.使用步骤 帮助文档:JDK_ ...