Sha256: 32e9116afdb2983a1972078a7e64f5899fd0784b6cd842779e9aa01f31ab5df9

Contents?: true

Size: 1.2 KB

Versions: 3

Compression:

Stored size: 1.2 KB

Contents

module Stackify::Metrics
  class MetricsSender < Stackify::HttpClient
    SUBMIT_METRIS_URI = URI("#{Stackify.configuration.base_api_url}/Metrics/SubmitMetricsByID")
    GET_METRIC_INFO_URI = URI("#{Stackify.configuration.base_api_url}/Metrics/GetMetricInfo")

    def monitor_info aggr_metric
      if Stackify.authorized?
        send_request GET_METRIC_INFO_URI, GetMetricRequest.new(aggr_metric).to_h.to_json
      else
        Stackify.log_internal_error "Getting of monitor_info is failed because of authorisation failure"
      end
    end

    def upload_metrics aggr_metrics
      return true if aggr_metrics.nil? || aggr_metrics.length == 0
      if Stackify.authorized?
        records = []
        aggr_metrics.each_pair do |_key, metric|
          records << Stackify::Metrics::MetricForSubmit.new(metric).to_h
          prms = [metric.category, metric.name, metric.count, metric.value, metric.monitor_id ]
          Stackify.internal_log :debug, 'Uploading metric: %s: %s count %s, value %s, ID %s' %  prms
        end
        send_request SUBMIT_METRIS_URI, records.to_json
      else
        Stackify.log_internal_error "Uploading of metrics is failed because of authorisation failure"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stackify-api-ruby-1.0.3 lib/stackify/metrics/metrics_sender.rb
stackify-api-ruby-1.0.2 lib/stackify/metrics/metrics_sender.rb
stackify-api-ruby-1.0.1 lib/stackify/metrics/metrics_sender.rb