diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2026-08-21 10:42:19 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2026-08-21 10:42:19 +0200 |
| commit | 55739aa76f1e8d155fff6794cba4065b41921b26 (patch) | |
| tree | ccbdfb64c1dc72fb50f228f1877e39b1eb5d4e4d /overlays/cake-prometheus-exporter/cake-prometheus-exporter.py | |
| parent | d94a81030faf12fd1d911915b2ffa06e755c6237 (diff) | |
| download | nixos-55739aa76f1e8d155fff6794cba4065b41921b26.tar nixos-55739aa76f1e8d155fff6794cba4065b41921b26.tar.gz nixos-55739aa76f1e8d155fff6794cba4065b41921b26.tar.bz2 nixos-55739aa76f1e8d155fff6794cba4065b41921b26.tar.xz nixos-55739aa76f1e8d155fff6794cba4065b41921b26.zip | |
...
Diffstat (limited to 'overlays/cake-prometheus-exporter/cake-prometheus-exporter.py')
| -rw-r--r-- | overlays/cake-prometheus-exporter/cake-prometheus-exporter.py | 15 |
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 | ||
