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:
posix-terminal
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.