Sha256: fb6805a587fcc4afdcfa59b4908519b2aad761492b6061f865cd695a3cdf6af2

Contents?: true

Size: 722 Bytes

Versions: 6

Compression:

Stored size: 722 Bytes

Contents

# frozen_string_literal: true

module Splunk
  module Otel
    # functions for log correlation
    module Logging
      # return log formatted trace context
      def format_correlation
        resource_attributes = OpenTelemetry.tracer_provider.resource.attribute_enumerator.to_h
        service_name = resource_attributes["service.name"]
        span = OpenTelemetry::Trace.current_span

        if span == OpenTelemetry::Trace::Span::INVALID
          "service.name=#{service_name}"
        else
          %W[service.name=#{service_name} trace_id=#{span.context.hex_trace_id}
             span_id=#{span.context.hex_span_id}].join(" ")
        end
      end

      module_function :format_correlation
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
splunk-otel-1.3.0 lib/splunk/otel/logging.rb
splunk-otel-1.1.3 lib/splunk/otel/logging.rb
splunk-otel-1.1.0 lib/splunk/otel/logging.rb
splunk-otel-1.0.0 lib/splunk/otel/logging.rb
splunk-otel-0.2.0 lib/splunk/otel/logging.rb
splunk-otel-0.1.0 lib/splunk/otel/logging.rb