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.