This branch makes some improvements to our current tracing diagnostics. In particular, I wanted to improve our ability to trace early kernel initialization. I've changed the kernel to initialize the tracing subscriber much earlier, without waiting for the Serial Mux service to actually start. This way, traces we emit before sermux comes up get buffered and are sent over serial when it comes up and crowtty connects. I've also changed the default tracing level when no crowtty has connected from OFF to INFO, so that we can actually record high-level traces from the boot process.
Also, I've improved some of the existing tracing diagnostics, and added new ones.
This branch makes some improvements to our current
tracing
diagnostics. In particular, I wanted to improve our ability to trace early kernel initialization. I've changed the kernel to initialize thetracing
subscriber much earlier, without waiting for the Serial Mux service to actually start. This way, traces we emit before sermux comes up get buffered and are sent over serial when it comes up and crowtty connects. I've also changed the defaulttracing
level when nocrowtty
has connected fromOFF
toINFO
, so that we can actually record high-level traces from the boot process.Also, I've improved some of the existing tracing diagnostics, and added new ones.
Here's what the new tracing looks like:![image](https://github.com/tosc-rs/mnemos/assets/2796466/043b1ca6-d27d-4ac2-b30b-39883135e37c)