[sysmon] Extract _net_io_iter

BUG=chromium:716679
TEST=None

Change-Id: I1d86cd1bc15aaf5eb0f99e1d70f41e1690ea72c8
Reviewed-on: https://chromium-review.googlesource.com/496626
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
Tested-by: Julieta esmeralda Nieto razo <1375082@gmail.com>
diff --git a/scripts/sysmon/net_metrics.py b/scripts/sysmon/net_metrics.py
index eca344b..1472a1d 100644
--- a/scripts/sysmon/net_metrics.py
+++ b/scripts/sysmon/net_metrics.py
@@ -75,10 +75,7 @@
 
 def _collect_net_io_counters():
   """Collect metrics for network IO counters."""
-  nics = psutil.net_io_counters(pernic=True)
-  for nic, counters in nics.iteritems():
-    if _is_virtual_netif(nic):
-      continue
+  for nic, counters in _net_io_iter():
     fields = {'interface': nic}
     for metric, counter_name in _net_io_metrics:
       try:
@@ -90,6 +87,15 @@
         logger.warning(str(ex))
 
 
+def _net_io_iter():
+  """Generate network IO information."""
+  nics = psutil.net_io_counters(pernic=True)
+  for nic, counters in nics.iteritems():
+    if _is_virtual_netif(nic):
+      continue
+    yield nic, counters
+
+
 _net_if_metrics = (
   (_net_if_isup_metric, 'isup'),
   (_net_if_duplex_metric, 'duplex'),