Create reusable workflow component for PM telemetry utilizing mio-telemetry API
We should have a reusable, configurable component that can be added to workflows to observe pool events and forward them to the mio-telemetry API.
tests/simple_telemetry_listener.c
is a good starting point. That tool can already be configured to join a workflow and log to various destinations, but has no mio-telemetry backend yet (see print_usage()
in it).
mio-telemetry is automatically built as a dependency of maestro-core, either with the addb backend (if cortx is found) or with the file backend if not. Please do not link against an external mio-telemetry installation. If the included version has issues we need to update it.
It lacks a configuration syntax for the kind of events to listen to. It should be straightforward to implement command line args for the different event types listed in enum mstro_pool_event_kind
(see include/maestro/pool.h
).
The selector syntax also exists, and can be parsed by the PEG grammar parser defined in maestro/cdo_sel_parse.peg
and implemented in mstro_selector_parse()
. Examples are in check_cdo_selectors.c
So, to summarize,
-
extend test/simple_telemetry_listener.c
to use the mio-telemetry backend-
test on VM/addb, daint/file-based and eventually on sage/addb
-
-
add command line args to be able to specify which event types to listen to -
add the possibility to add CDO selectors to the events (strings on the command line)
I'm sure @lompar1 and @biddiscombe1 will be ready to include the resulting tool in their workflows for testing at scale @wu5.