class Fluent::Plugin::KubernetesMetricsAggregatorInput::UsageMetricsUnit
Public Class Methods
new()
click to toggle source
# File lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb, line 28 def initialize @cpu_limit = 0 @cpu_request = 0 @memory_limit = 0 @memory_request = 0 end
Public Instance Methods
add_usage_metrics(cpu_limit, cpu_request, memory_limit, memory_request)
click to toggle source
# File lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb, line 35 def add_usage_metrics(cpu_limit, cpu_request, memory_limit, memory_request) cpu = get_cpu_or_memory_value(cpu_limit) mult = get_cpu_mult(cpu_limit) @cpu_limit += cpu * mult cpu = get_cpu_or_memory_value(cpu_request) mult = get_cpu_mult(cpu_request) @cpu_request += cpu * mult memory = get_cpu_or_memory_value(memory_limit) mult = get_memory_mult(memory_limit) @memory_limit += memory * mult memory = get_cpu_or_memory_value(memory_request) mult = get_memory_mult(memory_request) @memory_request += memory * mult end
get_cpu_mult(cpu)
click to toggle source
# File lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb, line 62 def get_cpu_mult(cpu) cpu_mult = 1 cpu_mult = 1000 if cpu[-1] != 'm' cpu_mult end
get_cpu_or_memory_value(resource)
click to toggle source
# File lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb, line 57 def get_cpu_or_memory_value(resource) resource = resource.tr('^0-9', '').to_i resource end
get_cpu_value_and_multiplier(cpu)
click to toggle source
# File lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb, line 50 def get_cpu_value_and_multiplier(cpu) # m cpu is assumed standard @cpu_mult = 1 @cpu_mult = 1000 if cpu[-1] != 'm' cpu.delete('^0-9').to_i end
get_memory_mult(memory)
click to toggle source
kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-memory
# File lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb, line 69 def get_memory_mult(memory) memory_mult = if memory[-2] == 'Ki' 0.001 elsif memory[-2] == 'K' 1.0 / 1024 elsif memory[-2] == 'Mi' 1 elsif memory[-2] == 'M' 1 elsif memory[-2] == 'Gi' 1000 elsif memory[-2] == 'G' 1024 elsif memory[-2] == 'Ti' 1_000_000 elsif memory[-2] == 'T' 1_048_576 elsif memory[-2] == 'Ei' 1_000_000_000 elsif memory[-2] == 'E' 1_073_741_824 else 0.000001 end memory_mult end