Con más de 43 millones de vehículos vistos al mes, el rendimiento y la disponibilidad de Dealer.com impulsa el negocio de miles de concesionarios de automóviles en todo el país. Si el sitio web no está disponible o si ocurre un error y los compradores no pueden obtener una cotización de forma fácil y rápida, o no pueden hacer sus averiguaciones preliminares en relación a un vehículo nuevo, la venta podría terminar esfumándose.

En entornos de software complejos como el de Dealer.com, cada solicitud suele pasar por decenas de servicios individuales. Un solo servicio problemático en la ruta puede afectar el tiempo de respuesta general para esa solicitud, convertir una buena experiencia en una mala y quizás hacer que los clientes busquen en otros sitios.

Los equipos de software —que trabajan en un entorno donde hay muchos servicios involucrados en atender una solicitud— necesitan comprender perfectamente el rendimiento de cada servicio, tanto ascendente como descendente, para poder resolver con más eficacia los problemas de rendimiento, medir el bienestar general del sistema y priorizar las áreas de alto valor para mejorarlas. 

El rastreo distribuido de New Relic está incluido para los clientes de APM

El rastreo distribuido de New Relic está diseñado para dar a los equipos de software que trabajan en entornos modernos una manera fácil de capturar, visualizar y analizar trazas en arquitecturas complejas. Y si ya estás usando el monitoreo del rendimiento de aplicaciones (APM) de New Relic, podrás disfrutar del rastreo distribuido sin costo adicional. Solo tienes que actualizar los agentes, abrir New Relic y seleccionar Traces para ver tus datos de rastreo.

Los agentes de New Relic APM eliminan por completo la carga operacional de administrar el software de rastreo complejo, para que los ingenieros como Andrew de Dealer.com puedan instrumentar sus entornos de modo que generen telemetría de trazas ilimitada sin tener que preocuparse por las complejidades asociadas con desplegar y escalar componentes.

Hemos descubierto que el rastreo distribuido de New Relic es increíblemente fácil de integrar. Simplemente actualizamos a nuestro agente y, de repente, ya teníamos rastreo distribuido. Nuestra experiencia fue excelente.

Es posible observar automáticamente todas las trazas de la aplicación en todos los sistemas distribuidos. El rastreo distribuido de New Relic proporciona visualizaciones de gráficos de dispersión y de cascada detallados y prácticos para una variedad de frameworks de lenguajes como C, Go, Java, .NET, Node.js, PHP, Python, Ruby y otros. También incluye datos del browser y monitoreo de móviles de New Relic, AWS Lambda y trazas de formato de Zipkin a través de Trace API. Además, es compatible con normas comunes para trazas como OpenTelemetry y W3C, para que puedas investigar y resolver problemas más rápido.

Vista del rastreo distribuido, como parte del monitoreo del rendimiento de aplicaciones (APM) de New Relic.

Comprender las complejidades del software

Para comprender por qué el rastreo distribuido es tan importante, es útil observar a las plataformas en la nube, el uso de contenedores y la orquestación de contenedores a los que las organizaciones de software con visión progresista recurren para rápidamente diseñar, escalar y operar aplicaciones críticas para el negocio.

A pesar de las numerosas ventajas que ofrecen las arquitecturas de software desarrolladas en microservicios y serverless, la gran cantidad de componentes y su diversidad de lenguajes, los entornos operativos y la propiedad representan una carga nueva y significativa para los equipos que tratan de administrarlas. Los equipos no podrán trabajar eficazmente en la resolución de problemas de un sistema complejo hasta que comprendan todas las dependencias de los servicios y cómo las características de rendimiento de los servicios dependientes afectan sus solicitudes y transacciones. Para encontrar la aguja en el pajar, como dice el refrán, es necesario tener una visión completa de todo el sistema.

Comprender cómo un servicio descendente que se halla “a pocos pasos” puede ocasionar un cuello de botella crítico para un servicio es imprescindible para resolver los problemas rápidamente. También es importante dar a los equipos de DevOps información valiosa sobre cómo optimizar su código. Si no puedes determinar cuándo, por qué y cómo ocurre un problema, los pequeños defectos podrían persistir en producción hasta que llegue el día de la "tormenta perfecta" en la que una serie de eventos se unan para provocar que el sistema falle en su totalidad. El rastreo distribuido proporciona una vista detallada de las solicitudes individuales para que puedas identificar con precisión qué partes del sistema en general están presentando errores, lo que te ayudará a optimizar y resolver los problemas más rápido.

Datos e información valiosa

El rastreo distribuido ofrece visibilidad de extremo a extremo al mostrar las dependencias de los servicios. Puedes considerarlo como una manera de registrar y visualizar solicitudes a través de sistemas distribuidos y complejos. Pero el trabajo de recolectar y visualizar los datos de rastreo puede resultar arduo y complejo a la hora de desplegar, administrar y escalar puertas de enlace o satélites de terceros para la recolección de datos.

New Relic hace que la configuración del rastreo distribuido sea fácil gracias a la instrumentación automática. Nuestro código de aplicación de instrumentación automática emplea agentes de lenguaje que trabajan con cientos de bibliotecas y frameworks distintos en muchos lenguajes. Tú despliegas un agente y New Relic APM se encarga de instrumentar cada servicio involucrado en la solicitud, crear intervalos para las operaciones dentro del servicio y agregar automáticamente información importante para la resolución de problemas en cada span. Incluso puedes agregar atributos personalizados a las transacciones y ver toda tu información en la traza, sin tener que modificar nada.

Los agentes de New Relic APM crean automáticamente un ID de traza única para cada solicitud entrante y propagan ese ID junto con otra información de correlación necesaria a modo de “contexto de traza” en toda la llamada. Por ejemplo, cuando un servicio hace una llamada a otro servicio, New Relic agrega el contexto de traza al encabezado de solicitud HTTP para que el siguiente servicio lo pueda usar. Nuestra instrumentación automática está diseñada para acabar con el trabajo duro de tener que administrar y propagar el contexto.

¿Qué pasa si estás usando un transporte que necesita instrumentación manual? El agente de New Relic APM proporciona una API que se puede usar para inyectar y extraer el contexto de traza. Si se usa el formato especificado por la norma W3C Trace Context para propagar el contexto de traza, se goza de interoperabilidad con cualquier otro agente o herramienta de rastreo que también sea compatible con esa norma.

Nada de esto tiene mucha importancia si no puedes identificar la información valiosa en los datos de tu stack. New Relic APM ofrece visualizaciones de trazas diseñadas para ayudarte a comprender rápidamente por qué una solicitud determinada se está comportando de manera lenta, dónde se originó un error y dónde puedes optimizar el código para mejorar la experiencia de tus clientes.

Este diagrama ilustra cómo estos componentes funcionan de manera coordinada para el rastreo distribuido de New Relic:

cuatro componentes del rastreo distribuido
Los cuatro componentes del rastreo distribuido.

Primeros pasos con el rastreo distribuido de New Relic

¿Ya estás listo para comenzar a identificar cómo mejorar tus aplicaciones? Con New Relic APM y el rastreo distribuido, pronto estarás analizando arquitecturas complejas para comprender mejor las dependencias en todo tu sistema.

1. Consulta la documentación sobre rastreo distribuido.

2. Despliega el agente APM más reciente o actualízalo en cada servicio involucrado en el trayecto de la llamada que te interesa. El rastreo distribuido estará disponible de inmediato con la actualización.

Eso es todo. Ahora puedes acceder a la información de rastreo distribuido de New Relic APM e identificar rápidamente las trazas lentas y las trazas con errores. Incluso puedes usar el filtrado avanzado para identificar trazas con una combinación de atributos.


Visualiza todos los spans que conforman una traza. Usa los detalles capturados por cada span para comprender qué pasó y cómo solucionar el problema.