Sha256: b88eb22dc9ad952837e16219a21ca963cf7126c6ff22226834d134ea29b5fc60

Contents?: true

Size: 1.64 KB

Versions: 29

Compression:

Stored size: 1.64 KB

Contents

# typed: ignore

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.com/terms.html

require 'sqreen/kit/signals/metric'
require 'sqreen/kit/signals/dto_helper'

# reference: https://github.com/sqreen/SignalsSchemas/blob/master/schemas/payload/binning_metric/2020-01-01T00_00_00_000Z/schema.cue

module Sqreen
  module Kit
    module Signals
      module Specialized
      end
    end
  end
end

class Sqreen::Kit::Signals::Specialized::BinningMetric < Sqreen::Kit::Signals::Metric
  add_mandatory_attrs :source, :time, :payload

  validate_str_attr :signal_name, /\Asq\.agent\.metric\..+\z/

  def initialize(args)
    self.payload_schema = Payload::SCHEMA_VERSION
    super
  end

  class Payload
    include Sqreen::Kit::Signals::DtoHelper

    SCHEMA_VERSION = 'metric_binning/2020-01-01T00:00:00.000Z'.freeze

    add_mandatory_attrs :capture_interval_s,
                        :date_started,
                        :date_ended,
                        :max, :base, :unit, :bins

    # mandatory
    # @return [Integer]
    attr_accessor :capture_interval_s

    # mandatory
    # @param [Time]
    # @return [String]
    attr_accessor_time :date_started

    # mandatory
    # @param [Time]
    # @return [String]
    attr_accessor_time :date_ended

    # mandatory
    # @return [Float]
    attr_accessor :max

    # mandatory
    # @return [Float]
    attr_accessor :base

    # mandatory
    # @return [Float]
    attr_accessor :unit

    # mandatory
    # @return [Hash{Integer=>Integer}]
    attr_accessor :bins

    def to_h
      {
        kind: 'binning',
      }.merge(super)
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
sqreen-1.25.1 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.25.0 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.24.3 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.24.2 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.24.1 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.24.0 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.23.2 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.23.1 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.23.0 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.22.1 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.22.0-java lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.22.0 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.21.1-java lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.21.1 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.21.0-java lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.21.0 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.20.4-java lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.20.4 lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.21.0.beta3-java lib/sqreen/kit/signals/specialized/binning_metric.rb
sqreen-1.21.0.beta3 lib/sqreen/kit/signals/specialized/binning_metric.rb