• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Enviando erros manipulados para New Relic

Para enviar dados de erro que você está processando em seu próprio código para o New Relic, use a chamada da API do agente Ruby NewRelic::Agent.notice_error em seu gerenciador de erros.

Notificar o agente New Relic Ruby sobre um erro

Esta chamada de API aceita a exceção e uma opção opcional aplica hash. Use este formato:

NewRelic::Agent.notice_error(exception, options = { })Object

Essa função registra o erro fornecido e o transmite pelo processo normal de filtragem de erros, incluindo ignorar erros com base na configuração e o método #ignore_error_filter global, se definido.

O exception é a exceção a ser registrada ou uma mensagem de erro. Se necessário, você também pode incluir options = { }. O parâmetro a seguir receberá tratamento especial e qualquer outro parâmetro fornecido será tratado como parâmetro personalizado.

options = { }

Comments

:expected

Registra apenas o tracede erro. Isto não afeta a taxa de erros ou o status do Apdex. Para obter informações sobre erro esperado na interface, consulte Visualizar erro esperado.

Substitui a opção :trace_only , que foi descontinuada na versão 4.3.x do agente Ruby.

:custom_params

Parâmetro personalizado.

:uri

O caminho da solicitação, menos qualquer parâmetro de solicitação ou string de consulta.

Geralmente não é necessário. Inclua isso apenas se estiver chamando notice_error fora de uma transação.

:metric

O nome da métrica associado à transação.

Geralmente não é necessário. Inclua isso apenas se estiver chamando notice_error fora de uma transação.

:request_params (descontinuada)

Versões mais antigas do agente Ruby permitiam passar uma opção :request_params , mas agora elas são ignoradas. Caso precise registrar o parâmetro request, chame esse método dentro de uma transação, ou passe a informação em :custom_params.

Erro impressão digital: aplica dinamicamente um grupo de erros a cada erro detectado

Suas ocorrências de erros estão mal agrupadas? Defina sua própria impressão digital de erro por meio de uma função de retorno de chamada.

Um retorno de chamada baseado em Proc pode ser fornecido ao agente para aplicar dinamicamente um grupo de erros desejado a cada erro detectado. Use a API do agente Ruby NewRelic::Agent.set_error_group_callback para fornecer um retorno de chamada ao agente.

Esta chamada de API usa um método de retorno de chamada (deve ser do tipo Proc) como único argumento. O argumento é obrigatório. A chamada de API só precisa ser feita uma vez por lançamento do agente New Relic Ruby, portanto, a chamada pode ser feita em um inicializador Rails ou similar. Se forem feitas chamadas subsequentes à API, o método de retorno de chamada será atualizado para o método mais recente fornecido. Aqui está um exemplo de retorno de chamada sendo definido e passado para o método de API NewRelic::Agent.set_error_group_callback :

proc = proc { |hash| "Access" if hash[:'http.statusCode'] == 401 }
NewRelic::Agent.set_error_group_callback(proc)

No exemplo mostrado, é criado um procedimento de retorno de chamada que aceitará um hash Aplicar como seu único argumento e, em seguida, retornará a string "Access" para o nome do grupo de erros desejado se o hash Aplicar contiver uma chave de código de status HTTP com um valor de 401.

Espera-se que o processo de retorno de chamada receba exatamente um argumento de entrada, um hash aplicar. O hash aplicar contém o seguinte:

Key

Value

:error

A instância da classe de erro Ruby. Ofertas #class, #message e #backtrace

:customAttributes

Qualquer atributo personalizado para a transação atual

:'request.uri'

O URI de solicitação atual, se disponível

:'http.statusCode'

O código de status HTTP (200, 404, etc.), se disponível

:'http.method'

O método HTTP (GET, PUT, etc.), se disponível

:'error.expected'

Se (verdadeiro) ou não (falso) o erro era esperado

:'options'

As opções aplicam hash passado para NewRelic::Agent.notice_error

Espera-se que o procedimento de retorno de chamada retorne uma string representando o nome do grupo de erros desejado, se algum puder ser determinado. Se o proc retornar um nil ou uma string vazia (''), o erro receberá lógica de agrupamento do lado do servidor.

Rastreamento de usuário: associando um ID de usuário a cada transação e erro

Agora você pode ver o número de usuários afetados por um grupo de erros.

Transações e erros podem ser associados a um ID de usuário se um for conhecido pelo agente New Relic Ruby. Use a API do agente Ruby NewRelic::Agent.set_user_id para fornecer ao agente um ID de usuário.

Esta chamada de API requer um único argumento de uma string que representa um identificador exclusivo para um usuário final. Essa string pode ser um UUID, um ID de banco de dados ou similar. A chamada da API deve ser feita pelo menos uma vez por transação para informar ao agente New Relic Ruby a qual ID de usuário associar a transação. Então, por sua vez, quando o agente perceber erros durante a vida útil da transação, os erros terão um atributo de agente enduser.id que contém o valor do ID do usuário.

Como a API deve ser chamada sempre que um novo ID de usuário entrar no escopo, o ideal é que ela seja chamada por meio de um middleware que esteja ciente da criação da sessão do usuário. Depois que o agente New Relic Ruby tiver conhecimento do ID do usuário, ele fornecerá o atributo de agente enduser.id na transação atual, bem como em quaisquer erros observados durante a vida útil da transação atual.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.