%% title = "tracing is better than logging" % id = "01HBTSXTTA08SCA313HSFWB13T" - information about time spans is very valuable for profiling % id = "01HBTSXTTAAHQ0Q8GY78Z1RYFN" - and you do not have to worry about "should I log before I start the operation, or after I end the operation?" % id = "01HBTSXTTAJ6R319P2N6HT54CA" + additionally, traces made of spans are way easier to visualize than tonnes of logs % id = "01HBTSXTTA3M93STVPHA898GM4" - if you've never tried [Perfetto](https://ui.perfetto.dev/) or similar tools, I highly recommend giving it a shot % id = "01HBTSXTTAB9WD17FNDE5RYP8Y" + I also imagine visualizing traces live in your CLI could yield a very nice user experience, with a visible progress indicator as to what eg. [your compiler][branch:programming/projects/muscript] is working on right now at a glance, reassuring you that it is not stuck on some `while (true) {}` in constant evaluation % id = "01HBTSXTTA3Q36Y98GSBRVCS3B" - perhaps emitting warnings along the road for things that take alarmingly long, so that you can keep your build times in check % id = "01HBTSXTTAA89CXD17GBNR3FEQ" - though printing to stdout is quite slow, so perhaps limiting the frequency or depth would be a worthwhile thing to do