fuchsia.metrics

這個檔案內含介面,可讓用戶端記錄與指標相關聯的事件。系統會收集這些事件,並在稍後分析。指標會彙整在與客戶相關聯的專案底下。這些物件每個都有整數 ID,而這些 ID 會做為這個檔案中方法的參數使用。指標也可以有一或多個相關聯的維度,然後在記錄事件時,以事件程式碼向量的形式傳送這些維度。

用量:先使用 MetricEventLoggerFactory 取得專案的 MetricEventLogger,接著,請使用事件的 Log*() 方法,在事件發生時記錄事件。

這項服務在 Fuchsia 的預設實作為 Cobalt。如要進一步瞭解如何將這些介面與 Cobalt 搭配使用,請參閱 README.md。

已新增:7

專家

MetricEventLogger

定義於 fuchsia.metrics/metric_event_logger.fidl

與一項專案指標相關聯的事件記錄器。

記錄檔整數

記錄整數測量。

所記錄指標的 metric_id ID。

value 整數測量值。

event_codes 已排序的參數清單,每個指標維度各有一個清單。系統會根據這些參數匯總含有相同事件代碼的整數值。

要求

名稱類型
metric_id uint32
value int64
event_codes EventVector

回應

名稱類型
payload MetricEventLogger_LogInteger_Result

記錄檔整數直方圖

記錄直方圖,提供許多近似整數測量值。

所記錄指標的 metric_id ID。

histogram 概略整數測量結果。請不要傳送沒有測量結果 (空白值區) 的值區。

event_codes 已排序的參數清單,每個指標維度各有一個清單。系統會根據這些參數,匯總具有相同事件代碼的直方圖。

要求

名稱類型
metric_id uint32
histogram IntegerHistogram
event_codes EventVector

回應

名稱類型
payload MetricEventLogger_LogIntegerHistogram_Result

記錄指標事件

大量記錄方法,相當於一次進行許多上述 Log*() 呼叫。

要求

名稱類型
events vector<MetricEvent>[500]

回應

名稱類型
payload MetricEventLogger_LogMetricEvents_Result

記錄發生次數

記錄事件發生多次的情況。

所記錄指標的 metric_id ID。

count 事件發生的次數。這個值應為正數,系統會忽略值為 0。

event_codes 已排序的參數清單,每個指標維度各有一個清單。系統會按照這些參數匯總具有相同事件代碼的發生次數。

要求

名稱類型
metric_id uint32
count uint64
event_codes EventVector

回應

名稱類型
payload MetricEventLogger_LogOccurrence_Result

記錄字串

記錄觀察到的字串值。

所記錄指標的 metric_id ID。

string_value 要記錄的字串。

event_codes 已排序的參數清單,每個指標維度各有一個清單。記錄字串的數量會根據這些參數單獨匯總。

要求

名稱類型
metric_id uint32
string_value string[256]
event_codes EventVector

回應

名稱類型
payload MetricEventLogger_LogString_Result

MetricEventLoggerFactory

定義於 fuchsia.metrics/metric_event_logger.fidl

用來為特定專案建立 MetricEventLogger 的工廠。

建立指標事件記錄器

project_spec 指定的專案建立 MetricEventLogger。

要求

名稱類型
project_spec ProjectSpec
logger server_end<MetricEventLogger>

回應

名稱類型
payload MetricEventLoggerFactory_CreateMetricEventLogger_Result

CreateMetricEventLoggerWith 實驗

使用實驗中繼資料建立 MetricEventLogger。

這個臨時方法會將實驗資料直接從元件提供給 Cobalt。日後實驗狀態會由系統管理,並直接傳送至 Cobalt。如要使用這個介面,請先洽詢 Cobalt 團隊。

如要更新實驗狀態,請建立新的記錄器。

要求

名稱類型
project_spec ProjectSpec
experiment_ids vector<uint32>[100]
logger server_end<MetricEventLogger>

回應

名稱類型
payload MetricEventLoggerFactory_CreateMetricEventLoggerWithExperiments_Result

結構

直方圖值區

定義於 fuchsia.metrics/metric_event_logger.fidl

直方圖的一個值區,由 LogIntegerHistogram 方法使用。

欄位類型說明預設
index uint32

值區的索引。這個指標包含一系列 N+1 整數範圍值區的規格,從 0 (欠位值區) 到 N (溢位值區) 建立索引。

無預設
count uint64

該值區中的值數量。 如要節省空間/記憶體/頻寬,請勿加入空值區。

無預設

指標事件

定義於 fuchsia.metrics/metric_event_logger.fidl

曾傳送至 LogMetricEvents() 的事件規格。

欄位類型說明預設
metric_id uint32

所記錄指標的 ID。

無預設
event_codes EventVector

event_codes 已排序的參數清單,每個指標維度各有一個清單。

無預設
payload MetricEventPayload

目前記錄事件的指標類型專屬資料。

無預設

MetricEventLoggerFactory_CreateMetricEventLoggerWith 實驗_Response

定義於 fuchsia.metrics/metric_event_logger.fidl

<空白>

MetricEventLoggerFactory_CreateMetricEventLogger_Response

定義於 fuchsia.metrics/metric_event_logger.fidl

<空白>

MetricEventLogger_LogIntegerHistogram_Response

定義於 fuchsia.metrics/metric_event_logger.fidl

<空白>

MetricEventLogger_LogInteger_Response

定義於 fuchsia.metrics/metric_event_logger.fidl

<空白>

MetricEventLogger_LogMetricEvents_Response

定義於 fuchsia.metrics/metric_event_logger.fidl

<空白>

MetricEventLogger_記錄發生次數回應

定義於 fuchsia.metrics/metric_event_logger.fidl

<空白>

MetricEventLogger_LogString_Response

定義於 fuchsia.metrics/metric_event_logger.fidl

<空白>

表情符號

錯誤 strict 錯誤

類型:int32

定義於 fuchsia.metrics/metric_event_logger.fidl

MetricEventLogger 作業的錯誤代碼。

名稱說明
1

例如,提供的指標 ID 無效。

2

嘗試記錄序列化大小超過 MAX_BYTES_PER_EVENT 的事件。

3

記錄器的本機緩衝區暫時已滿,目前無法處理任何事件。請稍後再試。這個條件相當罕見,

4
-1

各種錯誤發生時都會錄影。

資料表

ProjectSpec

定義於 fuchsia.metrics/metric_event_logger.fidl

指定用於記錄事件的專案規格。

序數欄位類型說明
customer_id uint32

客戶 ID。如果省略 (例如設為 0),則預設值為「fuchsia」預設客戶的客戶 ID。

project_id uint32

專案的 ID。

聯合國

MetricEventLoggerFactory_CreateMetricEventLoggerWithExperiments_Result strict

定義於 fuchsia.metrics/metric_event_logger.fidl

序數Variant類型說明
response MetricEventLoggerFactory_CreateMetricEventLoggerWithExperiments_Response
err Error

MetricEventLoggerFactory_CreateMetricEventLogger_Result strict

定義於 fuchsia.metrics/metric_event_logger.fidl

序數Variant類型說明
response MetricEventLoggerFactory_CreateMetricEventLogger_Response
err Error

MetricEventLogger_LogIntegerHistogram_Result strict

定義於 fuchsia.metrics/metric_event_logger.fidl

序數Variant類型說明
response MetricEventLogger_LogIntegerHistogram_Response
err Error

MetricEventLogger_LogInteger_Result strict

定義於 fuchsia.metrics/metric_event_logger.fidl

序數Variant類型說明
response MetricEventLogger_LogInteger_Response
err Error

MetricEventLogger_LogMetricEvents_Result strict

定義於 fuchsia.metrics/metric_event_logger.fidl

序數Variant類型說明
response MetricEventLogger_LogMetricEvents_Response
err Error

MetricEventLogger_Logocrrence_Result strict

定義於 fuchsia.metrics/metric_event_logger.fidl

序數Variant類型說明
response MetricEventLogger_LogOccurrence_Response
err Error

MetricEventLogger_LogString_Result strict

定義於 fuchsia.metrics/metric_event_logger.fidl

序數Variant類型說明
response MetricEventLogger_LogString_Response
err Error

MetricEventPayload 彈性

定義於 fuchsia.metrics/metric_event_logger.fidl

MetricEvent 的變異部分。

序數Variant類型說明
count uint64

事件發生的次數,請參閱 Logocrrence()。

integer_value int64

計算的整數,請參閱 LogInteger()。

histogram IntegerHistogram

概略整數測量結果的集合,請參閱 LogIntegerHistogram()。

string_value string[256]

要記錄的字串,請參閱 LogString()。

場景

名稱類型說明
MAX_BATCHED_EVENTS 500 uint32

單次 FIDL 呼叫可記錄的事件數量上限。

MAX_BYTES_PER_EVENT 102400 int64

單一事件的大小上限為 100 KB。

MAX_EXPERIMENT_IDS 100 uint32

可提供給單一記錄器的實驗 ID 數量上限。

MAX_HISTOGRAM_BUCKETS 500 uint32

這可做為每個事件的合理直方圖值區數量上限。

MAX_METRIC_DIMENSIONS 10 uint32

可與單一事件建立關聯的事件代碼數量上限。

MAX_STRING_EVENT_SIZE 256 uint32

字串事件的長度不得超過此時間。

別名

名稱說明
EventVector vector[MAX_METRIC_DIMENSIONS]敬上

事件代碼的向量。用於下方的任一 Log*() 呼叫時,每個提供 metric_id 的指標維度都需要一個事件代碼,否則呼叫會傳回 INVALID_COUNTRYS。

IntegerHistogram vector[MAX_HISTOGRAM_BUCKETS]敬上

將計數指派給多個整數範圍的直方圖。 為了節省空間/記憶體/頻寬,每個值區索引只應包含一次,請勿加入空值區。向量的順序不具實質意義