Monitoring

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 を起動するには:

npx genkit start -- <command to run your code>

Firebase を使用すると、トレースデータは Firestore に自動的に保存されます。ストレージ コストとデータ保持を管理するには、トレース ドキュメントの TTL(有効期間)を有効にすることをおすすめします。