1. 5
  1.  

  2. 1

    I didn’t know about trace-based logger. I would‘ve needed something like this for my master thesis. Instead I‘ve build my own minimal implementation, which is only 66 lines long. It works by wrapping function with a decorator. I‘m actually still using it for an internal dashboard at my current job. I‘m sending the logs as JSON to a Postgres instance for further analysis and it works great.

    1. 1

      The key difference between what you did and trace-based logging is that trace-based logging also gives you a tree, so you can see that span A was child of span B. So it’s not just about timing and recording inputs and outputs, but also about causality, connecting the different actions/spans/calls.

      1. 1

        (Of course what you did may well be sufficient for your needs, especially if you understand the code well you might not need to explicitly model causality.)

        1. 1

          Yes, I‘m well aware of it (and I was thinking about explicitly stating that in my original comment). May be tracing logger isn‘t the correct term for my code then. I wanted to easily measure the impact on performance of arguments to a function and the code was written for that purpose. Nothing more.