Konfigurasi Lanjutan

Panduan ini berfokus pada opsi konfigurasi lanjutan untuk fitur yang di-deploy menggunakan plugin Firebase Telemetry. Deskripsi mendetail dari setiap opsi konfigurasi dapat ditemukan di dokumentasi referensi JS API kami.

Dokumentasi ini akan menjelaskan cara menyesuaikan telemetri yang dikumpulkan, frekuensinya, dan dari lingkungan mana.

Konfigurasi Default

Plugin Firebase Telemetry menyediakan opsi default, siap pakai, untuk membantu Anda menyiapkan dan menjalankannya dengan cepat. Berikut adalah setelan default yang disediakan:

{
  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()
}

Mengekspor telemetri lokal

Untuk mengekspor telemetri saat berjalan secara lokal, tetapkan opsi forceDevExport ke true.

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

enableFirebaseTelemetry({forceDevExport: true});

Selama pengembangan dan pengujian, Anda dapat mengurangi latensi dengan menyesuaikan interval ekspor dan waktu tunggu.

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

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

Menyesuaikan instrumentasi otomatis

Plugin telemetri Firebase akan otomatis mengumpulkan trace dan metrik untuk framework populer menggunakan instrumentasi tanpa kode OpenTelemetry.

Daftar lengkap instrumentasi yang tersedia dapat ditemukan dalam dokumentasi auto-instrumentations-node.

Untuk menonaktifkan atau mengaktifkan instrumentasi secara selektif yang memenuhi syarat untuk instrumentasi otomatis, perbarui kolom autoInstrumentationConfig:

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

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

Menonaktifkan telemetri

Pemantauan Firebase Genkit memanfaatkan kombinasi logging, pelacakan, dan metrik untuk mendapatkan gambaran menyeluruh tentang interaksi Genkit Anda. Namun, Anda juga dapat menonaktifkan setiap elemen ini secara terpisah jika diperlukan.

Menonaktifkan logging input dan output

Secara default, plugin telemetri Firebase akan merekam input dan output untuk setiap fitur atau langkah Genkit.

Untuk membantu mengontrol cara penyimpanan data pelanggan, Anda dapat menonaktifkan logging input dan output dengan menambahkan hal berikut ke konfigurasi:

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

enableFirebaseTelemetry({
  disableLoggingInputAndOutput: true
});

Dengan menetapkan opsi ini, atribut input dan output akan disamarkan di penampil rekaman aktivitas Firebase Genkit Monitoring dan tidak akan ada di logging Google Cloud.

Menonaktifkan metrik

Untuk menonaktifkan pengumpulan metrik, tambahkan hal berikut ke konfigurasi Anda:

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

enableFirebaseTelemetry({
  disableMetrics: true
});

Dengan menetapkan opsi ini, Anda tidak akan lagi melihat metrik stabilitas di dasbor Pemantauan Firebase Genkit dan tidak akan ada di Metrik Google Cloud.

Menonaktifkan rekaman aktivitas

Untuk menonaktifkan pengumpulan rekaman aktivitas, tambahkan hal berikut ke konfigurasi Anda:

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

enableFirebaseTelemetry({
  disableTraces: true
});

Dengan menetapkan opsi ini, Anda tidak akan lagi melihat rekaman aktivitas di halaman fitur Pemantauan Firebase Genkit, memiliki akses ke penampil rekaman aktivitas, atau melihat rekaman aktivitas yang ada di Google Cloud Tracing.