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.