A métrica personalizada permite registrar dados de desempenho arbitrários por meio de uma chamada de API (por exemplo, tempo ou dados de recursos do computador). Em seguida, use o criador de consulta para criar gráficos e acompanhar essa métrica. Você pode utilizar métrica personalizada para unificar seu monitoramento dentro do New Relic.
Cuidado
Coletar muitas métricas pode impactar o desempenho do seu aplicativo e do seu agente New Relic. Para evitar problemas de dados, mantenha o número total de métricas únicas personalizadas abaixo de 2000.
Nomenclatura métrica
Nomes de métricas identificam valores de dados específicos rastreados pela New Relic. Ao usar a API do agente New Relic Ruby para rastrear métricas personalizadas, é importante considerar a nomenclatura da métrica e como os valores serão agregados.
Um nome de métrica personalizada consiste no prefixo Custom/
, no nome da classe ou categoria e em um rótulo, cada um separado por uma barra /
: Custom/<class>/<method>
ou Custom/<category>/<name>
(por exemplo, Custom/MyClass/My_method
).
Registro métrico personalizado
A API pública para registro de dados métricos consiste em dois métodos em NewRelic::Agent
, record_metric
e increment_metric
.
Dica
Tanto record_metric
quanto increment_metric
são thread-safe.
record_metric(metric_name, value)
record_metric
deve ser usado para registrar uma métrica baseada em evento, geralmente associada a uma duração específica. metric_name
deve ser uma string seguindo regras de nomenclatura de métrica padrão. value
geralmente será um numérico, mas também pode ser um hash de aplicação.
Quando value
for um valor numérico, ele deverá representar a magnitude de uma medida associada a um evento, como a duração de uma chamada de método específica.
Quando value
é um hash de aplicação, ele deve conter chaves :count
, :total
, :min
, :max
e :sum_of_squares
, todas com valores numéricos. Este formulário é útil se você deseja agregar métricas por conta própria e relatá-las periodicamente (por exemplo, a partir de um tópico em segundo plano). As estatísticas fornecidas serão agregadas a quaisquer valores coletados anteriormente para a mesma métrica. Os nomes das chaves hash Aplicar foram escolhidos para corresponder aos nomes das chaves usadas pela API da plataforma.
increment_metric(metric_name, amount=1)
increment_metric
deve ser usado para atualizar uma métrica que atua como um contador simples. A contagem da métrica selecionada será incrementada no valor especificado.
Exemplo de métrica personalizada
Aqui está um exemplo que mostra como você pode usar métricas para rastrear o fluxo de moeda em um site:
class Cart
def checkout() amount = compute_cart_total # computes the amount to charge the customer
::NewRelic::Agent.record_metric('Custom/Cart/charge_amount', amount)
charge_customer(amount) ... endend
Para obter mais informações sobre como os dados são agregados ao longo do tempo, consulte Política de agregação de estatísticas.
Ver métrica personalizada
Para visualizar essas métricas personalizadas, use o criador de consulta para pesquisar métricas, criar gráficos personalizáveis e adicionar esses gráficos ao painel.