Konfiguracja zaawansowana

Ten przewodnik skupia się na zaawansowanych opcjach konfiguracji wdrożonych funkcji, które korzystają z wtyczki telemetryi Firebase. Szczegółowe opisy poszczególnych opcji konfiguracji znajdziesz w dokumentacji referencyjnej interfejsu JS API.

Ta dokumentacja zawiera informacje o tym, jak dostosować zbieranie danych telemetrycznych pod kątem częstotliwości i środowiska.

Konfiguracja domyślna

Wtyczka telemetryi Firebase udostępnia domyślne opcje, które umożliwiają szybkie wdrożenie. Oto domyślne wartości:

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

Eksportowanie lokalnej telemetrii

Aby eksportować dane telemetryczne podczas uruchamiania lokalnie, ustaw opcję forceDevExport na true.

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

enableFirebaseTelemetry({forceDevExport: true});

Podczas tworzenia i testowania możesz skrócić czas oczekiwania, dostosowując interwał i czas oczekiwania na eksport.

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

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

Dostosowywanie automatycznego pomiaru

Wtyczka telemetryi Firebase automatycznie zbiera logi i dane dla popularnych frameworków za pomocą instrumentacji bez kodu OpenTelemetry.

Pełną listę dostępnych pomiarów znajdziesz w dokumentacji auto-instrumentations-node.

Aby selektywnie wyłączyć lub włączyć instrumentacje kwalifikujące się do automatycznego instrumentowania, zaktualizuj pole autoInstrumentationConfig:

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

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

Wyłączanie telemetrii

Funkcja Firebase Genkit Monitoring korzysta z połączenia logowania, śledzenia i danych, aby uzyskać całościowy obraz interakcji z Genkit. W razie potrzeby możesz też wyłączyć poszczególne elementy.

Wyłączanie logowania danych wejściowych i wyjściowych

Domyślnie wtyczka telemetryi Firebase rejestruje dane wejściowe i wyjściowe dotyczące każdej funkcji lub każdego kroku Genkit.

Aby kontrolować sposób przechowywania danych klientów, możesz wyłączyć rejestrowanie danych wejściowych i wyjściowych, dodając do konfiguracji te elementy:

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

enableFirebaseTelemetry({
  disableLoggingInputAndOutput: true
});

Gdy ta opcja jest ustawiona, atrybuty wejścia i wyjścia zostaną usunięte w przeglądarce ścieżek Genkit Monitoring w Firebase i nie będą widoczne w logach Google Cloud.

Wyłączanie wskaźników

Aby wyłączyć zbieranie danych, dodaj do konfiguracji te informacje:

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

enableFirebaseTelemetry({
  disableMetrics: true
});

Po wybraniu tej opcji nie będziesz już widzieć danych o stabilności w panelu Firebase Genkit Monitoring ani w danych Google Cloud Metrics.

Wyłączanie śledzenia

Aby wyłączyć zbieranie danych o śladach, dodaj do konfiguracji te informacje:

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

enableFirebaseTelemetry({
  disableTraces: true
});

Po wybraniu tej opcji nie będziesz już widzieć śladów na stronie funkcji monitorowania Genkit w Firebase, nie będziesz mieć dostępu do przeglądarki śladów ani nie będziesz widzieć śladów obecnych w Google Cloud Tracing.