高度な設定

このガイドでは、Firebase テレメトリー プラグインを使用してデプロイされた機能の高度な構成オプションについて説明します。各構成オプションの詳細については、JS API リファレンス ドキュメントをご覧ください。

このドキュメントでは、収集するテレメトリー、収集頻度、収集する環境を微調整する方法について説明します。

デフォルト構成

Firebase テレメトリー プラグインには、すぐに利用を開始できるようにデフォルトのオプションが用意されています。デフォルト値は次のとおりです。

{
  autoInstrumentation: true,
  autoInstrumentationConfig: {
    '@opentelemetry/instrumentation-dns': { enabled: false },
  }
  disableMetrics: false,
  disableTraces: false,
  disableLoggingInputAndOutput: false,
  forceDevExport: false,
  // 5 minutes
  metricExportIntervalMillis: 300_000,
  // 5 minutes
  metricExportTimeoutMillis: 300_000,
  // See https://js.api.genkit.dev/interfaces/_genkit-ai_google-cloud.GcpTelemetryConfigOptions.html#sampler
  sampler: AlwaysOnSampler()
}

ローカル テレメトリーをエクスポートする

ローカルで実行するときにテレメトリーをエクスポートするには、forceDevExport オプションを true に設定します。

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({forceDevExport: true});

開発とテスト中は、エクスポート間隔とタイムアウトを調整することでレイテンシを短縮できます。

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  forceDevExport: true,
  metricExportIntervalMillis: 10_000, // 10 seconds
  metricExportTimeoutMillis: 10_000 // 10 seconds
});

自動計測を調整する

Firebase テレメトリー プラグインは、OpenTelemetry のゼロコード計測を使用して、一般的なフレームワークのトレースと指標を自動的に収集します。

使用可能な計測の一覧については、auto-instrumentations-node のドキュメントをご覧ください。

自動計測の対象となる計測を個別に無効または有効にするには、autoInstrumentationConfig フィールドを更新します。

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  autoInstrumentationConfig: {
    '@opentelemetry/instrumentation-fs': { enabled: false },
    '@opentelemetry/instrumentation-dns': { enabled: false },
    '@opentelemetry/instrumentation-net': { enabled: false },
  }
});

テレメトリーを無効にする

Firebase Genkit Monitoring は、ロギング、トレース、指標を組み合わせて、Genkit インタラクションの包括的なビューをキャプチャします。必要に応じて、これらの要素を個別に無効にすることもできます。

入力と出力のロギングを無効にする

デフォルトでは、Firebase テレメトリー プラグインは、各 Genkit 機能またはステップの入力と出力をキャプチャします。

お客様データの保存方法を制御するには、構成に以下を追加して、入力と出力のロギングを無効にします。

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  disableLoggingInputAndOutput: true
});

このオプションを設定すると、入力属性と出力属性は Firebase Genkit Monitoring のトレース ビューアで除去され、Google Cloud のロギングには表示されなくなります。

指標を無効にする

指標の収集を無効にするには、構成に次の行を追加します。

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  disableMetrics: true
});

このオプションを設定すると、Firebase Genkit Monitoring ダッシュボードと Google Cloud Metrics に安定性指標が表示されなくなります。

トレースを無効にする

トレース収集を無効にするには、構成に次の行を追加します。

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  disableTraces: true
});

このオプションを設定すると、Firebase Genkit Monitoring の機能ページにトレースが表示されなくなります。また、トレースビューアにはアクセスできず、Google Cloud Tracing にトレースが表示されなくなります。