Com o Error Reporting, é possível identificar, priorizar e classificar problemas nos seus serviços de nuvem agregando eventos de erro do aplicativo em grupos de erros com base na causa raiz. Um evento de erro representa um único erro de aplicativo e captura o carimbo de data/hora, o contexto de execução e a mensagem. O Error Reporting coleta eventos diretamente da API Error Reporting ou os infere ao verificar entradas de registro em busca de stack traces e padrões de erros comuns.
Quando o Error Reporting analisa entradas de registro
O Error Reporting é um serviço global criado no Cloud Logging e pode analisar entradas de registro quando todas as condições a seguir são verdadeiras:
- O Assured Workloads está desativado. Para mais informações, consulte Visão geral do Assured Workloads.
- As chaves de criptografia gerenciadas pelo cliente (CMEK) estão desativadas em todos os buckets de registros que armazenam a entrada de registro. O Error Reporting não pode armazenar entradas de registro em buckets de registros com a CMEK ativada. Para saber como determinar a configuração da CMEK para um bucket de registros, consulte Verificar a ativação da chave.
- O bucket de registros atende a um dos seguintes critérios:
- O bucket de registros é armazenado no mesmo projeto em que as entradas de registro foram criadas.
- As entradas de registro foram encaminhadas para um projeto, que as armazenou em um bucket de registros de propriedade dele.
Como os eventos de erro são agrupados
Para otimizar a performance, o Error Reporting coleta até 1.000 erros por hora, estimando as contagens quando esse limite é atingido. Se o volume de eventos exceder a capacidade, o Error Reporting fará uma amostragem de até 100 erros por hora e continuará extrapolando as contagens mostradas.
Quando o Error Reporting avalia entradas de registro para identificar eventos de erro, ele ignora os seguintes dados:
- Entradas de registro gravadas pelo ambiente padrão do App Engine com um nível de gravidade menor que
ERROR. - Frames de pilha que não pertencem ao usuário, como os que pertencem a bibliotecas públicas.
Quando uma entrada de registro é verificada, o Error Reporting faz as seguintes modificações antes de inferir eventos de erro:
- Substitui qualquer sequência repetida de um ou mais frames de pilha por uma única ocorrência dessa sequência.
- Remove métodos e símbolos introduzidos pelo compilador.
O Error Reporting aplica essas regras, na ordem especificada, para agrupar eventos de erro:
| Evento de erro | Agrupados por |
|---|---|
| Eventos de erro causados por um problema geral no ambiente.
Por exemplo, problemas específicos do App Engine: com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException Problemas do Java: java.util.concurrent.CancellationException |
Agrupados por tipo de exceção. |
| Eventos de erro com um stack trace. No caso de exceções aninhadas, a exceção mais interna é considerada.
Exemplo: runtime error: index out of range
package1.func1()
file1:20
package2.func2()
file2:33 |
Agrupados por tipo de exceção e os cinco frames principais. |
| Eventos de erro sem um stack trace, mas com uma mensagem.
Exemplo: runtime error: index out of range
func1()Neste exemplo, os seguintes tokens são considerados:
|
Agrupados por mensagem e, se presente, pelo nome da função. Apenas os três primeiros tokens literais da mensagem são considerados. |
Regionalidade dos dados
Se você configurar o Assured Workloads para residência de dados ou requisitos do Nível de impacto 4 (IL4), o Google Cloud desativa automaticamente o Error Reporting.
No Cloud Logging, é possível regionalizar seus registros encaminhando-os para um local específico. Na página Grupos de erros, o Error Reporting organiza e mostra grupos de erros com base na região do bucket de registros que contém as entradas de registro. Por exemplo, um grupo de erros listado em us-central1 contém apenas registros de erros que fazem parte de um bucket de registros em us-central1. Os grupos de erros globais contêm apenas registros de erros que fazem parte de um bucket de registros na região global.
Para filtrar a região dos grupos de erros mostrados na página Grupos de erros, selecione um valor no menu Região. O valor padrão desse menu é
global.
