此库定义了一个协议,供测试客户端与指标记录器进行通信, 指定以下内容:
- 指标类型:例如温度、CPU、GPU、网络和功率。
- 测试持续时间。
- 采样率。
- 记录已处理的统计信息:最小值、最大值和平均值。
- 统计信息处理间隔(如果适用)。
协议
录音机
在 fuchsia.power.metrics/recorder.fidl 中定义
用于管理按需指标日志记录的协议。
StartLogging
开始记录指定时长内的指定指标。
支持对不同指标进行并发日志记录。Logging 可能会
已因调用 StopLogging
提前终止。
如果指定指标的日志记录已完成,则此调用将失败
活动状态。因此,客户端可能希望在 StartLogging
之前
使用 StopLogging
调用,之后调用
与另一个客户端发生冲突。
- 请求
client_id
客户端的字符串格式 ID。客户可以选择 最大字节大小为 8 的任何 ID(例如,“ffxTest”)。 - request
metrics
要轮询和记录的指标的类型。 - 请求
duration_ms
记录的持续时间(以毫秒为单位)。在此之后 轮询和记录都将停止。 - 请求
output_samples_to_syslog
用于将原始数据输出到 Syslog - 请求
output_stats_to_syslog
切换开关,用于输出任何可用音频 syslog。 - 错误,出现一个 [fuchsia.metrics.test/MeticsLoggerError] 值,说明原因 请求失败。
请求
名称 | 类型 |
---|---|
client_id |
ClientId
|
metrics |
vector<Metric>
|
duration_ms |
uint32
|
output_samples_to_syslog |
bool
|
output_stats_to_syslog |
bool
|
响应
名称 | 类型 |
---|---|
payload |
Recorder_StartLogging_Result
|
StartLoggingForever
开始记录指定指标。支持并发日志记录
不同的指标只有在调用 StopLogging
后,日志记录才会结束。
StartLogging
应首选用于自动化测试,
确保即使测试崩溃,日志记录也会终止。
- 请求
client_id
客户端的字符串格式 ID。客户可以选择 最大字节大小为 8 的任何 ID(例如,“ffxTest”)。 - request
metrics
要轮询和记录的指标的类型。 - 请求
output_samples_to_syslog
用于将原始数据输出到 Syslog - 请求
output_stats_to_syslog
切换开关,用于输出任何可用音频 syslog。 - 错误,出现一个 [fuchsia.metrics.test/RecorderError] 值,说明原因 请求失败。
请求
名称 | 类型 |
---|---|
client_id |
ClientId
|
metrics |
vector<Metric>
|
output_samples_to_syslog |
bool
|
output_stats_to_syslog |
bool
|
响应
名称 | 类型 |
---|---|
payload |
Recorder_StartLoggingForever_Result
|
StopLogging
终止具有指定 client_id 的所有活跃日志记录任务。时间是 在日志记录处于非活动状态时可以调用此方法。
- 请求
client_id
客户端的字符串格式 ID。
- 响应
status
布尔值,表示现有日志记录是否 已停止 (true),或者客户端目前没有日志记录。
请求
名称 | 类型 |
---|---|
client_id |
ClientId
|
响应
名称 | 类型 |
---|---|
stopped |
bool
|
结构体
CpuLoad
在 fuchsia.power.metrics/recorder.fidl 中定义
CPU 负载指标详细信息。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
interval_ms |
uint32
|
轮询间隔的长度(以毫秒为单位)。
必须小于日志记录请求的 |
无默认设置 |
GpuUsage
在 fuchsia.power.metrics/recorder.fidl 中定义
GPU 用量指标详细信息。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
interval_ms |
uint32
|
轮询间隔的长度(以毫秒为单位)。
必须小于日志记录请求的 |
无默认设置 |
NetworkActivity
在 fuchsia.power.metrics/recorder.fidl 中定义
网络活动指标详细信息。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
interval_ms |
uint32
|
轮询间隔的长度(以毫秒为单位)。
必须小于日志记录请求的 |
无默认设置 |
电源
在 fuchsia.power.metrics/recorder.fidl 中定义
功耗指标详细信息。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
sampling_interval_ms |
uint32
|
采样间隔的长度(以毫秒为单位)。
如果已启用 |
无默认设置 |
statistics_args |
StatisticsArgs?
|
Boxed(可选)统计信息参数。如果没有,则禁用统计信息。 |
无默认设置 |
Recorder_StartLoggingForever_Response
在 fuchsia.power.metrics/recorder.fidl 中定义
<空>
Recorder_StartLogging_Response
在 fuchsia.power.metrics/recorder.fidl 中定义
<空>
StatisticsArgs
在 fuchsia.power.metrics/recorder.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
statistics_interval_ms |
uint32
|
汇总统计信息的时间间隔(以毫秒为单位,例如
最小值、最大值和平均值)。
指标必须等于或大于 |
无默认设置 |
温度
在 fuchsia.power.metrics/recorder.fidl 中定义
温度指标详情。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
sampling_interval_ms |
uint32
|
采样间隔的长度(以毫秒为单位)。
如果已启用 |
无默认设置 |
statistics_args |
StatisticsArgs?
|
Boxed(可选)统计信息参数。如果没有,则禁用统计信息。 |
无默认设置 |
精英
RecorderError 严格
类型:uint32
在 fuchsia.power.metrics/recorder.fidl 中定义
与 Recorder 方法相关的错误。 如果请求包含以下任何错误,则请求会失败,且 影响现有日志记录任务。
名称 | 值 | 说明 |
---|---|---|
NO_DRIVERS |
1 |
表示未找到请求的指标日志记录的驱动程序。 |
INVALID_SAMPLING_INTERVAL |
2 |
表示提供的采样间隔无效。 |
ALREADY_LOGGING |
3 |
如果日志记录已激活某个时间,则开始记录的请求将失败 。 |
DUPLICATED_METRIC |
4 |
表示日志记录请求包含重复的指标类型。 |
TOO_MANY_ACTIVE_CLIENTS |
5 |
表示活动客户总数已达到
允许的最大值(由 |
INVALID_STATISTICS_INTERVAL |
6 |
表示统计信息已启用,统计信息间隔无效 。 |
内部 |
7 |
表示由于内部错误,请求失败。 |
联合体
指标严格
在 fuchsia.power.metrics/recorder.fidl 中定义
Recorder 方法中请求的指标类型。
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
temperature |
Temperature
|
|
2 |
cpu_load |
CpuLoad
|
|
3 |
power |
Power
|
|
4 |
gpu_usage |
GpuUsage
|
|
5 |
network_activity |
NetworkActivity
|
Recorder_StartLoggingForever_Result strict
在 fuchsia.power.metrics/recorder.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Recorder_StartLoggingForever_Response
|
|
2 |
err |
RecorderError
|
Recorder_StartLogging_Result strict
在 fuchsia.power.metrics/recorder.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Recorder_StartLogging_Response
|
|
2 |
err |
RecorderError
|
ALIASES
名称 | 值 | 说明 |
---|---|---|
ClientId |
string [16 ] |