Sha256: 3fa9ba00be17eefb3b4dcab0e5db75866106b10a5fe29d32e8f4981a95453b9d

Contents?: true

Size: 631 Bytes

Versions: 3

Compression:

Stored size: 631 Bytes

Contents

# frozen_string_literal: true

module ElasticAPM
  module Transport
    module Serializers
      # @api private
      class MetricsetSerializer < Serializer
        def build(metricset)
          {
            metricset: {
              timestamp: metricset.timestamp.to_i,
              tags: keyword_object(metricset.labels),
              samples: build_samples(metricset.samples)
            }
          }
        end

        private

        def build_samples(samples)
          samples.each_with_object({}) do |(key, value), hsh|
            hsh[key] = { value: value }
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
elastic-apm-3.1.0 lib/elastic_apm/transport/serializers/metricset_serializer.rb
elastic-apm-3.0.0 lib/elastic_apm/transport/serializers/metricset_serializer.rb
elastic-apm-2.12.0 lib/elastic_apm/transport/serializers/metricset_serializer.rb