Sha256: 6234c5193bbb39de22d8206917bdaddf65c673136bd9f18223fc7f1cfb97728a
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
# typed: true require 'datadog/tracing' module Datadog module Tracing module Contrib module Lograge # Instrumentation for Lograge module Instrumentation def self.included(base) base.prepend(InstanceMethods) end # Instance methods for configuration module InstanceMethods def custom_options(event) return super unless Datadog.configuration.tracing[:lograge].enabled original_custom_options = super(event) # Retrieves trace information for current thread correlation = Tracing.correlation # merge original lambda with datadog context datadog_trace_log_hash = { # Adds IDs as tags to log output dd: { # To preserve precision during JSON serialization, use strings for large numbers trace_id: correlation.trace_id.to_s, span_id: correlation.span_id.to_s, env: correlation.env.to_s, service: correlation.service.to_s, version: correlation.version.to_s }, ddsource: ['ruby'] } datadog_trace_log_hash.merge(original_custom_options) end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-1.0.0 | lib/datadog/tracing/contrib/lograge/instrumentation.rb |
ddtrace-1.0.0.beta2 | lib/datadog/tracing/contrib/lograge/instrumentation.rb |