這個程式庫定義了一個通訊協定,讓測試用戶端與指標記錄器進行通訊。 請指定:
- 指標類型:例如溫度、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 ] |