PerfTop 仪表板
您可以在 PerfTop 仪表板中查看从 Performance Analyzer 派生的指标。PerfTop 仪表板是一个用于显示指标的命令行界面(CLI)。PerfTop 仪表板由三个主要元素组成:表格、折线图和条形图。使用 JSON,您可以定义一个行和列的网格,然后将元素放置在该网格内,每个元素可以跨越您指定的任意数量的行和列。
开始构建自定义仪表板的最佳方法是复制并修改 dashboards
目录中现有的 JSON 文件之一。
以下图片展示了一个示例仪表板。
目录
元素摘要
- 表格按维度显示指标。例如,如果您的指标是
CPU_Utilization
,维度是ShardID
,那么 PerfTop 表格会为每个节点上的每个分片显示一行。 - 条形图是针对集群聚合的,除非您将
nodeName
添加到仪表板中。请参阅所有元素的选项。 - 折线图是为每个节点聚合的。每条线代表一个节点。
定位元素
PerfTop 在网格内定位元素。例如,考虑这个 12x12 的网格。
网格的左上角代表第 0 行、第 0 列,因此这三个框的起始位置是
- 橙色:第 0 行,第 0 列
- 紫色:第 2 行,第 2 列
- 绿色:第 1 行,第 6 列
这些框跨越了多行多列。在这种情况下
- 橙色:2 行,4 列
- 紫色:1 行,4 列
- 绿色:3 行,2 列
在 JSON 形式中,我们有以下内容
{
"gridOptions": {
"rows": 12,
"cols": 12
},
"graphs": {
"tables": [{
"options": {
"gridPosition": {
"row": 0,
"col": 0,
"rowSpan": 2,
"colSpan": 4
}
}
},
{
"options": {
"gridPosition": {
"row": 2,
"col": 2,
"rowSpan": 1,
"colSpan": 4
}
}
},
{
"options": {
"gridPosition": {
"row": 1,
"col": 6,
"rowSpan": 3,
"colSpan": 2
}
}
}
]
}
}
然而,此时所有 JSON 所做的只是定义了三个表格的大小和位置。要用数据填充元素,您需要指定一个查询。
添加查询
查询使用与 REST API 相同的元素,只是采用 JSON 格式
{
"queryParams": {
"metrics": "estimated,limitConfigured",
"aggregates": "avg,avg",
"dimensions": "type",
"sortBy": "estimated"
}
}
有关可用指标的详细信息,请参阅指标参考。
添加选项
选项包括标签、颜色和刷新间隔。不同的元素类型有不同的选项。
仪表板支持 16 种 ANSI 颜色:黑色、红色、绿色、黄色、蓝色、洋红色、青色和白色。对于这些颜色的“亮”变体,请使用数字 8-15。如果您的终端支持 256 色,您还可以使用十六进制代码(例如 #6D40ED
)。
所有元素
选项 | 类型 | 描述 |
---|---|---|
label(标签) | 字符串或整数 | 框左上角的文本。 |
labelColor(标签颜色) | 字符串或整数 | 标签的颜色。 |
refreshInterval(刷新间隔) | 整数 | 调用 Performance Analyzer API 获取新数据之间的时间间隔(以毫秒为单位)。最小值为 5000。 |
dimensionFilters(维度过滤器) | 字符串数组 | 要为图表显示的维度值。例如,如果您查询 metric=Net_Throughput&agg=sum&dim=Direction ,并且可能的维度值是 in 和 out ,您可以定义 dimensionFilters: ["in"] 以仅显示 in 维度的指标数据。 |
nodeName(节点名称) | 字符串 | 如果非空,则允许您将元素限制到单个节点。您可以直接在仪表板文件中指定节点名称,但更好的方法是在仪表板中使用 "nodeName": "#nodeName" ,并在启动 PerfTop 时包含 --nodename <node_name> 参数。 |
表格
选项 | 类型 | 描述 |
---|---|---|
bg(背景) | 字符串或整数 | 背景颜色。 |
fg(前景) | 字符串或整数 | 文本颜色。 |
selectedFg(选中前景) | 字符串或整数 | 焦点文本的颜色。 |
selectedBg(选中背景) | 字符串或整数 | 焦点文本的背景颜色。 |
columnSpacing(列间距) | 整数 | 列之间的空间量(以字符为单位)。 |
keys(键) | 布尔型 | 目前没有影响。 |
条形图
选项 | 类型 | 描述 |
---|---|---|
barWidth(条形宽度) | 整数 | 图表中每个条形的宽度(以字符为单位)。 |
xOffset(X 轴偏移) | 整数 | Y 轴与图表中第一个条形之间的空间量(以字符为单位)。 |
maxHeight(最大高度) | 整数 | 图表中每个条形的最大高度(以字符为单位)。 |
折线图
选项 | 类型 | 描述 |
---|---|---|
showNthLabel(显示第 N 个标签) | 整数 | 显示 xAxis 标签中的哪些。例如,"showNthLabel": 2 会显示每隔一个标签。 |
showLegend(显示图例) | 布尔型 | 是否显示折线图的图例。 |
legend.width(图例宽度) | 整数 | 图例的宽度(以字符为单位)。 |
xAxis(X 轴) | 字符串数组 | X 轴的标签数组。例如,["0:00", "0:10", "0:20", "0:30", "0:40", "0:50"] 。 |
colors(颜色) | 字符串数组 | 可选择的线条颜色数组。例如,["magenta", "cyan"] 。如果您不提供此值,PerfTop 会为每条线选择随机颜色。 |