Structured logs: add identifiers & tx hashes in log output #1537
Labels
O: code-hygiene
Objective: cause to improve code hygiene
O: new-feature
Objective: cause to add a new feature or support
O: usability
Objective: cause to improve the user experience (UX) and ease using the product
Milestone
Crate
ibc-relayer
Summary of problem
It is currently very difficult to correlate lines of output in the Hermes log. The only support for doing so is the thread identifiers, which became useless once a relayer action (e.g, submitting to a chain) crosses thread boundaries. This is a problem because it's difficult to understand from the log the sequence of steps that Hermes takes towards accomplishing a task such as relaying an IBC ICS20 packet.
Proposal
High level description: Break down Hermes tasks into concrete steps. A single task, such as handing an event, involves multiple steps (all the way from receiving the event from the WS to the last part of submitting the tx to a chain). Each step may span multiple lines of output in the log. All of the steps and the corresponding log lines that pertain to a single task should have an identifier.
In addition to identifiers per task, we would also like to make tx hashes as first-order citizens in the log. Towards this end, at least one of the steps that Hermes takes towards handling an event it should output
Acceptance Criteria
info
level log output detailing the tx hashes that are being handled as part of a taskFor Admin Use
The text was updated successfully, but these errors were encountered: