Monitoramento

O Firebase Genkit é totalmente instrumentado com o OpenTelemetry e oferece suporte integrado de telemetria para rastreamento e métricas.

Configuração de telemetria

O Genkit gerencia automaticamente o rastreamento e as métricas sem exigir configuração explícita. É possível ativar as exportações de telemetria para o Firebase ou o Google Cloud usando os respectivos plug-ins e funções auxiliares. O uso de qualquer um dos plug-ins ativa o painel de monitoramento de IA do Firebase (pré-lançamento particular), que tem uma visualização idiomática de IA dos dados de telemetria.

No Firebase:

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

enableFirebaseTelemetry({
  // Firebase-specific configuration options
});

const ai = genkit({
  plugins: [ ... ]
});

Mais detalhes estão descritos nas documentações do plug-in do Firebase.

No Google Cloud:

import { genkit } from 'genkit';
import { enableGoogleCloudTelemetry } from '@genkit-ai/google-cloud';

enableGoogleCloudTelemetry({
  // Google Cloud-specific configuration options
});

const ai = genkit({
  plugins: [ ... ]
});

Mais detalhes estão descritos nas documentações do plug-in do Google Cloud.

Logging

O Genkit oferece um sistema de geração de registros centralizado que pode ser configurado usando o módulo de geração de registros. Os registros serão exportados para o pacote de operações do Google Cloud se a exportação de telemetria estiver ativada.

import { logger } from 'genkit/logging';

// Set the desired log level
logger.setLogLevel('debug');

Armazenamento de rastros e interface do desenvolvedor

Os rastros são capturados automaticamente e podem ser visualizados na interface do desenvolvedor do Genkit. Para iniciar a interface:

npx genkit start -- <command to run your code>

Ao usar o Firebase, os dados de rastreamento são armazenados automaticamente no Firestore. É recomendável ativar o Time to Live (TTL) para documentos de rastreamento e gerenciar os custos de armazenamento e a retenção de dados.