Skip to content

Commit ced66b3

Browse files
Refactoring: NUMA's devices lazy init made by link-rate + new tests. (#120)
* Refactoring: NUMA's devices lazy init made by link-rate. * Added: test checking that utils are runnable at all (1 iteration, random data).
1 parent f97a919 commit ced66b3

File tree

6 files changed

+24
-6
lines changed

6 files changed

+24
-6
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ test:
22
./tests/rss-ladder-test
33
./tests/server-info-show
44
./tests/link_rate_units.sh
5+
./tests/utils_runnable
56
pytest netutils_linux_*/
67

78
env:

netutils_linux_monitoring/link_rate.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ def colorize_stats(self, dev, repr_source):
7979
return [self.colorize_stat(stat, repr_source[dev][stat]) for stat in self.stats]
8080

8181
def make_rows(self):
82+
if not self.numa.devices:
83+
self.numa.devices = self.numa.node_dev_dict(self.options.devices, self.options.random)
8284
repr_source = self.repr_source()
8385
for dev in self.options.devices:
8486
dev_node = self.numa.devices.get(dev)

netutils_linux_monitoring/network_top.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ def __init__(self):
2222
'link-rate': LinkRateTop(),
2323
}
2424
self.parse_options()
25-
self.numa = Numa(devices=self.options.devices,
26-
fake=self.options.random)
25+
self.numa = Numa(fake=self.options.random)
2726

2827
def parse(self):
2928
return dict((top_name, _top.parse()) for top_name, _top in iteritems(self.tops))

netutils_linux_monitoring/numa.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Numa(object):
2828
numa_layout = None
2929
socket_layout = None
3030

31-
def __init__(self, devices=None, fake=False, lscpu_output=None):
31+
def __init__(self, fake=False, lscpu_output=None):
3232
if fake:
3333
self.numa_layout = self.socket_layout = self.__FAKE_LAYOUT
3434
else:
@@ -39,7 +39,6 @@ def __init__(self, devices=None, fake=False, lscpu_output=None):
3939
else:
4040
self.layout = self.socket_layout
4141
self.layout_kind = 'SOCKET'
42-
self.devices = self.node_dev_dict(devices, fake)
4342

4443
def node_dev_dict(self, devices, fake):
4544
""" Returns NIC's NUMA bindings dict like {'eth1': 0, 'eth2': 1, 'eth3': 0} """

tests/link_rate_units.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#!/bin/bash
22

3-
. env/bin/activate
4-
53
set -eux
64

75
link-rate --random --devices=eth1,eth2,eth3 --iterations=1 | grep -q 'rx-mbits'

tests/utils_runnable

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env bash
2+
3+
set -eu
4+
5+
softirq="./tests/softirqs/i7/softirqs1"
6+
irq="./tests/interrupts/singlequeue_8cpu/interrupts_short"
7+
soft_net_stat="./tests/softnet_stat/softnet_stat1"
8+
devices="eth1,eth2,eth3"
9+
10+
network-top --no-clear -n 1 --random \
11+
--softirqs-file="$softirq" \
12+
--softnet-stat-file="$soft_net_stat" \
13+
--interrupts-file="$irq" \
14+
--devices="$devices"
15+
link-rate --no-clear -n 1 --random --devices="$devices"
16+
irqtop --no-clear -n 1 --random --interrupts-file="$irq"
17+
softirq-top --no-clear -n 1 --random --softirqs-file="$softirq"
18+
softnet-stat-top --no-clear -n 1 --random --softnet-stat-file="$soft_net_stat"
19+

0 commit comments

Comments
 (0)