這個程式庫定義了一個通訊協定,讓測試用戶端與指標記錄器進行通訊。 請指定:
- 指標類型:例如溫度、CPU、GPU、網路、電源。
- 測試時間長度。
- 取樣率。
- 記錄已處理的統計資料:最小值、最大值和平均值。
- 統計處理間隔 (如適用)。
通訊協定
錄音工具
在 fuchsia.power.metrics/recorder.fidl 中定義
管理以量計價指標記錄功能的通訊協定。
StartLogging
開始針對指定期間記錄指定指標。
支援不同指標的並行記錄。Logging
呼叫 StopLogging 並提早終止。
如果先前已記錄指定指標,這項呼叫就會失敗
有效。因此,客戶可能希望在 StartLogging 之前
呼叫 StopLogging 呼叫,之後
啟用 Logger 會與其他用戶端衝突。
- 要求用戶端的 client_id字串格式 ID。客戶可選擇 位元組大小上限為 8 的任何 ID (例如「ffxTest」)。
- 要求 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」)。
- 要求 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(選用) 統計資料引數。如果沒有,系統就會停用統計資料。 | 無預設 | 
ENUMS
RecorderError 嚴格
類型:uint32
在 fuchsia.power.metrics/recorder.fidl 中定義
與錄音工具方法相關的錯誤。 如果請求包含以下錯誤,就會失敗,且 影響到現有記錄工作
| 名稱 | 值 | 說明 | 
|---|---|---|
| NO_DRIVERS | 1 | 表示要求指標記錄中找不到任何驅動程式庫。 | 
| INVALID_SAMPLING_INTERVAL | 2 | 表示提供的取樣間隔無效。 | 
| ALREADY_LOGGING | 3 | 如果已為 指定的用戶端。 | 
| DUPLICATED_METRIC | 4 | 表示記錄要求含有重複的指標類型。 | 
| TOO_MANY_ACTIVE_CLIENTS | 5 | 表示有效客戶總數達到
許可上限 (由  | 
| INVALID_STATISTICS_INTERVAL | 6 | 表示統計資料已啟用,而且統計資料間隔無效 而不是每個 Pod 的名稱 | 
| 僅限內部 | 7 | 表示要求因內部錯誤而失敗。 | 
聯合國
指標嚴格
在 fuchsia.power.metrics/recorder.fidl 中定義
錄音工具方法中要求的指標類型。
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | temperature | Temperature | |
| 2 | cpu_load | CpuLoad | |
| 3 | power | Power | |
| 4 | gpu_usage | GpuUsage | |
| 5 | network_activity | NetworkActivity | 
Recorder_StartLoggingForever_Result 嚴格
在 fuchsia.power.metrics/recorder.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Recorder_StartLoggingForever_Response | |
| 2 | err | RecorderError | 
Recorder_StartLogging_Result 嚴格
在 fuchsia.power.metrics/recorder.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Recorder_StartLogging_Response | |
| 2 | err | RecorderError | 
ALIASES
| 名稱 | 值 | 說明 | 
|---|---|---|
| ClientId | string[16] |