fuchsia.power.metrics

添加数量:17

协议

记录器

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

用于管理按需指标日志记录的协议。

StartLogging

开始记录指定时长内的指定指标。 支持对不同指标进行并发记录。可通过调用 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?

带方框(可选)的统计信息参数。如果没有,则停用统计信息。

无默认值

Recorder_StartLoggingForever_Response

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

<EMPTY>

Recorder_StartLogging_Response

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

<EMPTY>

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?

带方框(可选)的统计信息参数。如果没有,则停用统计信息。

无默认值

枚举

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 方法中请求的指标类型。

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

Recorder_StartLoggingForever_Result 严格

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

序数变体类型说明
response Recorder_StartLoggingForever_Response
err RecorderError

Recorder_StartLogging_Result 严格

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

序数变体类型说明
response Recorder_StartLogging_Response
err RecorderError

别名

名称说明
ClientId string[16]