diff --git a/presterastats/prestera_periodic.py b/presterastats/prestera_periodic.py
index 91f146e..82f56e6 100755
--- a/presterastats/prestera_periodic.py
+++ b/presterastats/prestera_periodic.py
@@ -18,6 +18,7 @@
 __author__ = 'poist@google.com (Gregory Poist)'
 
 import errno
+import json
 import os
 import subprocess
 import sys
@@ -44,6 +45,38 @@
     self.interval = interval
     self.ports_output_file = os.path.join(self.OUTPUT_DIR, 'ports.json')
 
+  def _FlatObject(self, base, obj, out):
+    """Open json object to a list of strings.
+
+    Args:
+      base: is a string that has a base name for a key.
+      obj: is a JSON object that will be flatten.
+      out: is an output where strings will be appended.
+
+    Example:
+         data = {"a": 1, "b": { "c": 2, "d": 3}}
+         out = []
+         _FlatObject('', data, out)
+
+         out will be equal to
+           [u'/a=1', u'/b/c=2', u'/b/d=3']
+    """
+    for k, v in obj.items():
+      name = base + '/' + k
+      if isinstance(v, dict):
+        self._FlatObject(name, v, out)
+      else:
+        val = '%s=' % name
+        out.append(val + str(v))
+
+  def _PrintStats(self, port_stats):
+    json_data = json.loads(port_stats)
+    flat_data = []
+    self._FlatObject('', json_data, flat_data)
+    for s in flat_data:
+      sys.stderr.write('%s\n' % s)
+      sys.stderr.flush()
+
   def WriteToStderr(self, msg):
     """Write a message to stderr."""
 
@@ -62,10 +95,14 @@
     ports_stats = ''
     try:
       ports_stats = self.RunPresteraStats()
+      if ports_stats:
+        self._PrintStats(ports_stats)
     except OSError as ex:
       self.WriteToStderr('Failed to run presterastats: %s\n' % ex)
     except subprocess.CalledProcessError as ex:
       self.WriteToStderr('presterastats exited non-zero: %s\n' % ex)
+    except ValueError as ex:
+      self.WriteToStderr('Failed to parse presterastats output: %s\n' % ex)
 
     if not ports_stats:
       self.WriteToStderr('Failed to get data from presterastats\n')
diff --git a/presterastats/prestera_periodic_test.py b/presterastats/prestera_periodic_test.py
index 10be8e4..c31f9b5 100644
--- a/presterastats/prestera_periodic_test.py
+++ b/presterastats/prestera_periodic_test.py
@@ -124,6 +124,13 @@
       output = ''.join(line for line in f)
       self.assertEqual('', output)
 
+  def testFlatObject(self):
+    obj = {'key1': 1, 'key2': {'key3': 3, 'key4': 4}}
+    got = []
+    self.periodic._FlatObject('base', obj, got)
+    want = ['base/key1=1', 'base/key2/key3=3', 'base/key2/key4=4']
+    self.assertEqual(got.sort(), want.sort())
+
 
 if __name__ == '__main__':
   unittest.main()
