Sha256: cdd18ecd26bcde5549c1fd40b2ad9b81727f60b944685e166dc241954eb38090

Contents?: true

Size: 1.26 KB

Versions: 17

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true
require 'json'

class BaseMetricsParser

  def normalise_data(data_to_normalize = [])
    normalized_data = []
    if data_to_normalize.length == 1
      data_to_normalize.each do |interim_data|
        normalized_data = interim_data.split(/\\n+|\\r+/).reject(&:empty?)
      end
    else
      data_to_normalize.each_line do |interim_data|
        normalized_data << interim_data.strip unless interim_data == "\n"
      end
    end
    normalized_data
  end

  def clean_data(data_to_clean = [])
    cleaned_data = []
    data_to_clean.each do |interim_data|
      cleaned_data << interim_data unless interim_data.include? '#'
    end
    cleaned_data
  end

  def serialize_data(hashed_data_array = [])
    serialised_data = []
    hashed_data_array.each do |interim_data|
      serialised_data << JSON.parse(interim_data.to_json)
    end
    serialised_data
  end

  def emit_parsed_metrics(platform_metrics)
    normalized_data = normalise_data(platform_metrics)
    cleaned_data = clean_data(normalized_data)
    hash_data_array = format_data(cleaned_data, @metric_prefix, '.')
    serialized_data = serialize_data(hash_data_array)
    serialized_data.each do |interim_data|
      @router.emit(@tag, Fluent::Engine.now, interim_data)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
fluent-plugin-jfrog-metrics-0.2.13 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.12.3 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.12.2 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.12.1 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.12 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.11 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.10 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.9 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.8 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.7 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.6 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.5 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.4 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.3 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.2 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.1 lib/fluent/plugin/base_metrics_parser.rb
fluent-plugin-jfrog-metrics-0.2.0 lib/fluent/plugin/base_metrics_parser.rb