class Monitoring::MetricTranslator
Translate the internal metrics to the curated metrics in Stackdriver. The Prometheus metrics are collected by Google
Kubernetes Engine's monitoring, so we can't redefine them. Avoid this mechanism for new metrics by defining them in their final form, so they don't need translation.
Attributes
name[R]
view_labels[R]
Public Class Methods
new(name, metric_labels)
click to toggle source
# File lib/fluent/plugin/monitoring.rb, line 211 def initialize(name, metric_labels) @legacy = true case name when :stackdriver_successful_requests_count, :stackdriver_failed_requests_count @name = :request_count when :stackdriver_ingested_entries_count, :stackdriver_dropped_entries_count @name = :log_entry_count when :stackdriver_retried_entries_count @name = :log_entry_retry_count else @name = name @legacy = false end # Collapsed from [:response_code, :grpc] @view_labels = @legacy ? [:response_code] : metric_labels end
Public Instance Methods
translate_labels(labels)
click to toggle source
# File lib/fluent/plugin/monitoring.rb, line 230 def translate_labels(labels) return labels unless @legacy translation = { code: :response_code, grpc: :grpc } labels.map { |k, v| [translation[k], v] }.to_h end