テレメトリーの収集

Firebase テレメトリー プラグインは、指標、トレース、ログの組み合わせを Google Cloud Observability にエクスポートします。このドキュメントでは、収集される指標、トレース属性、ログの詳細と、レイテンシ、割り当て、費用に関する予想について説明します。

テレメトリーの遅延

特定の呼び出しからのテレメトリが Firebase で利用可能になるまでに少し時間がかかることがあります。これは、エクスポート間隔(デフォルトは 5 分)によって異なります。

割り当てと上限

以下に示す割り当ての上限に注意してください。

費用

Cloud Logging、Cloud Trace、Cloud Monitoring には無料枠が十分に用意されています。具体的な料金については、次のリンクをご覧ください。

指標

Firebase テレメトリー プラグインは、次のセクションで詳しく説明するさまざまな Genkit アクション タイプをサポートするために、さまざまな指標を収集します。

特徴指標

特徴は、Genkit コードの最上位のエントリ ポイントです。ほとんどの場合、これはフローになります。それ以外の場合は、トレース内の最上位のスパンになります。

名前 説明
genkit/feature/requests カウンタ リクエスト数
genkit/feature/latency ヒストグラム 実行レイテンシ(ミリ秒)

各特徴指標には、次のディメンションが含まれています。

名前 説明
name 機能の名前。ほとんどの場合、これはトップレベルの Genkit フローです。
ステータス 機能リクエストが成功したかどうかに応じて「success」または「failure」
エラー status=failure の場合にのみ設定されます。障害の原因となったエラーの種類が含まれます。
ソース Genkit のソース言語。例: 'ts'
sourceVersion Genkit フレームワークのバージョン

アクションの指標

アクションは、Genkit 内の実行の一般的なステップを表します。これらの各ステップでは、次の指標が追跡されます。

名前 説明
genkit/action/requests カウンタ このアクションが実行された回数
genkit/action/latency ヒストグラム 実行レイテンシ(ミリ秒)

各アクション指標には、次のディメンションが含まれます。

名前 説明
name アクションの名前
featureName 実行中の親機能の名前
パス 特徴ルートからこのアクションへの実行パス。例: '/myFeature/parentAction/thisAction'
ステータス アクションが成功したかどうかに応じて「success」または「failure」
エラー 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 モデルがレスポンスに要した時間
ステータス 機能リクエストが成功したかどうかに応じて「success」または「failure」
エラー status=failure の場合にのみ設定されます。障害の原因となったエラーの種類が含まれます。
ソース Genkit のソース言語。例: 'ts'
sourceVersion Genkit フレームワークのバージョン

トレース

すべての Genkit アクションは、AI 機能の詳細なトレースを提供するために自動的に計測されます。ローカルでは、トレースはデベロッパー UI に表示されます。デプロイ済みのアプリの場合は、Firebase Genkit Monitoring を有効にして、同じレベルの可視性を確保します。

以降のセクションでは、トレース内の特定のスパンに対する Genkit アクション タイプに基づいて、どのようなトレース属性が期待できるかについて説明します。

ルートスパン

ルートスパンは、個々のスパンとトレース全体の状態属性の曖昧さを解消するために、特別な属性を持ちます。

属性名 説明
genkit/feature 実行中の親機能の名前
genkit/isRoot このスパンがルートスパンでない場合は false、ルートスパンでの場合は 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 ユーティリティへの入力。トレース属性のサイズ制限により、これは常に <redacted> になります。
genkit/name この Genkit アクションの名前。この場合、フローの名前
genkit/output ユーティリティで生成された出力。トレース属性のサイズ制限により、これは常に <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 Monitoring を使用してデプロイされたアプリの場合、ログを使用して入力、出力、構成のメタデータをキャプチャし、AI 機能の各ステップに関する詳細情報を提供します。

すべてのログには、次の共有メタデータ フィールドが含まれます。

フィールド名 説明
insertId ログエントリの一意の ID
jsonPayload ログタイプごとに一意の変数情報を格納するコンテナ
ラベル {module: genkit}
logName projects/weather-gen-test-next/logs/genkit_log
receivedTimestamp Cloud がログを受信した時刻
リソース ログのソースに関する情報(デプロイ情報のリージョン、projectId など)
重要度 書き込まれたログレベル。Cloud の LogSeverity をご覧ください。
spanId このログを作成したスパンの ID
タイムスタンプ クライアントがメッセージをログに記録した時刻
トレース projects/<project-id>/traces/<trace-id> 形式のトレース識別子
traceSampled トレースがサンプリングされたかどうかを表すブール値。ログはサンプリングされません。

各ログタイプには、各セクションで説明されている異なる JSON ペイロードがあります。

入力

JSON ペイロード:

フィールド名 説明
メッセージ [genkit] Input[<path>, <featureName>](マルチパート メッセージ用の (message X of N) を含む)
metadata アクションに送信された入力メッセージなどの追加コンテキスト

メタデータ:

フィールド名 説明
コンテンツ この Genkit アクションに送信される入力メッセージ コンテンツ
featureName Genkit のフロー、アクション、ツール、ユーティリティ、ヘルパーの名前。
messageIndex * 複数のメッセージを含む入力のメッセージの順序を示すインデックス。単一メッセージの場合、これは常に 0 になります。
model * モデル名。
パス step1 > step2 > step3 形式のこのログを生成した実行パス
partIndex * マルチパート メッセージの場合、メッセージ内のパートの順序を示すインデックス。これは、テキストと画像を 1 つの入力で組み合わせる場合によく見られます。
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) を含む)
metadata アクションに送信された入力メッセージなどの追加コンテキスト

メタデータ:

フィールド名 説明
candidateIndex *(非推奨) 複数の候補を含む出力の候補の順序を示すインデックス。候補が 1 つのログの場合、これは常に 0 になります。
コンテンツ Genkit アクションによって生成された出力メッセージ
featureName Genkit のフロー、アクション、ツール、ユーティリティ、ヘルパーの名前。
messageIndex * 複数のメッセージを含む入力のメッセージの順序を示すインデックス。単一メッセージの場合、これは常に 0 になります。
model * モデル名。
パス 「step1 > step2 > step3」形式のこのログを生成した実行パス
partIndex * マルチパート メッセージの場合、メッセージ内のパートの順序を示すインデックス。これは、テキストと画像を 1 つの出力に組み合わせる場合によく見られます。
qualifiedPath このログを生成する実行パス(/{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model 形式のタイプ情報を含む)
totalCandidates *(非推奨) 出力として生成された候補の合計数。単一候補メッセージの場合、これは常に 1 です。
totalParts * このメッセージのパート数の合計。単一パートのメッセージの場合、これは常に 1 です。

(*) アスタリスクが付いた項目は、モデルのインタラクションの出力ログにのみ表示されます。

Config

JSON ペイロード:

フィールド名 説明
メッセージ [genkit] Config[<path>, <featureName>]
metadata アクションに送信された入力メッセージなどの追加コンテキスト

メタデータ:

フィールド名 説明
featureName Genkit のフロー、アクション、ツール、ユーティリティ、ヘルパーの名前。
モデル モデル名。
パス 「step1 > step2 > step3」形式のこのログを生成した実行パス
qualifiedPath このログを生成する実行パス(/{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model 形式のタイプ情報を含む)
ソース 使用される Genkit ライブラリの言語。サポートされている言語は ts のみであるため、常に ts に設定されます。
sourceVersion Genkit ライブラリのバージョン。
温度 使用されるモデル温度。

パス

JSON ペイロード:

フィールド名 説明
メッセージ [genkit] Paths[<path>, <featureName>]
metadata アクションに送信された入力メッセージなどの追加コンテキスト

メタデータ:

フィールド名 説明
flowName Genkit のフロー、アクション、ツール、ユーティリティ、ヘルパーの名前。
パス 収集されたスパンのすべての実行パスを含む配列。