consensus-shipyard / ipc

🌳 Spawn multi-level trees of customized, scalable, EVM-compatible networks with IPC. L2++ powered by FVM, Wasm, libp2p, IPFS/IPLD, and CometBFT.
https://ipc.space
Apache License 2.0
41 stars 35 forks source link

Move Tracing Configuration from Command Line Flags to Fendermint Config and Allow Hot Reloading #1071

Closed karlem closed 2 months ago

karlem commented 2 months ago

The issue: Currently, it is challenging to add tracing configuration to the Fendermint config for two reasons:

  1. We set up the tracing subscriber before the configuration is loaded.
  2. Changing the tracing subscriber once it is set is not easily doable with the tracing library.

As a workaround, we have implemented the tracing configuration via command line arguments.

The solution: We need to write a custom dynamic layer that will be able to load/change other layers so that we can support config changes after the tracing library has been set up.

For more details, refer to the tracing-subscriber layer documentation.