Make the Hermes CLI output less verbose #2179
Labels
I: CLI
Internal: related to the relayer's CLI
O: usability
Objective: cause to improve the user experience (UX) and ease using the product
Milestone
Problem
Currently all Hermes interactive CLIs (i.e., everything except for the
start
CLI) relies on theConclude
module to intermediate the output. This module has two modes:--json
is specified, then the module will ensure all CLI output is serialized in JSON--json
is not specified (the default), then the module will serialize everything via itsDebug
implemenetation.We already noticed that the
Debug
impl are too verbose (eg #1559) and in PR #2167 we made additional modifications to override theDebug
impl and make it less verbose for some packet events.Potential solution
We should continue that work described above and refactor
Conclude
so that by default it no longer works withDebug
but instead withDisplay
implementations, making the output more compact and easier to understand for developers. As a side note, most operators do not use JSON output, so this request is not only for developers but also relayer operators.Original discussion
Not sure we need the
Debug
impl here. I removed thederive
since it was not being used for anything.We can re-add the
derive(Debug)
later on if needed. But I would actually prefer to makeOutput
work withDisplay
instead ofDebug
. The reason is that withDebug
the output is too verbose and it's difficult to parse the logs, so we're forced to override ofimpl Debug for X
to make output more concise (like we do in this PR and in here #1944). Going withDisplay
instead ofDebug
will be better, but that would require some bigger refactoring (which we can do with #594 if we see the need).Originally posted by @adizere in #2167 (comment)
The text was updated successfully, but these errors were encountered: