Firebase Genkit は OpenTelemetry で完全にインストルメント化されており、トレースや指標のテレメトリーを組み込みでサポートしています。
テレメトリーの構成
Genkit は、明示的な構成を必要とせずに、トレースと指標を自動的に管理します。Firebase または Google Cloud のテレメトリー エクスポートは、それぞれのプラグインとヘルパー関数を使用して有効にできます。どちらのプラグインを使用する場合でも、テレメトリー データの AI 固有のビューを備えた Firebase AI Monitoring ダッシュボード(限定公開プレビュー)が使用されます。
Firebase の場合:
import { genkit } from 'genkit';
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
// Firebase-specific configuration options
});
const ai = genkit({
plugins: [ ... ]
});
詳しくは、Firebase プラグインのドキュメントをご覧ください。
Google Cloud の場合:
import { genkit } from 'genkit';
import { enableGoogleCloudTelemetry } from '@genkit-ai/google-cloud';
enableGoogleCloudTelemetry({
// Google Cloud-specific configuration options
});
const ai = genkit({
plugins: [ ... ]
});
詳細については、Google Cloud プラグインのドキュメントをご覧ください。
ロギング
Genkit には、ロギング モジュールを使用して構成できる一元化されたロギング システムが用意されています。テレメトリーのエクスポートが有効になっている場合、ログは Google Cloud オペレーション スイートにエクスポートされます。
import { logger } from 'genkit/logging';
// Set the desired log level
logger.setLogLevel('debug');
トレース ストレージとデベロッパー UI
トレースは自動的にキャプチャされ、Genkit デベロッパー UI で表示できます。UI を起動するには:
posix-terminal
npx genkit start -- <command to run your code>
Firebase を使用すると、トレースデータは Firestore に自動的に保存されます。ストレージ コストとデータ保持を管理するには、トレース ドキュメントの TTL(有効期間)を有効にすることをおすすめします。