Visão geral do Error Reporting

O Error Reporting agrega e agrupa eventos de erro do aplicativo por causa raiz, ajudando você a identificar, priorizar e classificar problemas nos serviços de nuvem. Um evento de erro representa uma única ocorrência de um erro de aplicativo e captura o carimbo de data/hora, o contexto de execução e a mensagem de erro.

O Error Reporting é ativado automaticamente e começa a detectar erros sem exigir configuração manual. Ele coleta eventos de erro diretamente da API Error Reporting ou os infere ao analisar entradas de registro em busca de stack traces e padrões de erro comuns.

Para otimizar a performance, o Error Reporting processa até 1.000 erros por hora, estimando as contagens ao atingir esse limite. Se o volume de eventos exceder a capacidade, o Error Reporting processará até 100 erros por hora e continuará extrapolando as contagens exibidas.

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 forem 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 registro que armazenam a entrada de registro. O Error Reporting não pode armazenar entradas de registro em buckets de registro que tenham a CMEK ativada. Para informações sobre 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 uma das seguintes condições:
    • O bucket de registros é armazenado no mesmo projeto em que as entradas de registro foram originadas.
    • As entradas de registro foram encaminhadas para um projeto, e esse projeto as armazenou em um bucket de registros de propriedade dele.

Como os eventos de erro são agrupados

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 que têm um nível de gravidade menor que ERROR.
  • Frames de pilha que não pertencem ao usuário, como aqueles que pertencem a bibliotecas públicas.

Quando uma entrada de registro é analisada, 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 ocorrência única 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, é considerada aquela mais interna.

Exemplo:

runtime error: index out of range
package1.func1()
      file1:20
package2.func2()
      file2:33
Agrupados por tipo de exceção e pelos 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: runtime, error e index.

Agrupados por mensagem e, se presente, pelo nome da função. Apenas os três primeiros tokens principais da mensagem são considerados.

Regionalidade dos dados

Se você configurar o Assured Workloads para requisitos de residência de dados ou de nível de impacto 4 (IL4), o Google Cloud Error Reporting será desativado automaticamente.

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 exibidos na página Grupos de erros , selecione um valor no menu Região. Esse menu tem um valor padrão de global.

O menu "Região" na página "Grupos de erros".

A seguir