bug fixes and add text report
diff --git a/wally/sensors.py b/wally/sensors.py
index c773b34..c19c350 100644
--- a/wally/sensors.py
+++ b/wally/sensors.py
@@ -7,10 +7,12 @@
from . import utils
from .test_run_class import TestRun
from .result_classes import DataSource
-from . import sensors_rpc_plugin
from .stage import Stage, StepOrder
from .hlstorage import ResultStorage
+from cephlib import sensors_rpc_plugin
+
+
plugin_fname = sensors_rpc_plugin.__file__.rsplit(".", 1)[0] + ".py"
SENSORS_PLUGIN_CODE = open(plugin_fname, "rb").read() # type: bytes
@@ -36,7 +38,8 @@
"block-io.sectors_read": "B",
"block-io.sectors_written": "B",
"block-io.writes_completed": "",
- "block-io.wtime": "ms"
+ "block-io.wtime": "ms",
+ "block-io.weighted_io_time": "ms"
}
@@ -106,6 +109,7 @@
def collect_sensors_data(ctx: TestRun, stop: bool = False):
rstorage = ResultStorage(ctx.storage)
+ raw_skipped = False
for node in ctx.nodes:
node_id = node.node_id
if node_id in ctx.sensors_run_on:
@@ -116,7 +120,14 @@
func = node.conn.sensors.get_updates
# TODO: units should came along with data
- for path, value in sensors_rpc_plugin.unpack_rpc_updates(func()):
+ # TODO: process raw sensors data
+
+ for path, value, is_parsed in sensors_rpc_plugin.unpack_rpc_updates(func()):
+ if not is_parsed:
+ if not raw_skipped:
+ logger.warning("Raw sensors data at path %r and, maybe, others are skipped", path)
+ raw_skipped = True
+ continue
if path == 'collected_at':
ds = DataSource(node_id=node_id, metric='collected_at')
units = 'us'