Este guia se concentra em opções de configuração avançadas para recursos implantados usando o plug-in de telemetria do Firebase. As descrições detalhadas de cada opção de configuração podem ser encontradas na nossa documentação de referência da API JS.
Esta documentação descreve como ajustar a telemetria coletada, a frequência e os ambientes.
Configuração padrão
O plug-in de telemetria do Firebase oferece opções padrão prontas para uso, para que você comece a trabalhar rapidamente. Estes são os padrões fornecidos:
{
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()
}
Exportar telemetria local
Para exportar a telemetria ao executar localmente, defina a opção forceDevExport
como
true
.
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({forceDevExport: true});
Durante o desenvolvimento e o teste, é possível diminuir a latência ajustando o intervalo de exportação e o tempo limite.
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
forceDevExport: true,
metricExportIntervalMillis: 10_000, // 10 seconds
metricExportTimeoutMillis: 10_000 // 10 seconds
});
Ajustar a instrumentação automática
O plug-in de telemetria do Firebase coleta automaticamente rastros e métricas de frameworks conhecidos usando a instrumentação sem código do OpenTelemetry.
Uma lista completa de instrumentações disponíveis pode ser encontrada na documentação auto-instrumentations-node.
Para desativar ou ativar seletivamente instrumentações qualificadas para a instrumentação
automática, atualize o campo autoInstrumentationConfig
:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
autoInstrumentationConfig: {
'@opentelemetry/instrumentation-fs': { enabled: false },
'@opentelemetry/instrumentation-dns': { enabled: false },
'@opentelemetry/instrumentation-net': { enabled: false },
}
});
Desativar a telemetria
O monitoramento do Firebase Genkit usa uma combinação de registro, rastreamento e métricas para capturar uma visão holística das suas interações com o Genkit. No entanto, você também pode desativar cada um desses elementos de forma independente, se necessário.
Desativar a geração de registros de entrada e saída
Por padrão, o plug-in de telemetria do Firebase vai capturar entradas e saídas para cada recurso ou etapa do Genkit.
Para ajudar a controlar como os dados do cliente são armazenados, desative o registro de entrada e saída adicionando o seguinte à configuração:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
disableLoggingInputAndOutput: true
});
Com essa opção definida, os atributos de entrada e saída serão ocultados no visualizador de rastros do Firebase Genkit Monitoring e não serão exibidos no registro do Google Cloud.
Desativar métricas
Para desativar a coleta de métricas, adicione o seguinte à configuração:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
disableMetrics: true
});
Com essa opção definida, você não vai mais ver as métricas de estabilidade no painel de monitoramento do Firebase Genkit e elas não vão aparecer nas Métricas do Google Cloud.
Desativar rastros
Para desativar a coleta de rastros, adicione o seguinte à configuração:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
disableTraces: true
});
Com essa opção definida, você não vai mais encontrar rastros na página do recurso de monitoramento do Firebase Genkit, não terá acesso ao visualizador de rastros nem vai encontrar rastros presentes no Google Cloud Tracing.