Configuration avancée

Ce guide se concentre sur les options de configuration avancées pour les fonctionnalités déployées à l'aide du plug-in de télémétrie Firebase. Vous trouverez une description détaillée de chaque option de configuration dans notre documentation de référence de l'API JS.

Cette documentation explique comment affiner la télémétrie collectée, sa fréquence et ses environnements.

Configuration par défaut

Le plug-in de télémétrie Firebase fournit des options par défaut prêtes à l'emploi pour vous permettre de démarrer rapidement. Voici les valeurs par défaut fournies:

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

Exporter la télémétrie locale

Pour exporter la télémétrie lors de l'exécution locale, définissez l'option forceDevExport sur true.

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

enableFirebaseTelemetry({forceDevExport: true});

Pendant le développement et les tests, vous pouvez réduire la latence en ajustant l'intervalle d'exportation et le délai avant expiration.

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

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

Ajuster l'instrumentation automatique

Le plug-in de télémétrie Firebase collecte automatiquement des traces et des métriques pour les frameworks populaires à l'aide de l'instrumentation sans code OpenTelemetry.

Vous trouverez la liste complète des instrumentations disponibles dans la documentation auto-instrumentations-node.

Pour désactiver ou activer de manière sélective les instrumentations éligibles à l'instrumentation automatique, mettez à jour le champ autoInstrumentationConfig:

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

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

Désactiver la télémétrie

La surveillance Firebase Genkit s'appuie sur une combinaison de journalisation, de traçage et de métriques pour obtenir une vue globale de vos interactions Genkit. Toutefois, vous pouvez également désactiver chacun de ces éléments indépendamment si nécessaire.

Désactiver la journalisation des entrées et des sorties

Par défaut, le plug-in de télémétrie Firebase capture les entrées et les sorties pour chaque fonctionnalité ou étape Genkit.

Pour vous aider à contrôler la manière dont les données client sont stockées, vous pouvez désactiver la journalisation des entrées et des sorties en ajoutant ce qui suit à votre configuration:

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

enableFirebaseTelemetry({
  disableLoggingInputAndOutput: true
});

Lorsque cette option est définie, les attributs d'entrée et de sortie sont masqués dans l'outil de visualisation des traces de surveillance Firebase Genkit et ne figurent pas dans la journalisation Google Cloud.

Désactiver les métriques

Pour désactiver la collecte de métriques, ajoutez les éléments suivants à votre configuration:

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

enableFirebaseTelemetry({
  disableMetrics: true
});

Lorsque cette option est définie, les métriques de stabilité ne s'affichent plus dans le tableau de bord de surveillance Firebase Genkit et ne figurent plus dans les métriques Google Cloud.

Désactiver les traces

Pour désactiver la collecte des traces, ajoutez ce qui suit à votre configuration:

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

enableFirebaseTelemetry({
  disableTraces: true
});

Lorsque cette option est définie, vous ne voyez plus de traces sur la page de la fonctionnalité de surveillance Firebase Genkit, vous n'avez plus accès au visualiseur de traces ni de traces dans Google Cloud Tracing.