fuchsia.power.metrics

此库定义了一个协议,供测试客户端与指标记录器进行通信, 指定以下内容:

  • 指标类型:例如温度、CPU、GPU、网络和功率。
  • 测试持续时间。
  • 采样率。
  • 记录已处理的统计信息:最小值、最大值和平均值。
  • 统计信息处理间隔(如果适用)。
添加时间:17

协议

录音机

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

轮询间隔的长度(以毫秒为单位)。 必须小于日志记录请求的 duration_ms。 如果已启用 output_samples_to_syslog,则不得小于 500 毫秒 。

无默认设置

GpuUsage

fuchsia.power.metrics/recorder.fidl 中定义

GPU 用量指标详细信息。

字段类型说明默认
interval_ms uint32

轮询间隔的长度(以毫秒为单位)。 必须小于日志记录请求的 duration_ms。 如果已启用 output_samples_to_syslog,则不得小于 500 毫秒 。

无默认设置

NetworkActivity

fuchsia.power.metrics/recorder.fidl 中定义

网络活动指标详细信息。

字段类型说明默认
interval_ms uint32

轮询间隔的长度(以毫秒为单位)。 必须小于日志记录请求的 duration_ms。 如果已启用 output_samples_to_syslog,则不得小于 500 毫秒 。

无默认设置

电源

fuchsia.power.metrics/recorder.fidl 中定义

功耗指标详细信息。

字段类型说明默认
sampling_interval_ms uint32

采样间隔的长度(以毫秒为单位)。 如果已启用 output_samples_to_syslog,则不得小于 500 毫秒 。 必须小于日志记录请求的 duration_ms

无默认设置
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

汇总统计信息的时间间隔(以毫秒为单位,例如 最小值、最大值和平均值)。 指标必须等于或大于 sampling_interval_ms。 必须小于日志记录请求的 duration_ms。 如果在以下位置启用了 output_stats_to_syslog,则不得小于 500 毫秒 。

无默认设置

温度

fuchsia.power.metrics/recorder.fidl 中定义

温度指标详情。

字段类型说明默认
sampling_interval_ms uint32

采样间隔的长度(以毫秒为单位)。 如果已启用 output_samples_to_syslog,则不得小于 500 毫秒 。 必须小于日志记录请求的 duration_ms

无默认设置
statistics_args StatisticsArgs?

Boxed(可选)统计信息参数。如果没有,则禁用统计信息。

无默认设置

精英

RecorderError 严格

类型:uint32

fuchsia.power.metrics/recorder.fidl 中定义

与 Recorder 方法相关的错误。 如果请求包含以下任何错误,则请求会失败,且 影响现有日志记录任务。

名称说明
1

表示未找到请求的指标日志记录的驱动程序。

2

表示提供的采样间隔无效。

3

如果日志记录已激活某个时间,则开始记录的请求将失败 。

4

表示日志记录请求包含重复的指标类型。

5

表示活动客户总数已达到 允许的最大值(由 MAX_CONCURRENT_CLIENTS = 20 中的 记录器以保持内存使用量受限)。

6

表示统计信息已启用,统计信息间隔无效 。

7

表示由于内部错误,请求失败。

联合体

指标严格

fuchsia.power.metrics/recorder.fidl 中定义

Recorder 方法中请求的指标类型。

Ordinal变体类型说明
temperature Temperature
cpu_load CpuLoad
power Power
gpu_usage GpuUsage
network_activity NetworkActivity

Recorder_StartLoggingForever_Result strict

fuchsia.power.metrics/recorder.fidl 中定义

Ordinal变体类型说明
response Recorder_StartLoggingForever_Response
err RecorderError

Recorder_StartLogging_Result strict

fuchsia.power.metrics/recorder.fidl 中定义

Ordinal变体类型说明
response Recorder_StartLogging_Response
err RecorderError

ALIASES

名称说明
ClientId string[16]