Firebase 遙測外掛程式會將指標、追蹤記錄和記錄檔匯出至 Google Cloud Observability。本文會詳細說明系統會收集哪些指標、追蹤記錄屬性和記錄,以及延遲、配額和費用的預期情況。
遙測延遲
在 Firebase 中提供特定叫用作業的遙測資料之前,可能會稍微延遲。這取決於匯出間隔 (預設為 5 分鐘)。
配額與限制
請注意以下幾項重要的配額:
費用
Cloud Logging、Cloud Trace 和 Cloud Monitoring 提供豐富的免費方案。如要瞭解具體價格,請點選下列連結:
指標
Firebase 追蹤記錄外掛程式會收集多種不同的指標,以支援下文詳述的各種 Genkit 動作類型。
功能指標
功能是 Genkit 程式碼的頂層進入點。在大多數情況下,這會是流程。否則,這會是追蹤記錄中位於最上方的跨度。
名稱 | 類型 | 說明 |
---|---|---|
genkit/feature/requests | 計數器 | 要求數量 |
genkit/feature/latency | 直方圖 | 執行延遲時間 (以毫秒為單位) |
每項功能指標都包含下列維度:
名稱 | 說明 |
---|---|
名稱 | 功能名稱。在大多數情況下,這是頂層 Genkit 流程 |
狀態 | 視功能要求是否成功而定,傳回「成功」或「失敗」 |
錯誤 | 只有在 status=failure 時才會設定。包含導致失敗的錯誤類型 |
來源 | Genkit 原文語言。例如:'ts' |
sourceVersion | Genkit 架構版本 |
動作指標
動作代表 Genkit 中的一般執行步驟。系統會追蹤下列指標:
名稱 | 類型 | 說明 |
---|---|---|
genkit/action/requests | 計數器 | 這項動作的執行次數 |
genkit/action/latency | 直方圖 | 執行延遲時間 (以毫秒為單位) |
每項行動指標都包含下列維度:
名稱 | 說明 |
---|---|
名稱 | 動作名稱 |
featureName | 正在執行的父項功能名稱 |
路徑 | 從功能根目錄到此動作的執行路徑,例如'/myFeature/parentAction/thisAction' |
狀態 | 視動作是否成功而定,傳回「成功」或「失敗」 |
錯誤 | 只有在 status=failure 時才會設定。包含導致失敗的錯誤類型 |
來源 | Genkit 原文語言。例如:'ts' |
sourceVersion | Genkit 架構版本 |
產生指標
這些是與與模型互動的動作相關的特殊動作指標。除了要求和延遲時間之外,系統也會追蹤輸入和輸出,並提供模型專屬維度,方便您進行偵錯和設定調整。
名稱 | 類型 | 說明 |
---|---|---|
genkit/ai/generate/requests | 計數器 | 這個模型的呼叫次數 |
genkit/ai/generate/latency | 直方圖 | 執行延遲時間 (以毫秒為單位) |
genkit/ai/generate/input/tokens | 計數器 | 輸入內容詞元 |
genkit/ai/generate/output/tokens | 計數器 | 輸出內容詞元 |
genkit/ai/generate/input/characters | 計數器 | 輸入字元 |
genkit/ai/generate/output/characters | 計數器 | 輸出字元 |
genkit/ai/generate/input/images | 計數器 | 輸入內容圖片 |
genkit/ai/generate/output/images | 計數器 | 輸出圖片 |
genkit/ai/generate/input/audio | 計數器 | 輸入音訊檔案 |
genkit/ai/generate/output/audio | 計數器 | 輸出音訊檔案 |
每個產生指標都包含下列維度:
名稱 | 說明 |
---|---|
modelName | 模型名稱 |
featureName | 正在執行的父項功能名稱 |
路徑 | 從功能根目錄到此動作的執行路徑,例如'/myFeature/parentAction/thisAction' |
latencyMs | 模型的回應時間 |
狀態 | 視功能要求是否成功而定,傳回「成功」或「失敗」 |
錯誤 | 只有在 status=failure 時才會設定。包含導致失敗的錯誤類型 |
來源 | Genkit 原文語言。例如:'ts' |
sourceVersion | Genkit 架構版本 |
追蹤記錄
所有 Genkit 動作都會自動檢測,為 AI 功能提供詳細追蹤記錄。在本機上,您可以在開發人員 UI 中查看追蹤記錄。針對已部署的應用程式,啟用 Firebase Genkit Monitoring 即可獲得相同程度的資訊可視性。
以下各節將說明,根據追蹤記錄中特定跨距的 Genkit 動作類型,您可以預期的追蹤記錄屬性。
根時距
根區間具有特殊屬性,可協助區分整個追蹤記錄與個別區間的狀態屬性。
屬性名稱 | 說明 |
---|---|
genkit/feature | 正在執行的父項功能名稱 |
genkit/isRoot | 如果這個區間是根區間,則標示為 true |
genkit/rootState | 整體執行作業的狀態為 success 或 error 。這並不表示這個步驟特別失敗。 |
心流狀態
屬性名稱 | 說明 |
---|---|
genkit/input | 流程的輸入內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/metadata/subtype | Genkit 動作的類型。對於資料流,則是 flow 。 |
genkit/name | 這個 Genkit 動作的名稱。在本例中,是流程的名稱 |
genkit/output | 流程中產生的輸出內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/path | 導致追蹤記錄中這個步驟的完整執行路徑,包括類型資訊。 |
genkit/state | 這個區間的執行狀態為 success 或 error 。 |
genkit/type | 與此區間相對應的 Genkit 原始類型。對於流程,則為 action 。 |
Util
屬性名稱 | 說明 |
---|---|
genkit/input | 提供給 util 的輸入內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/name | 這個 Genkit 動作的名稱。在本例中,是流程的名稱 |
genkit/output | 在 util 中產生的輸出內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/path | 導致追蹤記錄中這個步驟的完整執行路徑,包括類型資訊。 |
genkit/state | 這個區間的執行狀態為 success 或 error 。 |
genkit/type | 與此區間相對應的 Genkit 原始類型。對於流程,則為 util 。 |
模型
屬性名稱 | 說明 |
---|---|
genkit/input | 模型的輸入內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/metadata/subtype | Genkit 動作的類型。對於模型來說,就是 model 。 |
genkit/model | 模型名稱。 |
genkit/name | 這個 Genkit 動作的名稱。在本例中,是模型的名稱。 |
genkit/output | 模型產生的輸出內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/path | 導致追蹤記錄中這個步驟的完整執行路徑,包括類型資訊。 |
genkit/state | 這個區間的執行狀態為 success 或 error 。 |
genkit/type | 與此區間相對應的 Genkit 原始類型。對於流程,則為 action 。 |
工具
屬性名稱 | 說明 |
---|---|
genkit/input | 模型的輸入內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/metadata/subtype | Genkit 動作的類型。工具的權限為 tool 。 |
genkit/name | 這個 Genkit 動作的名稱。在本例中,是模型的名稱。 |
genkit/output | 模型產生的輸出內容。由於追蹤記錄屬性大小有限制,因此這個值一律會是 <redacted> 。 |
genkit/path | 導致追蹤記錄中這個步驟的完整執行路徑,包括類型資訊。 |
genkit/state | 這個區間的執行狀態為 success 或 error 。 |
genkit/type | 與此區間相對應的 Genkit 原始類型。對於流程,則為 action 。 |
記錄
如果已部署的應用程式使用 Firebase Genkit 監控功能,則記錄可用於擷取輸入、輸出和設定的結構描述,提供 AI 功能中各個步驟的詳細資訊。
所有記錄都會包含下列共用中繼資料欄位:
欄位名稱 | 說明 |
---|---|
insertId | 記錄項目的專屬 ID |
jsonPayload | 容納每個記錄類型專屬變數資訊 |
標籤 | {module: genkit} |
logName | projects/weather-gen-test-next/logs/genkit_log |
receivedTimestamp | Cloud 收到記錄的時間 |
資源 | 記錄來源的相關資訊,包括部署資訊區域和 projectId |
嚴重性 | 寫入的記錄層級。參閱 Cloud 的 LogSeverity |
spanId | 建立此記錄的區間 ID |
時間戳記 | 用戶端記錄訊息的時間 |
trace | 追蹤記錄的 ID,格式為 projects/<project-id>/traces/<trace-id> |
traceSampled | 布林值,表示是否已對追蹤記錄進行取樣。系統不會對記錄進行取樣。 |
每個記錄類型都會有不同的 JSON 酬載,請參閱各節的說明。
輸入
JSON 酬載:
欄位名稱 | 說明 |
---|---|
訊息 | [genkit] Input[<path>, <featureName>] 包括 (message X of N) (適用於多部分郵件) |
中繼資料 | 其他背景資訊,包括傳送至動作的輸入訊息 |
中繼資料:
欄位名稱 | 說明 |
---|---|
內容 | 傳送至此 Genkit 動作的輸入訊息內容 |
featureName | Genkit 流程、動作、工具、util 或輔助程式的名稱。 |
messageIndex * | 索引,指出包含多個訊息的輸入內容的訊息順序。對於單一訊息,這個值一律為 0。 |
型號 * | 型號名稱。 |
路徑 | 產生此記錄的執行路徑,格式為 step1 > step2 > step3 |
partIndex * | 索引,指出多部分郵件中郵件部分的順序。在單一輸入內容中結合文字和圖片時,通常會發生這種情況。 |
qualifiedPath | 產生此記錄的執行路徑,包括格式為 /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model 的類型資訊 |
totalMessages * | 此輸入內容的訊息總數。對於單一訊息,這個值一律為 1。 |
totalParts * | 此訊息的部分總數。對於單一部分的訊息,這個值一律為 1。 |
(*) 標有星號的項目只會顯示在模型互動輸入記錄中。
輸出
JSON 酬載:
欄位名稱 | 說明 |
---|---|
訊息 | [genkit] Output[<path>, <featureName>] 包括 (message X of N) (適用於多部分郵件) |
中繼資料 | 其他背景資訊,包括傳送至動作的輸入訊息 |
中繼資料:
欄位名稱 | 說明 |
---|---|
candidateIndex * (已淘汰) | 用於表示包含多個候選項目的輸出內容候選項目順序的索引。對於只有單一候選項目的記錄,這個值一律為 0。 |
內容 | Genkit 動作產生的輸出訊息 |
featureName | Genkit 流程、動作、工具、util 或輔助程式的名稱。 |
messageIndex * | 索引,指出包含多個訊息的輸入內容的訊息順序。對於單一訊息,這個值一律為 0。 |
型號 * | 型號名稱。 |
路徑 | 產生此記錄的執行路徑,格式為「step1 > step2 > step3 |
partIndex * | 索引,指出多部分郵件中郵件部分的順序。在單一輸出內容中結合文字和圖片時,通常會發生這種情況。 |
qualifiedPath | 產生此記錄的執行路徑,包括格式為 /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model 的類型資訊 |
totalCandidates * (已淘汰) | 產生為輸出的候選項總數。對於單一候選訊息,這個值一律為 1。 |
totalParts * | 此訊息的部分總數。對於單一部分的訊息,這個值一律為 1。 |
(*) 標有星號的項目只會顯示在模型互動輸出記錄中。
設定
JSON 酬載:
欄位名稱 | 說明 |
---|---|
訊息 | [genkit] Config[<path>, <featureName>] |
中繼資料 | 其他背景資訊,包括傳送至動作的輸入訊息 |
中繼資料:
欄位名稱 | 說明 |
---|---|
featureName | Genkit 流程、動作、工具、util 或輔助程式的名稱。 |
模型 | 型號名稱。 |
路徑 | 產生此記錄的執行路徑,格式為「step1 > step2 > step3 |
qualifiedPath | 產生此記錄的執行路徑,包括格式為 /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model 的類型資訊 |
來源 | 使用的 Genkit 程式庫語言。這個值一律會設為 'ts',因為這是唯一支援的語言。 |
sourceVersion | Genkit 程式庫版本。 |
溫度 | 使用的模型溫度。 |
路徑
JSON 酬載:
欄位名稱 | 說明 |
---|---|
訊息 | [genkit] Paths[<path>, <featureName>] |
中繼資料 | 其他背景資訊,包括傳送至動作的輸入訊息 |
中繼資料:
欄位名稱 | 說明 |
---|---|
flowName | Genkit 流程、動作、工具、util 或輔助程式的名稱。 |
路徑 | 陣列,其中包含所收集區段的所有執行路徑。 |