• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Instrumentación de Puma

El agente Ruby de New Relic puede tomar muestras de las estadísticas del servidor de todo el clúster de Puma desde el proceso maestro Puma y reportarlas como Ruby/Puma/* métricas de segmento de tiempo.

Esta instrumentación está deshabilitada de forma predeterminada.

Requerimientos mínimos

Requisito

Detalles

Versión del agente Ruby

10.7.0 o superior

Versión de Puma

6.6.0 o superior

Modo Puma

Modo único, o modo en clúster con

preload_app!

habilitado.

Habilite la instrumentación

Para habilitar la instrumentación de Puma, establezca disable_puma_instrumentation en false en su newrelic.yml:

disable_puma_instrumentation: false

El agente toma muestras de las estadísticas del proceso maestro Puma, por lo que solo recopila métricas donde el agente está cargado en el maestro:

  • Modo único (sin workers): las métricas siempre se recopilan.

  • Modo en clúster (uno o más trabajadores): las métricas se recopilan solo cuando tu aplicación está precargada, de modo que el agente se carga en el maestro en lugar de en un trabajador. Agrega preload_app! a tu puma.rb:

    workers 2
    preload_app!

    Importante

    En Puma v6.x debe establecer preload_app! explícitamente. Puma v6.x no aplica su valor predeterminado de preload_app del bloque de configuración, por lo que una aplicación en clúster con workers establecido pero sin preload_app! explícito carga el agente en un hilo de trabajo y no se recopilan métricas de Puma. Cuando esto sucede, el agente registra una advertencia.

Ajustar la frecuencia de muestreo

Por defecto, el agente muestrea las estadísticas de Puma cada 60 segundos. Cambie esto con la configuración puma.sample_rate en su newrelic.yml:

puma.sample_rate: 30

Qué captura

Todas las métricas se registran bajo el namespace Ruby/Puma/. Los valores por worker se suman en todo el clúster.

Métrica

Descripción

Ruby/Puma/backlog

Número de requests que esperan un hilo disponible.

Ruby/Puma/running

Número de hilos de trabajo actualmente generados en el grupo de hilos.

Ruby/Puma/pool_capacity

Capacidad de request de reserva: hilos inactivos más hilos aún no generados pero permitidos hasta

max_threads

.

Ruby/Puma/max_threads

Número máximo de hilos configurado.

Ruby/Puma/requests_count

Número acumulado de requests procesados desde que se iniciaron los trabajadores.

Ruby/Puma/workers

Número de trabajadores de Puma. Reportado solo en modo clúster.

Ejemplo de consulta

Consulte estas métricas con NRQL usando el tipo Metric. Reemplace YOUR_APP_NAME con el nombre de su aplicación.

Para ver todas las métricas de Puma a la vez:

FROM Metric SELECT average(newrelic.timeslice.value)
WHERE appName = 'YOUR_APP_NAME' AND metricTimesliceName LIKE 'Ruby/Puma/%'
FACET metricTimesliceName TIMESERIES LIMIT MAX SINCE 1 hour ago

Para ver una sola métrica, filtre por su nombre:

FROM Metric SELECT average(newrelic.timeslice.value)
WHERE appName = 'YOUR_APP_NAME' AND metricTimesliceName = 'Ruby/Puma/requests_count'
TIMESERIES LIMIT MAX SINCE 1 hour ago

Cómo funciona

Cuando está habilitado, el agente inicia un hilo de informes en el proceso maestro de Puma para entregar estas métricas. Esto ejecuta una conexión de agente adicional en el maestro, junto con las conexiones de tus trabajadores de Puma.

La instrumentación registra solo medidores enteros y contadores a través de NewRelic::Agent.record_metric. No captura ningún dato de request, consulta o usuario.

Copyright © 2026 New Relic Inc.

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