Module: Datadog::Tracing::Contrib::Bunny::Utils
- Defined in:
- lib/datadog/tracing/contrib/bunny/utils.rb
Class Method Summary collapse
Class Method Details
.continue_trace!(metadata) ⇒ void
This method returns an undefined value.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/datadog/tracing/contrib/bunny/utils.rb', line 12 def continue_trace!() serializes_trace_digest = if .is_a?(Hash) .transform_keys(&:to_sym) elsif .is_a?(String) JSON.parse(, symbolize_names: true) else return end # A producer on a newer datadog gem may serialize digest fields this # consumer's TraceDigest does not know yet; drop them instead of raising. serializes_trace_digest = serializes_trace_digest.slice(*supported_trace_digest_keys) trace_digest = Datadog::Tracing::TraceDigest.new(**serializes_trace_digest) return unless trace_digest Datadog::Tracing.continue_trace!(trace_digest) end |
.supported_trace_digest_keys ⇒ Array<Symbol>
32 33 34 35 36 37 |
# File 'lib/datadog/tracing/contrib/bunny/utils.rb', line 32 def supported_trace_digest_keys @supported_trace_digest_keys ||= Datadog::Tracing::TraceDigest.instance_method(:initialize).parameters.filter_map do |type, name| name if %i[key keyreq].include?(type) end end |