Closed Bug 1678698 Opened 4 years ago Closed 3 years ago

Missing compositer markers

Categories

(Core :: Gecko Profiler, defect, P1)

defect

Tracking

()

RESOLVED MOVED
Tracking Status
firefox-esr78 --- unaffected
firefox83 --- unaffected
firefox84 --- unaffected
firefox85 --- affected

People

(Reporter: mstange, Unassigned)

References

(Regression)

Details

(Keywords: regression)

There are two profiles in bug 1671498 that are missing markers (https://share.firefox.dev/35Oa0p4, https://share.firefox.dev/2UOQQsQ): The Compositor thread in the GPU process doesn't have any "CompositeToTarget" markers, and the Renderer thread doesn't have any "Composite" markers.

The first is emitted here: https://searchfox.org/mozilla-central/rev/2efcda6dc74c63863fd8f04a6d9d7ac6b09c7eca/gfx/layers/wr/WebRenderBridgeParent.cpp#1976

AUTO_PROFILER_TRACING_MARKER("Paint", "CompositeToTarget", GRAPHICS);

The second is emitted here: https://searchfox.org/mozilla-central/rev/2efcda6dc74c63863fd8f04a6d9d7ac6b09c7eca/gfx/webrender_bindings/RenderThread.cpp#467

AUTO_PROFILER_TRACING_MARKER("Paint", "Composite", GRAPHICS);

I have now updated to the latest Nightly on macOS and see the same problem.

Severity: -- → S1
OS: Windows 10 → All
Regressed by: 1666566
Summary: Missing composite markers with GPU process on Windows → Missing compositer markers
Has Regression Range: --- → yes
Severity: S1 → S2

Looking at the first profile https://share.firefox.dev/35Oa0p4 , the markers are actually present in the frontend data:

  • Select the GPU Process -> Compositor track.
  • Select the Marker Chart panel.
  • Open the devtools console.
  • Enter filteredMarkers, this should output a JS array.
  • Click on the array, and then on [0...99].
    Notice there are markers like 1: Object { start: 88319.94674453125, name: "CompositeToTarget", end: 88319.97544453126, … }.

Same thing for "Composite" markers, they are hidden in the GPU Process -> Renderer track filteredMarkers.

I do see a profile.meta.markerSchema for "tracing".

Greg, could you please have a look?
Is there something special about "tracing" markers that would make them not show up anymore?
And please move this to github if that's a frontend-only issue.

Flags: needinfo?(gtatum)
Priority: -- → P1

Set release status flags based on info from the regressing bug 1666566

This was a front-end regression. I have a fix up for review here: https://github.com/firefox-devtools/profiler/pull/3078

Flags: needinfo?(gtatum)

Actually...

It looks like the front-end provided the schema here, while now Gecko is not. I'm investigating a bit more as to whether we need it on the Gecko side.

  {
    // TODO - Note that this marker is a "tracing" marker currently.
    // See issue #2749
    name: 'Paint',
    display: ['marker-chart', 'marker-table', 'timeline-overview'],
    data: [{ key: 'category', label: 'Type', format: 'string' }],
  },
  {
    // TODO - Note that this marker is a "tracing" marker currently.
    // See issue #2749
    name: 'Navigation',
    display: ['marker-chart', 'marker-table', 'timeline-overview'],
    data: [{ key: 'category', label: 'Type', format: 'string' }],
  },
  {
    // TODO - Note that this marker is a "tracing" marker currently.
    // See issue #2749
    name: 'Layout',
    display: ['marker-chart', 'marker-table', 'timeline-overview'],
    data: [{ key: 'category', label: 'Type', format: 'string' }],
  },

So, the front-end patch makes these re-appear, but they are using the default Tracing schema. In the marker table it no longer lists the marker type as "Paint" or "Navigation", just "tracing". This can be fixed by completing Bug 1662491.

Thank you Greg.

Nothing to do on the Gecko side, MOVED to https://github.com/firefox-devtools/profiler/pull/3078

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → MOVED

The fix has been deployed, and I confirmed it's fixed: https://share.firefox.dev/2Jyt2Y9

You need to log in before you can comment on or make changes to this bug.