Métrica personalizada le permite registrar datos de rendimiento arbitrarios a través de una llamada API (por ejemplo, datos de tiempo o recursos informáticos). Luego use el generador de consultas para crear gráficos y realizar un seguimiento de esa métrica. Puedes utilizar métrica personalizada para unificar tu monitoreo dentro de New Relic.
Advertencia
Recopilar demasiadas métricas puede afectar el rendimiento de su aplicación y de su agente New Relic. Para evitar problemas de datos, mantenga el número total de métricas únicas personalizadas por debajo de 2000.
Denominación métrica
Los nombres métricos identifican valores de datos específicos rastreados por New Relic. Al utilizar la API del agente Ruby de New Relic para realizar un seguimiento de las métricas personalizadas, es importante tener en cuenta el nombre de las métricas y cómo se agregarán los valores.
Un nombre de métrica personalizada consta del prefijo Custom/
, el nombre de clase o categoría y una etiqueta, cada uno de ellos separado por una barra diagonal /
: Custom/<class>/<method>
o Custom/<category>/<name>
(por ejemplo, Custom/MyClass/My_method
).
Registro métrico personalizado
La API pública para registrar datos métricos consta de dos métodos en NewRelic::Agent
, record_metric
y increment_metric
.
Sugerencia
Tanto record_metric
como increment_metric
son seguros para subprocesos.
record_metric(metric_name, value)
record_metric
debe usarse para registrar una métrica basada en eventos, generalmente asociada con una duración particular. metric_name
debe ser una cadena que siga las reglas de nomenclatura métricas estándar. value
normalmente será numérico, pero también puede ser un hash.
Cuando value
es un valor numérico, debe representar la magnitud de una medida asociada con un evento, como la duración de una llamada a un método en particular.
Cuando value
es un hash, debe contener claves :count
, :total
, :min
, :max
y :sum_of_squares
, todas con valores numéricos. Este formulario es útil si deseas realizar métricas agregadas por tu cuenta e informarlas periódicamente (por ejemplo, desde un hilo en segundo plano). Las estadísticas proporcionadas se agregarán con los valores recopilados previamente para la misma métrica. Los nombres de las claves hash se han elegido para que coincidan con los nombres de las claves utilizadas por la API de la plataforma.
increment_metric(metric_name, amount=1)
increment_metric
debe usarse para actualizar una métrica que actúa como un contador simple. El recuento de la métrica seleccionada se incrementará en la cantidad especificada.
Ejemplo de métrica personalizada
A continuación se muestra un ejemplo que muestra cómo se puede utilizar métrica para realizar un seguimiento del flujo de divisas a través de un sitio:
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 obtener más información sobre cómo se agregan los datos a lo largo del tiempo, consulte Política de agregación de estadísticas.
Ver métrica personalizada
Para ver estas métricas personalizadas, utilice el generador de consultas para buscar métricas, crear gráficos personalizables y agregar esos gráficos al panel.