Esta guía cubre los principales cambios entre las series 9.x y 10.x del agente Ruby y cómo tener una migración exitosa.
Resumen
Los principales cambios en la v10.0 incluyen:
- Se eliminó la compatibilidad con Ruby 2.4 y 2.5
- Se eliminó el seguimiento entre aplicaciones (CAT) y las API relacionadas
- Se eliminó la compatibilidad con el registro de implementaciones a través del agente
- Se eliminaron las API
NewRelic::Agent::SqlSampler#notice_sqly se simplificaron lasNewRelic::Agent::Datastores - Se eliminó la compatibilidad con las versiones de Puma '<' 3.9.0
- Se eliminó la función experimental Configurable Security Policies (CSP)
- Métricas y segmentos de ActiveJob renombrados
- Se cambió el nombre del comando
bin/newrelicabin/newrelic_rpm
Consulte el hito para 10.0 para obtener más información.
Junto a estos cambios importantes, hay varias otras mejoras. Consulte el CHANGELOG para obtener más detalles.
Se eliminó la compatibilidad con Ruby 2.4 y 2.5
Ruby 2.4 y 2.5 ya no son compatibles con el agente Ruby. Para seguir utilizando la última versión del agente Ruby, actualice a Ruby 2.6.0 o superior.
New Relic continúa admitiendo ciertas versiones anteriores de Ruby incluso después de que hayan quedado fuera de la ventana de mantenimiento oficialmente admitida proporcionada por el equipo de desarrollo del lenguaje Ruby. Por ejemplo, a partir del 31 de marzo de 2026, la versión de Ruby más antigua compatible con el equipo de Ruby será la versión 3.3, mientras que con la versión 10.0 del agente de Ruby, las versiones de Ruby 2.6 y superiores aún son compatibles. Para obtener más información sobre el soporte oficial del equipo de Ruby para las versiones de Ruby, consulte Ramas de mantenimiento de Ruby.
Se eliminó el rastreo entre aplicaciones (CAT) y las API relacionadas
Se elimina la multiaplicación Tracing (CAT) en favor de rastreo distribuido. CAT emplea encabezados específicos de New Relicpara vincular transacciones entre aplicaciones monitoreadas por APM, mientras que el rastreo distribuido adopta el W3C Trace Context. Para activar rastreo distribuido, establezca la opción de configuración distributed_tracing.enabled en true.
distributed_tracing.enabled: trueLa opción de configuración cross_application_tracer.enabled se ha eliminado junto con los siguientes métodos de API pública:
| Se eliminó la API CAT | Reemplazo de rastreo distribuido | Contexto |
|---|---|---|
NewRelic::Agent::External.process_request_metadata | NewRelic::Agent::DistributedTracing.accept_distributed_trace_headers | Lee los encabezados de contexto de rastreo W3C de una solicitud entrante para vincular el servicio al rastreo ascendente. |
NewRelic::Agent::External.get_response_metadata | No se necesita un equivalente | Los metadatos de respuesta están obsoletos; la vinculación se gestiona mediante encabezados W3C en la solicitud. |
NewRelic::Agent::Transaction::ExternalRequestSegment#process_response_metadata | No se necesita un equivalente | El procesamiento basado en la respuesta se elimina en favor de la propagación del encabezado de la solicitud. |
NewRelic::Agent::Transaction::ExternalRequestSegment#get_request_metadata | NewRelic::Agent::DistributedTracing.insert_distributed_trace_headers | Crea y agrega encabezados de contexto de rastreo W3C a los encabezados de solicitud salientes. |
NewRelic::Agent::Transaction::ExternalRequestSegment#read_response_headers | No se necesita un equivalente | El enlace de rastreo no requiere leer los encabezados de respuesta. |
Obtenga más información sobre el uso de API de seguimiento distribuido.
Se eliminó la compatibilidad con el registro de implementaciones a través del agente
El agente ya no admite la capacidad de enviar información de implementación de la aplicación mediante una receta de Capistrano o el comando CLI newrelic deployments. Para realizar un seguimiento de los cambios y las implementaciones en New Relic, consulte nuestra guía sobre Seguimiento de cambios para obtener una lista de las opciones disponibles.
Eliminado NewRelic::Agent::SqlSampler#notice_sql y simplificado NewRelic::Agent::Datastores
Se eliminó el método NewRelic::Agent::SqlSampler#notice_sql
Se ha eliminado el método NewRelic::Agent::SqlSampler#notice_sql. Para rastrear las consultas SQL, debe usar el método NewRelic::Agent::Datastores.notice_sql en su lugar.
Eliminó argumentos no utilizados de varias API de NewRelic::Agent::Datastores
Varias API NewRelic::Agent::Datastores se han simplificado al eliminar argumentos redundantes. La información de tiempo (elapsed) y el alcance de la métrica se derivan automáticamente del segmento actual.
Las siguientes API se han actualizado:
| API antigua | Nueva API | Cambiar |
|---|---|---|
NewRelic::Agent::Datastores.notice_sql(query, scoped_metric, elapsed) | NewRelic::Agent::Datastores.notice_sql(query) | Se eliminaron los argumentos scoped_metric y elapsed. |
NewRelic::Agent::Datastores.notice_statement(statement, elapsed) | NewRelic::Agent::Datastores.notice_statement(statement) | Se eliminó el argumento elapsed. |
NewRelic::Agent::Datastores.wrap(...) do \|result, scoped_metric, elapsed_time\| | NewRelic::Agent::Datastores.wrap(...) do \|result\| | Se eliminaron scoped_metric y elapsed_time de los argumentos del bloque de devolución de llamada. |
Se eliminó la compatibilidad con las versiones de Puma '<'
La versión mínima de Puma ahora compatible es 3.9.0 o superior. Si utiliza Puma, actualice a la versión 3.9.0 o posterior antes de actualizar el agente.
Se eliminó la función experimental Configurable Security Policies (CSP)
La función experimental, Políticas de seguridad configurables (CSP), ya no es compatible y se ha eliminado. La configuración de seguridad predeterminada del agente proporciona automáticamente seguridad para sus datos de APM; sin embargo, puede restringir aún más la información que New Relic recibe utilizando el modo de alta seguridad.
Métricas y segmentos de ActiveJob renombrados
Las métricas y segmentos de ActiveJob se han actualizado para incluir el nombre de la clase del trabajo para informes más específicos. Actualice todos los paneles personalizados y las alertas NRQL que consultan las métricas y segmentos de ActiveJob para reflejar el nuevo formato.
Formato antiguo:
"Ruby/ActiveJob/#{QueueName}/#{Method}" # metrics"ActiveJob/#{Adapter}/Queue/#{Event}/Named/#{JobQueueName}" # segmentsNuevo formato:
"Ruby/ActiveJob/#{QueueName}/#{JobClassName}/#{Method}" # metrics"ActiveJob/#{Adapter}/Queue/#{Event}/Named/#{JobQueueName}/#{JobClassName}" # segmentsSe cambió el nombre del comando bin/newrelic a bin/newrelic_rpm
El archivo ejecutable para la CLI del agente se ha renombrado de bin/newrelic a bin/newrelic_rpm. Este cambio resuelve una colisión de nombres con la herramienta CLI de New Relic independiente.
Comando antiguo:
$bin/newrelic installNuevo comando:
$bin/newrelic_rpm install