summaryrefslogtreecommitdiff
path: root/overlays/cake-prometheus-exporter
diff options
context:
space:
mode:
Diffstat (limited to 'overlays/cake-prometheus-exporter')
-rw-r--r--overlays/cake-prometheus-exporter/cake-prometheus-exporter.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/overlays/cake-prometheus-exporter/cake-prometheus-exporter.py b/overlays/cake-prometheus-exporter/cake-prometheus-exporter.py
index b450f5a1..7d5d8a98 100644
--- a/overlays/cake-prometheus-exporter/cake-prometheus-exporter.py
+++ b/overlays/cake-prometheus-exporter/cake-prometheus-exporter.py
@@ -63,14 +63,12 @@ class CAKEMetrics:
63 for tin_name, tin_data in zip(tin_names, qdisc['tins']): 63 for tin_name, tin_data in zip(tin_names, qdisc['tins']):
64 tins[tin_name] = { 64 tins[tin_name] = {
65 'bytes': tin_data['sent_bytes'], 65 'bytes': tin_data['sent_bytes'],
66 'packets': tin_data['sent_packets'] 66 'packets': tin_data['sent_packets'],
67 'ecn_mark': tin_data['ecn_mark'],
68 'drops': tin_data['drops'],
67 } 69 }
68 70
69 attrs[qdisc['dev']] = { 71 attrs[qdisc['dev']] = {
70 'bytes': qdisc['bytes'],
71 'packets': qdisc['packets'],
72 'drops': qdisc['drops'],
73 'ecn_mark': sum(map(lambda tin: tin['ecn_mark'], qdisc['tins'])),
74 'overlimits': qdisc['overlimits'], 72 'overlimits': qdisc['overlimits'],
75 'requeues': qdisc['requeues'], 73 'requeues': qdisc['requeues'],
76 'tins': tins 74 'tins': tins
@@ -84,12 +82,11 @@ class CAKEMetrics:
84 def prometheus(self): 82 def prometheus(self):
85 metrics = '' 83 metrics = ''
86 84
87 metrics += _format_prom_metrics('cake_bytes', 'counter', [({'dev': dev}, self.attrs[dev]['bytes']) for dev in self.attrs]) 85 for packet_counter in ['overlimits', 'requeues']:
88 for packet_counter in ['packets', 'overlimits', 'requeues', 'drops', 'ecn_mark']:
89 metrics += _format_prom_metrics(f'cake_{packet_counter}', 'counter', [({'dev': dev}, self.attrs[dev][packet_counter]) for dev in self.attrs]) 86 metrics += _format_prom_metrics(f'cake_{packet_counter}', 'counter', [({'dev': dev}, self.attrs[dev][packet_counter]) for dev in self.attrs])
90 87
91 metrics += _format_prom_metrics('cake_tin_bytes', 'counter', [({'dev': dev, 'tin': tin}, self.attrs[dev]['tins'][tin]['bytes']) for dev in self.attrs for tin in self.attrs[dev]['tins']]) 88 for packet_counter in ['bytes', 'packets', 'drops', 'ecn_mark']:
92 metrics += _format_prom_metrics('cake_tin_packets', 'counter', [({'dev': dev, 'tin': tin}, self.attrs[dev]['tins'][tin]['packets']) for dev in self.attrs for tin in self.attrs[dev]['tins']]) 89 metrics += _format_prom_metrics(f'cake_{packet_counter}', 'counter', [({'dev': dev, 'tin': tin}, self.attrs[dev]['tins'][tin][packet_counter]) for dev in self.attrs for tin in self.attrs[dev]['tins']])
93 90
94 return metrics.encode('utf-8') 91 return metrics.encode('utf-8')
95 92