统计管理
统计管理可用于获取由 Zephyr 统计子系统收集的数据;该子系统通过 CONFIG_STATS 启用。
统计管理组定义了以下命令:
|
命令描述 |
|---|---|
|
组数据 |
|
列出组 |
统计:组数据
该命令用于获取由名称指定的组的数据。该名称是收集统计信息的模块中使用 STATS_INIT_AND_REG 宏或 stats_init_and_reg() 函数调用注册的组名之一。
统计:组数据请求
统计组数据请求头部:
|
|
|
|---|---|---|
|
|
|
请求的 CBOR 数据:
{
(str)"name" : (str)
}
其中:
“name” |
组名。 |
统计:组数据响应
统计组数据响应头部:
|
|
|
|---|---|---|
|
|
|
成功响应的 CBOR 数据:
{
(str)"name" : (str)
(str)"fields" : {
(str)<entry_name> : (uint)
...
}
}
出错时,CBOR 数据的形式如下:
{
(str)"err" : {
(str)"group" : (uint)
(str)"rc" : (uint)
}
}
{
(str)"rc" : (int)
}
其中:
“name” |
这是响应所含数据的组的名称。 |
“fields” |
这是组内条目的映射,由条目名称与其在统计中代表的值组成的键值对构成。 |
<entry_name> |
单个条目到值的映射;该值按 CBOR 的含义固定为无符号整数类型。 |
“err” -> “group” |
|
“err” -> “rc” |
包含基于分组的错误码的索引。仅在使用 SMP 版本 2 且该值非零(错误状态)时出现。 |
“rc” |
|
统计:组列表
该命令用于获取设备上收集的统计组的列表。该列表是收集统计信息的模块中使用 STATS_INIT_AND_REG 宏或 stats_init_and_reg() 函数调用为各组指定的名称列表;这意味着该命令可以被视为可选,因为在编译时就已经知道构建中包含哪些组,在发出查询之前无需列出它们。
统计:组列表请求
统计组列表请求头部:
|
|
|
|---|---|---|
|
|
|
该命令发送一个空的 CBOR 映射作为数据。
统计:组列表响应
统计组列表请求头部:
|
|
|
|---|---|---|
|
|
|
成功响应的 CBOR 数据:
{
(str)"stat_list" : [
(str)<stat_group_name>, ...
]
}
出错时,CBOR 数据的形式如下:
{
(str)"err" : {
(str)"group" : (uint)
(str)"rc" : (uint)
}
}
{
(str)"rc" : (int)
}
其中:
“stat_list” |
表示组名的字符串数组;如果没有组,该数组可以为空。 |
“err” -> “group” |
|
“err” -> “rc” |
包含基于分组的错误码的索引。仅在使用 SMP 版本 2 且该值非零(错误状态)时出现。 |
“rc” |
|