On Mon, Jun 12, 2023 at 02:38:44PM -0500, Eric Blake wrote:
On Mon, Jun 12, 2023 at 07:27:53PM +0100, Richard W.M. Jones wrote:
> Logging state transitions in debug mode produces huge amounts of
> output which is not especially helpful. This change removes this
> debugging output. This reduces the debug output by approximately two
> thirds.
> ---
> generator/state_machine_generator.ml | 12 ------------
> 1 file changed, 12 deletions(-)
>
> diff --git a/generator/state_machine_generator.ml
b/generator/state_machine_generator.ml
> index 274e290952..52c497646d 100644
> --- a/generator/state_machine_generator.ml
> +++ b/generator/state_machine_generator.ml
> @@ -380,9 +380,6 @@ let
> pr " h, &next, blocked\n";
> pr " );\n";
> pr " if (get_next_state (h) != next) {\n";
> - pr " debug (h, \"transition: %%s -> %%s\",\n";
> - pr " \"%s\",\n" display_name;
> - pr " nbd_internal_state_short_string (next));\n";
> pr " set_next_state (h, next);\n";
> pr " }\n";
> pr " return r;\n";
> @@ -423,15 +420,6 @@ let
> pr " case %s:\n" (c_string_of_external_event e);
> if state != next_state then (
> pr " set_next_state (h, %s);\n"
next_state.parsed.state_enum;
> - pr " debug (";
> - let print_debug_args () =
> - pr "h, \"event %%s: %%s -> %%s\", ";
> - pr "\"%s\", \"%s\",
\"%s\");"
> - (string_of_external_event e)
> - display_name next_state.parsed.display_name;
> - in
> - pr_wrap ',' print_debug_args;
> - pr "\n"
All that work Laszlo did to nicely wrap these lines. If we decide to
go with a multi-level debug (DEBUG=1 being the default for 'make
check', DEBUG=2 for extra-verbose debugging), we'd probably implement
that by either adding an argument to the existing debug() macro, or
adding yet another macro that takes an explicit level (and the
existing debug() macro forwards to the other macro with a level of 1),
so it's not too hard to choose which lines are super-verbose-only.
But I'm fine with this patch as-is, if we don't have a strong reason
to keep the state transitions in the debug logs.
Reviewed-by: Eric Blake <eblake(a)redhat.com>
Thanks!
So what I did in the end is to add your suggestion of using
./configure CFLAGS="-DLIBNBD_STATE_VERBOSE=1" to enable these
messages, which also keeps Laszlo's work intact.
Commit b66f383fae532bf502a5687ab93639a5273a3dfd
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org