Sha256: ecf9b1428da76f35ee0f2ce80611a7ee04873ca99d0067920113668d2f4aa7dc

Contents?: true

Size: 626 Bytes

Versions: 30

Compression:

Stored size: 626 Bytes

Contents

# frozen_string_literal: true

module Sentry
  module Metrics
    class GaugeMetric < Metric
      attr_reader :last, :min, :max, :sum, :count

      def initialize(value)
        value = value.to_f
        @last = value
        @min = value
        @max = value
        @sum = value
        @count = 1
      end

      def add(value)
        value = value.to_f
        @last = value
        @min = [@min, value].min
        @max = [@max, value].max
        @sum += value
        @count += 1
      end

      def serialize
        [last, min, max, sum, count]
      end

      def weight
        5
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 2 rubygems

Version Path
sentry-ruby-5.22.3 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.22.3 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.22.2 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.22.2 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.22.1 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.22.1 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.22.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.22.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.21.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.21.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.20.1 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.20.1 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.20.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.20.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.19.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.19.0 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.18.2 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.18.2 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-core-5.18.1 lib/sentry/metrics/gauge_metric.rb
sentry-ruby-5.18.1 lib/sentry/metrics/gauge_metric.rb