Visão geral do Error Reporting

O Error Reporting permite identificar, priorizar e classificar problemas nos seus serviços de nuvem agregando eventos de erro do aplicativo pela causa raiz. Um evento de erro representa um único erro de aplicativo, capturando 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 analisar entradas de registro em busca de stack traces e padrões de erros comuns.

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 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

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: runtime, error e index.

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.

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

A seguir