Sha256: 92f74539b1d9e556050c20c4b87035a208f23095333fcf1929209e2f483538e4

Contents?: true

Size: 1.41 KB

Versions: 21

Compression:

Stored size: 1.41 KB

Contents

module Stackify::Metrics
  class MetricAggregate

    attr_accessor :name, :category, :value, :count, :occurred_utc,
                  :monitor_id, :metric_type, :name_key, :sent, :is_increment

    def initialize metric
      @name = metric.name
      @category = metric.category
      @metric_type = metric.metric_type
      @value = 0
      @count = 0
      @occurred_utc = metric.get_rounded_time
      @name_key = metric.calc_name_key
      @sent = false
      @is_increment = metric.is_increment
    end

    def aggregate_key
      (@category || 'Missing Category').downcase + '-' + (@name || 'Missing Name').downcase +
      '-' + @metric_type.to_s + '-' + @occurred_utc.to_s
    end

  end

  class LatestAggregate
    attr_accessor :category, :name, :metric_id, :occurred_utc,
                  :value, :count, :metric_type

    def initialize aggr_metric
      @count = aggr_metric.count
      @metric_type = aggr_metric.metric_type
      @metric_id = aggr_metric.monitor_id
      @name = aggr_metric.name
      @occurred_utc = aggr_metric.occurred_utc
      @value = aggr_metric.value
      @count = aggr_metric.count
      @category = aggr_metric.category
    end

    def to_h
      {
        'MetricType' => @metric_type,
        'MetricID' => @metric_id,
        'Name' => @name,
        'OccurredUtc' => @occurred_utc,
        'Value' => @value,
        'Count' => @count,
        'Category' => @category
      }
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
stackify-api-ruby-2.1.0 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-2.1.0.beta1 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-2.0.0 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.3.0.beta1 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.2.10 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.2.9 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.2.7 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.2.4 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.2.3 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.1.0 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.15 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.14 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.13 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.12 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.11 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.10 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.9 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.8 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.7 lib/stackify/metrics/metric_aggregate.rb
stackify-api-ruby-1.0.6 lib/stackify/metrics/metric_aggregate.rb