On Sun, Jan 18, 2026 at 4:02 PM Mark Michelson via dev < [email protected]> wrote:
> This provides a way to get a list of all stopwatches associated with a > particular engine node. This list can be used as part of scripts, like: > > for i in $(ovn-appctl inc-engine/list-stopwatches <node_name>); do > ovn-appctl stopwatch/show $i > ovn-appctl stopwatch/reset $i > done > > Signed-off-by: Mark Michelson <[email protected]> > --- > Hi Mark, thank you for the patch. I have small comment down below. > lib/inc-proc-eng.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/lib/inc-proc-eng.c b/lib/inc-proc-eng.c > index 98eec6297..74079526e 100644 > --- a/lib/inc-proc-eng.c > +++ b/lib/inc-proc-eng.c > @@ -195,6 +195,31 @@ engine_set_log_timeout_cmd(struct unixctl_conn *conn, > int argc OVS_UNUSED, > unixctl_command_reply(conn, NULL); > } > > +static void > +engine_list_stopwatch_cmd(struct unixctl_conn *conn, int argc OVS_UNUSED, > + const char *argv[], void *arg OVS_UNUSED) > +{ > + const char *node_name = argv[1]; > + struct engine_node *node; > + struct ds output_str = DS_EMPTY_INITIALIZER; > + VECTOR_FOR_EACH (&engine_nodes, node) { > + if (strcmp(node->name, node_name)) { > + continue; > + } > + ds_put_format(&output_str, "%s\n", node->recompute_stopwatch); > + for (size_t i = 0; i < node->n_inputs; i++) { > + struct engine_node_input *input = &node->inputs[i]; > + if (!input->change_handler) { > + continue; > + } > + ds_put_format(&output_str, "%s\n", > input->change_handler_name); > + } > + } > + > + unixctl_command_reply(conn, ds_cstr(&output_str)); > + ds_destroy(&output_str); > +} > + > static void > engine_get_compute_failure_info(struct engine_node *node) > { > @@ -229,6 +254,8 @@ engine_init(struct engine_node *node, struct > engine_arg *arg) > engine_trigger_recompute_cmd, NULL); > unixctl_command_register("inc-engine/compute-log-timeout", "", 1, 1, > engine_set_log_timeout_cmd, NULL); > + unixctl_command_register("inc-engine/list-stopwatches", "", 1, 1, > I think it would be beneficial to even allow list-stopwatches with no arguments to list all of them WDYT? > + engine_list_stopwatch_cmd, NULL); > } > > void > -- > 2.51.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Regards, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
