Sha256: 69297b99f7dd583fc3bc915e42f585547fe363e41d21df20391519cb31b2aaa6

Contents?: true

Size: 1.41 KB

Versions: 9

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

module Jaeger
  module Client
    class Span
      class ThriftTagBuilder
        FIELDS = Jaeger::Thrift::Tag::FIELDS
        KEY = FIELDS[Jaeger::Thrift::Tag::KEY].fetch(:name)
        VTYPE = FIELDS[Jaeger::Thrift::Tag::VTYPE].fetch(:name)
        VLONG = FIELDS[Jaeger::Thrift::Tag::VLONG].fetch(:name)
        VDOUBLE = FIELDS[Jaeger::Thrift::Tag::VDOUBLE].fetch(:name)
        VBOOL = FIELDS[Jaeger::Thrift::Tag::VBOOL].fetch(:name)
        VSTR = FIELDS[Jaeger::Thrift::Tag::VSTR].fetch(:name)

        def self.build(key, value)
          if value.is_a?(Integer)
            Jaeger::Thrift::Tag.new(
              KEY => key.to_s,
              VTYPE => Jaeger::Thrift::TagType::LONG,
              VLONG => value
            )
          elsif value.is_a?(Float)
            Jaeger::Thrift::Tag.new(
              KEY => key.to_s,
              VTYPE => Jaeger::Thrift::TagType::DOUBLE,
              VDOUBLE => value
            )
          elsif value.is_a?(TrueClass) || value.is_a?(FalseClass)
            Jaeger::Thrift::Tag.new(
              KEY => key.to_s,
              VTYPE => Jaeger::Thrift::TagType::BOOL,
              VBOOL => value
            )
          else
            Jaeger::Thrift::Tag.new(
              KEY => key.to_s,
              VTYPE => Jaeger::Thrift::TagType::STRING,
              VSTR => value.to_s
            )
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
jaeger-client-0.9.0 lib/jaeger/client/span/thrift_tag_builder.rb
jaeger-client-0.8.0 lib/jaeger/client/span/thrift_tag_builder.rb
jaeger-client-0.7.1 lib/jaeger/client/span/thrift_tag_builder.rb
jaeger-client-0.7.0 lib/jaeger/client/span/thrift_tag_builder.rb
jaeger-client-0.6.1 lib/jaeger/client/span/thrift_tag_builder.rb
boost-jaeger-client-0.7.1 lib/jaeger/client/span/thrift_tag_builder.rb
boost-jaeger-client-0.7.0 lib/jaeger/client/span/thrift_tag_builder.rb
jaeger-client-0.6.0 lib/jaeger/client/span/thrift_tag_builder.rb
jaeger-client-0.5.0 lib/jaeger/client/span/thrift_tag_builder.rb