Instrumenting Glimmer components – is there a way?

Hi,

We’re trying to improve the performance of one of our pages and found ember-perf-timeline a huge help to see component render times in Chrome’s Performance profiling tool.

However, we have a Glimmer component on that page (that’s a likely culprit) that doesn’t appear on the timeline.

After some digging in the respective source codes, it seems to me that Glimmer components are not instrumented like Ember components are (no render.component events are triggered). Also, one of the incomplete todos on the “Glimmer Components in Ember” quest issue is " Instrument for rendering performance" which doesn’t bode well for our case :slight_smile: but it might have been added later :crossed_fingers:

Specifically, I think that most of the reported “Self time” of an Ember component’s render time is actually the rendering of the child Glimmer component since the Ember component is a pure provider component, only yielding data and actions out to its children (see the time bound by the red rectangle):

Is my assumption that Glimmer components are not instrumented correct, and if it, is there a way to add instrumentation for them?

Thank you for your answers.

4 Likes