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