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 239 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 258 def translate_labels(labels) return labels unless @legacy translation = { code: :response_code, grpc: :grpc } labels.transform_keys { |k| translation[k] } end