Esta documentación corresponde al gem ddtrace v1.x. Si estás utilizando el gem deDatadog v2.0 o posterior, consulta la documentación más reciente de Propagación del contexto de rastreo de 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|
  # Lista de formatos de encabezado que deben extraerse
  c.tracing.distributed_tracing.propagation_extract_style = [ 'tracecontext', 'datadog', 'b3' ]

  # ista de formatos de encabezado que deben inyectarse
  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.

Leer más