Skip to content

Commit

Permalink
Added: link-rate now has colored errors.
Browse files Browse the repository at this point in the history
  • Loading branch information
strizhechenko committed Jun 14, 2017
1 parent c4b0bf6 commit ce228c1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,14 @@ upload: test clean
# python setup.py bdist_wheel upload

mac_run: env
. env/bin/activate && \
network-top --random \
--softirqs-file=./tests/softirqs/i7/softirqs1 \
--softnet-stat-file=./tests/softnet_stat/softnet_stat1 \
--interrupts-file=./tests/interrupts/singlequeue_8cpu/interrupts_short \
--devices=eth1,eth2,eth3

mac_run_link_rate: env
. env/bin/activate && \
link-rate --random \
--devices=eth1,eth2,eth3
13 changes: 11 additions & 2 deletions netutils_linux_monitoring/link_rate.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from netutils_linux_monitoring.base_top import BaseTop
from netutils_linux_monitoring.layout import make_table
from netutils_linux_monitoring.numa import Numa
from netutils_linux_monitoring.colors import wrap, ColorsNode
from netutils_linux_monitoring.colors import wrap, ColorsNode, colorize

Stat = namedtuple('Stat', ['filename', 'shortname'])

Expand Down Expand Up @@ -68,13 +68,22 @@ def eval(self):
def make_header(self):
return ['Device'] + [stat.shortname for stat in self.stats]

@staticmethod
def colorize_stat(stat, value):
if 'errors' in stat.filename or 'dropped' in stat.filename:
return colorize(value, 1, 1)
return value

def colorize_stats(self, dev, repr_source):
return [self.colorize_stat(stat, repr_source[dev][stat]) for stat in self.stats]

def make_rows(self):
repr_source = self.repr_source()
for dev in self.options.devices:
dev_node = self.numa.devices.get(dev)
dev_color = ColorsNode.get(dev_node)
_dev = wrap(dev, dev_color)
yield [_dev] + [repr_source[dev][stat] for stat in self.stats]
yield [_dev] + self.colorize_stats(dev, repr_source)

def __repr__(self):
table = make_table(self.make_header(), self.align_map, list(self.make_rows()))
Expand Down

0 comments on commit ce228c1

Please sign in to comment.