Visão geral do Error Reporting

O Error Reporting agrega erros produzidos nos seus serviços em execução na nuvem. Esses erros são informados pela API Error Reporting ou são inferidos como erros quando o Error Reporting inspeciona entradas de registro em busca de padrões de texto comuns, como rastros de pilha. O Error Reporting agrupa os erros que têm a mesma causa raiz.

O Error Reporting é ativado automaticamente.

O Error Reporting processa até 1.000 erros por hora. Quando esse limite é atingido, as contagens exibidas são estimadas. Se muitos eventos forem recebidos, o Error Reporting vai gerar amostras de até 100 erros por hora e continuar a extrapolar as contagens.

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:

  • As cargas de trabalho garantidas estão desativadas. 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. 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 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 roteadas para um projeto, que as armazenou em um bucket de registros.
Se você armazenar as entradas de registro em buckets de registro com o CMEK ativado, ainda será possível usar o Error Reporting. No entanto, é necessário usar as bibliotecas de cliente do Error Reporting ou a API Error Reporting. Para mais informações, consulte a Visão geral da API Error Reporting e as bibliotecas de cliente do Error Reporting.

Como os erros são agrupados

Quando o Error Reporting avalia entradas de registro, ele ignora entradas de registro com as seguintes condições:

  • No ambiente padrão do App Engine, os erros registrados com gravidade menor que ERROR são ignorados.
  • Os frames de pilha que não pertencem ao usuário são ignorados (aqueles que pertencem às bibliotecas públicas, por exemplo).
  • Todas as sequências repetidas de um ou mais frames de pilha são substituídas por uma ocorrência única daquela sequência.
  • Métodos introduzidos por compilador e símbolos são removidos.

Em seguida, o Error Reporting segue estas regras para agrupar erros:

  • As exceções são agrupadas se tiverem o mesmo tipo e pilhas semelhantes.
  • O rastreamento de pilha é ignorado para exceções que geralmente não estão relacionadas ao local de origem onde elas ocorrem.
  • Os erros sem uma pilha de exceção são agrupados juntos se tiverem sido criados pela mesma entrada de registro, aproximada pelo local de origem onde foi relatado (reportLocation).

As seguintes regras de agrupamento são aplicadas, especificamente, nesta ordem:

Tipo de erro Agrupados por
Erros 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.
Erros com um rastreamento de pilha. No caso de exceções aninhadas, é considerada aquela mais interna.

Por 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.
Erros sem um stack trace, mas com uma mensagem.

Exemplo:

runtime error: index out of range
    func1()
Agrupados por mensagem e, se presente, pelo nome da função. Apenas os três primeiros tokens principais da mensagem são considerados. No exemplo à esquerda, eles são runtime, error e index.

Regionalidade dos dados

Se você configurar o Assured Workloads para requisitos de residência de dados ou Impact Level 4 (IL4), o Google Cloud desativa automaticamente a Error Reporting.

No Cloud Logging, é possível regionalizar seus registros roteando-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-central-1 contém apenas registros de erros que fazem parte de um bucket de registros em us-central-1. 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.

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

A seguir