Module: LaunchDarklyObservability::ViewHelpers

Defined in:
lib/launchdarkly_observability/rails.rb

Overview

View helpers for Rails

These helpers can be used in views to inject tracing context into the rendered HTML for client-side correlation.

Instance Method Summary collapse

Instance Method Details

#launchdarkly_traceparentString?

Returns The traceparent header value.

Returns:

  • (String, nil)

    The traceparent header value



83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/launchdarkly_observability/rails.rb', line 83

def launchdarkly_traceparent
  return nil unless defined?(OpenTelemetry)

  span = OpenTelemetry::Trace.current_span
  return nil unless span&.context&.valid?

  trace_id = span.context.hex_trace_id
  span_id = span.context.hex_span_id
  trace_flags = span.context.trace_flags.sampled? ? '01' : '00'

  "00-#{trace_id}-#{span_id}-#{trace_flags}"
end

#launchdarkly_traceparent_meta_tagString

Returns HTML meta tag with traceparent value.

Returns:

  • (String)

    HTML meta tag with traceparent value



75
76
77
78
79
80
# File 'lib/launchdarkly_observability/rails.rb', line 75

def launchdarkly_traceparent_meta_tag
  traceparent = launchdarkly_traceparent
  return '' unless traceparent

  tag.meta(name: 'traceparent', content: traceparent)
end