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

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

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

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: Aplique 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.

Rastreamento de versão: use metadados para ver qual versão produziu um erro

Errors Inbox rastreará automaticamente quais versões do seu software estão produzindo erros. Quaisquer dados de versão também serão exibidos em CodeStream.

Defina uma das seguintes variáveis de ambiente para ajudar a identificar quais versões do seu software produzem erros.

  • NEW_RELIC_METADATA_SERVICE_VERSION adiciona o atributo tags.service.version aos dados do evento de erro contendo a versão do seu código que está implantada, geralmente uma versão semântica como 1.2.3, mas nem sempre.
  • NEW_RELIC_METADATA_RELEASE_TAG adiciona o atributo tags.releaseTag aos dados do evento que contêm a tag de lançamento (como v0.1.209 ou release-209).
  • NEW_RELIC_METADATA_COMMIT adiciona o atributo tags.commit nos dados do evento que contém o commit sha. Você pode usar o sha inteiro ou apenas os primeiros sete caracteres (por exemplo, 734713b).
Copyright © 2024 New Relic Inc.

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