iperf3: fix for influxDb schema errors 01/10501/2
authorJo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
Tue, 23 Feb 2016 12:10:00 +0000 (13:10 +0100)
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>
Tue, 23 Feb 2016 12:47:08 +0000 (12:47 +0000)
Convert integers to float before dumping to influxDb.

Iperf3 is not always consistent about data types in its
JSON output. This may cause schema errors when values with
different types (integer and float) are written to the same
field in InfluxDb.

This is a quick fix. A Future improvement would be to write a
format func for the data.

Change-Id: I7011adc19693f91db5889554fd6bec0d46dc6679
Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
yardstick/benchmark/scenarios/networking/iperf3.py

index 86610c8..bb41c3d 100644 (file)
@@ -132,7 +132,10 @@ For more info see http://software.es.net/iperf
             # error cause in json dict on stdout
             raise RuntimeError(stdout)
 
-        result.update(json.loads(stdout))
+        # Note: convert all ints to floats in order to avoid
+        # schema conflicts in influxdb. We probably should add
+        # a format func in the future.
+        result.update(json.loads(stdout, parse_int=float))
 
         if "sla" in self.scenario_cfg:
             sla_iperf = self.scenario_cfg["sla"]