Hi all,
This is really more of a "user" question than a "dev" question, but I'm
posting here since I was unable to find a user list for the project;
hope that's alright.
I was hoping to get some input on the best way to trace execution
through a chain of iterators. Specifically, we have a database-like
application which pipes data through multiple iterators, performing some
transformation at each step. We'd like insight into how long each step
is taking in total for a particular request. That is, for a chain of
iterators iter_1... iter_i, we want the total time spent in each iter_i
for that request.
The naive implementation would be to start a span in each call to next,
but that's far too fine grained, given that we'd be starting a new span
for each row. What we'd really want, is to aggregate the time spent in
each call to next for each iterator, and then send the spans at the end.
This would require implementing a new span subclass, which is a bit
tricky to integrate at the moment (since it prevents us from using the
static helpers in Trace).
Any thoughts on the best way to approach this issue? Is there something
I'm missing, or some way that we can reframe the problem such that it
makes sense with what's currently in htrace?
Let me know if there's anything that's unclear, or any further info I
can provide about our use case.
Thanks for the help!
Andrew