Class: Fluent::Plugin::KubernetesMetricsAggregatorInput::UsageMetricsUnit
- Inherits:
-
Object
- Object
- Fluent::Plugin::KubernetesMetricsAggregatorInput::UsageMetricsUnit
- Defined in:
- lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb
Instance Method Summary collapse
- #add_usage_metrics(cpu_limit, cpu_request, memory_limit, memory_request) ⇒ Object
- #get_cpu_mult(cpu) ⇒ Object
- #get_cpu_or_memory_value(resource) ⇒ Object
- #get_cpu_value_and_multiplier(cpu) ⇒ Object
- #get_memory_mult(memory) ⇒ Object
-
#initialize ⇒ UsageMetricsUnit
constructor
A new instance of UsageMetricsUnit.
Constructor Details
#initialize ⇒ UsageMetricsUnit
Returns a new instance of UsageMetricsUnit.
28 29 30 31 32 33 |
# 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 |
Instance Method Details
#add_usage_metrics(cpu_limit, cpu_request, memory_limit, memory_request) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# 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) ⇒ Object
62 63 64 65 66 |
# 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) ⇒ Object
57 58 59 60 |
# 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) ⇒ Object
50 51 52 53 54 55 |
# 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) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# 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 |