Closed pepeiborra closed 3 years ago
Hi Pepe!
Collapsing by capability would be somewhat misleading because a thread could start on one capability, then be suspended, run for some time on another, and maybe even finish on a third one. There would be no faithful way to assign it to only a single capability.
You reminded me that I started implementing an alternative approach proposed by @expipiplus1 in https://github.com/ethercrow/opentelemetry-haskell/issues/40. I'm sorry I completely forgot about it 🤦 . I'll try to get to it on the weekend.
Chrome traces do not collapse threads, unlike Tracy visualisations. This is not a good fit for Haskell programs, which tend to create new threads rather than reuse existing threads, and leads to very jagged traces like the one below (from HLS):
Instead of thread ids, I wonder if we can put capability ids in the
tid
field? This would allow for collapsing while preserving the timestamp restriction (see #47), and hopefully result in much more readable traces.