入门教程
一般来说,首页仪表盘用于展示一些大盘数据,如果我们想要专项的展示,比如用户行为统计,就需要创建一个新的仪表盘。
+
按钮User stats dashboard
提交
按钮完成后,页面将自动跳转到新创建的仪表盘,此时仪表盘是空的,我们需要添加一些图表。
点击仪表盘页面右上角的 +
图标, 你将看到一个名为 New panel 1
的图表被创建了,它看起来和首页的欢迎面板一模一样,只是没有了边框。
欢迎面板对用户统计来说不能说毫无用处,只能说 totally useless。现在来修改下:
编辑
打开编辑面板Request duration stats
, 表明它是一个用户请求耗时统计图表
标签中点击 图表类型
, 选择 Graph
图表类型此时一个好看的图表在右边出现:
图表中有三条曲线,分别代表来自 亚洲
,欧洲
和 北美
的用户,他们的请求耗时随时间的变化。
你可能会好奇,这些数据是从哪里来的,我们并没有为图表设置数据源,它怎么就显示出来了呢?
事实上,xObserve 内置了一个名为 TestData
的数据源,一般来说,它用于测试目的。但对于新用户,它也非常有用:可以帮助我们快速熟悉 xObserve 的使用。
当你选择一个图表类型时,xObserve 会自动从 TestData
数据源中查询数据,这样你就可以立即看到图表的渲染效果。
在图表编辑面板的左下区域,可以看到数据源的相关设置。
我们可以看到图表中的值都是一个个的数字,但是我们并不知道这些数字代表的是什么,比如 0.6
是什么意思?0.6
秒?0.6
分钟?还是 0.6
小时?
图表
标签中找到 Vlue
设置区单位
下来列表中选择 Time
ms
, 但是我们的图表数据单位是second
, 因此我们需要修改下基本单位:将基本单位设置为 s
。( x 1
或者 / 1
就是基本单位)Time
单位,然后再修改为 Custom
总之,尝试将单位修改为如上图所示,然后点击 提交
按钮,你将看到图表的单位已经变成了 s
。
在修改完图表后,别忘了保存仪表盘,你可以在图表编辑面板中按
Ctrl+S
快捷键保存。
现在,我们想要在图表中添加一个阈值,这样就可以很容易的发现用户是否在经历长时间的请求,这对他们的使用体验有很大的影响。
图表
标签中的 Threshold
设置区+添加 Threshold
按钮点击 提交
按钮,你将看到图表中出现了一条红色的线,图表被分成了两部分,上部分为红色,表示耗时大于 1s
的请求,下部分为绿色,表示耗时小于 1s
的请求。
更多阈值的设置,请参考 Threshold
老板一般想要知道用户的地理信息,因此我们需要添加一个 Geomap 图表来展示用户的地理位置和请求次数。
回到仪表盘页面,继续创建一个新的图表
Geomap
图表类型此时,你应该看到如下的图表:
如果你看不到任何地图,只能看到一堆绿色的点,请检查你的网络链接是否可用, 因为基础的地图层信息是从网络上加载的,而这些地图层之上的绿点才是在本地渲染
我们可以看到默认的世界地图太大了,让我们定位到一个国家,比如说你来自中国,那肯定想看中国的地图。
China
,可以通过鼠标的滚动来实现视图的放大和缩小wuhan
所在的绿点, 然后将地图放大/缩小到你喜欢的尺寸图表
标签中找到 基本内容
设置,然后点击 Use current view
按钮此时,你将看到地图已经定位到了 wuhan
所在的位置,而且地图的尺寸也和你刚才设置的一样。
Use current view
按钮的作用是将当前视图设置为地图的默认视图,这样每次打开仪表盘时,都会显示这个视图,如果你不想要这个效果,可以不用点击此按钮。
如果你点击地图上的某个点,地图会自动缩放到该点,你可能以为这是地图自带的功能,但是并不是,这是我们自定义的点击交互事件。
在 xObserve 中,你可以为各种类型的图表添加各种各样的交互事件,比如点击、双击、鼠标移动等等,这些事件可以帮助你更好的实现可交互需求。
假设我们想要在地图上将请求次数大于 1000
的国家标记为黄色,大于 10000
的标记为红色,这样就可以很容易的发现哪些国家的用户使用 xObserve 最多。
该如何做呢?答案是使用 Threshold, 大家可以当作练习来完成,答案可以参考 这里。
有时候,我们希望以表格的形式来展示数据,这样可以很容易的找出前 10 个用户,或者前 10 个国家等等。
在本节中,我们将创建一个简单的表格来展示请求耗时随时间的变化,是的,这和前面的 Graph 图表是一样的数据,只是以不同的形式展示。
Table
图表类型表格设置 > 显示表头
选项Graph
图表,但是等等。。在哪里设置,就没有这个设置项!是的,显然在 图表
标签下,你是找不到 单位
设置的,那么该如何设置呢?
其实 Table 的通用设置中没有单位的原因很简单:Table 的每一列都可以有不同的单位,比如第一列是 Time
,第二列是 Value
,它们显然不能有相同的单位,因此你不应该为它们设置一个通用的单位。
那么,我们该如何为 Value
列设置单位呢?在 xObserve 中,可以使用 Override 功能来实现。
在 xObserve 中,几乎所有的图表类型都提供了 Override 功能,它们用于覆盖图表的通用认设置,比如我们想要为某个图表曲线或者某一列设置单位,就可以使用 Override 功能。
覆盖
子标签,紧挨在 样式
标签旁新建覆盖
按钮Value
列添加单位,因此在 目标名称
中选择 Value
此时,一个新的 Override 就创建好了,它的目标是 Table
中的 Value
列,接下来,我们需要为它添加规则。
新建覆盖规则
按钮Column.unit
类型别忘了一点要点击 提交
按钮后,单位设置才能生效 ! !
在之前的内容中,我们已经知道如何使用 阈值 thresholds
来为 Graph
、Geomap
图表增加颜色标记,但是在 Table
中,有点不一样。
在 Table
中,阈值和单位一样,都需要使用 Override 来添加,但是,我们还有另外一种方式来实现相同的效果,稍后再讲。
由于我们已经知道如何添加 Override,因此这里就不再赘述,只需要为 Value
列添加一个 Override,然后为它添加一个阈值规则即可。
如果你想要将大于 0.6 小于 1 的值都标记为某个颜色,该如何做呢? 当然,设置阈值是可以实现的,但是更复杂的需求呢?例如: 将 cn
字符串值标记为 🇨🇳cn
?
此时阈值就不太好用了,因此,我们需要使用 Value mapping,它可以将一个值映射为另一个值,这对于 Table 图表来说非常有用。
接下来,我们来使用 Value mapping 将 [0.6, 1] 区间的值标记为红色, 你可以选择在通用设置中使用,也可以通过 覆盖
子标签来使用,这里我们选择前者。
想要了解更多关于 value mapping 的内容, 可以阅读 这篇文档.
现在,找到 图表
标签中的 Value mapping
设置区,点击 编辑值映射
按钮,然后设置如下:
有一个问题:假如我们在 图表
标签下的通用设置中设置了值映射,然后又在 覆盖
子标签下设置了值映射,那么哪个设置会生效呢?
答案是:小范围覆盖大范围,也就是说,覆盖
子标签下的设置会覆盖 图表
标签下的设置。
在 Table
中,时间列的值是一个时间戳,比如 1692778335
,这显然不是一个可读的时间,我们需要将它转换为人类可读的时间,比如 2023-08-21 12:00:00
。
又到了使用 覆盖 Override
武器之时, 但是这次覆盖的目标不是 Value
列,而是 Time
列。
在 覆盖规则
中,我们使用了一个函数来实现时间转换,这个函数的名字叫 Column.textTransform
,它的作用是将 Time
列的值传递给我们自定义的函数,然后将函数的返回值显示在 Time
列中。
一起来看看这个函数的定义,点击 编辑函数
按钮,你将看到如下代码:
function transform(text, lodash, moment) {
const t = moment(text * 1000).format("YY-MM-DD HH:mm::ss a")
// if you want to use t, just modify the return statement below: change text -> t
return text
}
可以看到,上面的代码已经实现了时间转换,但是它并没有生效,因为我们返回的是 text
,而不是 t
,因此我们需要修改下返回值。
function transform(text, lodash, moment) {
const t = moment(text * 1000).format("YY-MM-DD HH:mm::ss a")
// if you want to use t, just modify the return statement below: change text -> t
return t
}
将函数代码修改为如上,然后点击 提交
按钮,你将看到 Time
列的值已经变成了可读的时间。
更多关于转换函数的更多内容,请参考 数据转换
当前仪表盘中已经有了三个图表,但是它们都很小,特别是 Geomap
图表,让我们来调整下它们的大小和位置。
首先,你需要回到仪表盘视图(从图表编辑面板中)。
当你将鼠标悬停在 Graph
图表上时,你应该会看到一个 resize
图标,它位于图表右下角,类似的,当你将鼠标悬停在图表标题区域时,鼠标会变成 move
图标,前者用于调整图表大小,后者用于移动图表。
接下来的操作很简单:点击图标并拖动即可。 现在,调整图表的大小和位置,使其看起来像下图一样:
还不错,对吗?下面,一起来使用真实的数据来替换掉 TestData
数据源。真实才是王道!