Sha256: f853ada673ea457fa3e7129ef2fa2a5cf07135ae6c7ea0863090e2ccf650e456
Contents?: true
Size: 1.29 KB
Versions: 6
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true require_relative 'base_data' module Fluent module Plugin module ElasticsearchStats class ClusterStatsData < BaseData NAME = 'cluster_stats' def extract_metrics extract_base_metrics + extract_indices_metrics + extract_nodes_metrics end private def extract_base_metrics status_metric = metric.format( name: %w[cluster status], value: status, family: family, metadata: metadata ) [status_metric] end def extract_indices_metrics metrics = [] flattened_data = Utils.hash_flatten_keys(indices, separator: metric.name_separator) flattened_data.each do |k, v| metrics << metric.format(name: ['indices', k], value: v, family: family, metadata: metadata) end metrics.compact end def extract_nodes_metrics metrics = [] flattened_data = Utils.hash_flatten_keys(nodes, separator: metric.name_separator) flattened_data.each do |k, v| metrics << metric.format(name: ['nodes', k], value: v, family: family, metadata: metadata) end metrics.compact end def nodes data['nodes'] end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems