Erweiterte Konfiguration

In diesem Leitfaden geht es hauptsächlich um erweiterte Konfigurationsoptionen für bereitgestellte Funktionen mit dem Firebase-Telemetrie-Plug-in. Ausführliche Beschreibungen der einzelnen Konfigurationsoptionen finden Sie in der Referenzdokumentation zur JS API.

In dieser Dokumentation wird beschrieben, wie Sie optimieren können, welche Telemetriedaten wie oft und aus welchen Umgebungen erfasst werden.

Standardkonfiguration

Das Firebase-Telemetrie-Plug-in bietet standardmäßige Optionen, mit denen Sie schnell loslegen können. Folgende Standardwerte sind verfügbar:

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

Lokale Telemetrie exportieren

Wenn Sie Telemetriedaten beim lokalen Ausführen exportieren möchten, legen Sie die Option forceDevExport auf true fest.

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

enableFirebaseTelemetry({forceDevExport: true});

Während der Entwicklung und des Tests können Sie die Latenz verringern, indem Sie das Exportintervall und die Zeitüberschreitung anpassen.

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

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

Automatische Instrumentierung anpassen

Das Firebase-Telemetrie-Plug-in erfasst automatisch Traces und Messwerte für gängige Frameworks mithilfe der Zero-Code-Instrumentierung von OpenTelemetry.

Eine vollständige Liste der verfügbaren Instrumentierungen finden Sie in der Dokumentation zum Knoten auto-instrumentations.

Wenn Sie die Instrumentierung für bestimmte Funktionen, die für die automatische Instrumentierung infrage kommen, selektiv deaktivieren oder aktivieren möchten, aktualisieren Sie das Feld autoInstrumentationConfig:

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

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

Telemetrie deaktivieren

Beim Firebase Genkit-Monitoring werden Logging, Tracing und Messwerte kombiniert, um eine umfassende Übersicht über Ihre Genkit-Interaktionen zu erhalten. Sie können diese Elemente jedoch bei Bedarf auch einzeln deaktivieren.

Eingabe- und Ausgabe-Logging deaktivieren

Standardmäßig erfasst das Firebase-Telemetrie-Plug-in Eingaben und Ausgaben für jede Genkit-Funktion oder jeden Genkit-Schritt.

Sie können die Protokollierung von Eingabe und Ausgabe deaktivieren, um zu steuern, wie Kundendaten gespeichert werden. Fügen Sie dazu Folgendes in Ihre Konfiguration ein:

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

enableFirebaseTelemetry({
  disableLoggingInputAndOutput: true
});

Wenn diese Option festgelegt ist, werden Eingabe- und Ausgabeattribute im Firebase Genkit Monitoring-Trace-Viewer entfernt und fehlen in den Google Cloud-Protokollen.

Messwerte deaktivieren

Fügen Sie Ihrer Konfiguration Folgendes hinzu, um die Erfassung von Messwerten zu deaktivieren:

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

enableFirebaseTelemetry({
  disableMetrics: true
});

Wenn Sie diese Option aktivieren, werden im Firebase Genkit-Monitoring-Dashboard keine Stabilitätsmesswerte mehr angezeigt. Sie sind auch nicht mehr in Google Cloud-Messwerten verfügbar.

Tracing deaktivieren

Fügen Sie Ihrer Konfiguration Folgendes hinzu, um die Erfassung von Traces zu deaktivieren:

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

enableFirebaseTelemetry({
  disableTraces: true
});

Wenn Sie diese Option aktivieren, werden auf der Seite „Monitoring-Funktionen“ von Firebase GenKit keine Traces mehr angezeigt. Außerdem haben Sie keinen Zugriff mehr auf die Trace-Ansicht und es werden keine Traces in Google Cloud Tracing angezeigt.