Esta documentación es para e gem ddtrace v1.x. Si estás utilizando el gem datadog v2.0 o posterior, consulta la documentación más reciente de Propagación del contexto de rastreo Ruby.

Extracción e inyección de encabezados

El rastreador de Datadog APM admite la extracción e inyección de encabezados B3 y contexto de rastreo W3C para el rastreo distribuido.

La inyección y extracción de encabezados distribuidos se controla mediante la configuración de los estilos de inyección y extracción. Se admiten los siguientes estilos:

  • Datadog: datadog
  • Encabezado múltiple B3: b3multi
  • Encabezado simple B3: b3
  • Contexto de rastreo W3C: tracecontext
  • Sin elección: none

Los estilos de inyección pueden configurarse mediante:

  • Variable de entorno: DD_TRACE_PROPAGATION_STYLE_INJECT=datadog,b3

El valor de la variable de entorno es una lista separada por comas de los estilos de encabezado que están habilitados para la inyección. El valor por defecto es datadog,tracecontext.

Los estilos de extracción pueden configurarse mediante:

  • Variable de entorno: DD_TRACE_PROPAGATION_STYLE_EXTRACT=datadog,b3

El valor de la variable de entorno es una lista separada por comas de los estilos de encabezado que están habilitados para la extracción. El valor por defecto es datadog,tracecontext.

Si se activan varios estilos de extracción, el intento de extracción se realiza en el orden en que se configuran dichos estilos y se utiliza el primer valor extraído con éxito.

Los estilos de extracción por defecto son, por orden, datadog, b3multi, b3 y tracecontext.

También puedes activar o desactivar el uso de estos formatos en el código mediante Datadog.configure:

Datadog.configure do |c|
  # List of header formats that should be extracted
  c.tracing.distributed_tracing.propagation_extract_style = [ 'tracecontext', 'datadog', 'b3' ]

  # List of header formats that should be injected
  c.tracing.distributed_tracing.propagation_inject_style = [ 'tracecontext', 'datadog' ]
end

Para más información sobre la configuración de la propagación de contextos de rastreo, lee la sección Rastreo distribuido en los documentos de configuración de la biblioteca de rastreo de Ruby.

Referencias adicionales