Java utiliza la instrumentación automática para inyectar y extraer metadatos adicionales requeridos por Data Streams Monitoring para medir latencias de extremo a extremo y la relación entre colas y servicios. Para habilitar Data Streams Monitoring, configura la variable de entorno DD_DATA_STREAMS_ENABLED en true en servicios que envían mensajes a (o que consumen mensajes de) Kafka, SQS o RabbitMQ.
Además, configura la variable DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED en true de modo que DD_SERVICE se utilice como nombre de servicio en trazas (traces).
Para configurar Data Streams Monitoring desde la interfaz de usuario Datadog sin necesidad de reiniciar tu servicio, utiliza la configuración en tiempo de ejecución. Ve a la página de servicios APM y Enable DSM.
Data Streams Monitoring utiliza un atributo de mensaje para rastrear la ruta de un mensaje a través de una cola SQS. Como Amazon SQS tiene un límite máximo de 10 atributos de mensaje permitidos por mensaje, todos los mensajes transmitidos a través de los pipelines de datos deben tener 9 o menos atributos de mensaje definidos, lo que permite que el atributo restante sea para Data Streams Monitoring.
Para monitorizar un pipeline de datos en el que Amazon SNS habla directamente con Amazon SQS, debes realizar los siguientes pasos adicionales de configuración:
No existen atributos de mensaje en Kinesis para propagar el contexto y seguir la ruta completa de un mensaje a través de un flujo (stream) de Kinesis. Como resultado, las métricas de latencia de extremo a extremo de Data Streams Monitoring se aproximan sumando la latencia en segmentos de la ruta de un mensaje, desde el servicio productor, a través del flujo de Kinesis, hasta un servicio consumidor. Las métricas de rendimiento se basan en segmentos desde el servicio productor, a través de un flujo de Kinesis, hasta el servicio consumidor. La topología completa de los flujos de datos puede seguir visualizándose a través de los servicios de instrumentación.
Data Streams Monitoring propaga el contexto a través de las cabeceras de los mensajes. Si utilizas una tecnología de cola de mensajes no compatible con DSM, una tecnología sin cabeceras (como Kinesis) o Lambda, utiliza la instrumentación manual para configurar DSM.