As seções a seguir detalham soluções para problemas comuns que os desenvolvedores encontram ao usar o monitoramento do Genkit do Firebase.
Não consigo ver rastros ou métricas no monitoramento do Firebase Genkit
- Verifique se as APIs abaixo estão ativadas para seu projeto do Google Cloud:
- Verifique se os seguintes papéis são aplicados à conta de serviço que
está executando seu código (ou à conta de serviço configurada como parte das
opções do plug-in) no Cloud IAM.
- Gravador de métricas do Monitoring (
roles/monitoring.metricWriter
) - Agente do Cloud Trace (
roles/cloudtrace.agent
) - Gravador de registros (
roles/logging.logWriter
)
- Gravador de métricas do Monitoring (
Inspecione os registros do aplicativo para verificar se há erros de gravação no Cloud Logging, no Cloud Trace e no Cloud Monitoring. Na infraestrutura do Google Cloud, como o Firebase Functions e o Cloud Run, mesmo quando a telemetria está incorretamente configurada, os registros para
stdout/stderr
são ingeridos automaticamente pelo agente do Cloud Logging. Isso permite que você diagnostique problemas no console do Cloud Logging.Depurar localmente:
Ativar a exportação de desenvolvedor:
enableFirebaseTelemetry({ forceDevExport: true });
Para testar com suas credenciais de usuário pessoais, use a gcloud CLI para fazer a autenticação com o Google Cloud. Isso pode ajudar a diagnosticar APIs ativadas ou desativadas, mas não testa o login padrão do aplicativo gcloud auth.
Como alternativa, a personificação da conta de serviço permite testar acessos semelhantes à produção. Você precisa ter o papel do IAM
roles/iam. serviceAccountTokenCreator
aplicado à sua conta de usuário para representar contas de serviço:gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
Consulte a documentação do ADC para mais informações.
Confiabilidade do upload de telemetria no Firebase Functions / Cloud Run
Quando o Genkit é hospedado no Google Cloud Run (incluindo o Cloud Functions para Firebase), o upload de dados de telemetria pode ser menos confiável, porque o contêiner muda para o estado de ciclo de vida "inativo". Se uma confiabilidade maior for importante para você, mude a alocação de CPU para sempre alocada no console do Google Cloud.