Call TimingSubscriber::force_synchronize once we're done
collecting metrics. This stops calls to refresh from hanging, and
actually allows us to print data.
Rather than expecting specific span group->event group pairs to always
be present, just iterate over all the histograms that were collected.
That way, we don't panic if no ray_none or ray_color events
actually occurred.
Have both a draw span for the entire draw function, and
a draw_pixel span for drawing each pixel. This way we can time
how long it takes from calling draw to drawing each pixel, and
how long it took to draw each pixel
I hope I correctly understood what this code was doing --- if not,
I may have put spans in the wrong places. But...you can keep
tweaking the instrumentation as much as you like, now that we
can actually print histograms without dying.
This makes the following changes:
TimingSubscriber::force_synchronize
once we're done collecting metrics. This stops calls torefresh
from hanging, and actually allows us to print data.ray_none
orray_color
events actually occurred.draw
span for the entiredraw
function, and adraw_pixel
span for drawing each pixel. This way we can time how long it takes from callingdraw
to drawing each pixel, and how long it took to draw each pixelI hope I correctly understood what this code was doing --- if not, I may have put spans in the wrong places. But...you can keep tweaking the instrumentation as much as you like, now that we can actually print histograms without dying.
Current output looks like this: