populate_runtime_context

in lib/aws-xray-sdk/recorder.rb [207:236]


    def populate_runtime_context(segment, sample)
      @aws ||= begin
        aws = {}
        config.plugins.each do |p|
          meta = p.aws
          if meta.is_a?(Hash) && !meta.empty?
            aws.merge! meta
            @origin = p::ORIGIN
          end
        end
        xray_meta = { xray:
          {
            sdk_version: XRay::VERSION,
            sdk: 'X-Ray for Ruby'
          }
        }
        aws.merge! xray_meta
      end

      @service ||= {
        runtime: RUBY_ENGINE,
        runtime_version: RUBY_VERSION
      }

      segment.aws = @aws
      segment.service = @service
      segment.origin = @origin
      segment.sampling_rule_name = sample if sample.is_a?(String)
    end