Closed Bug 1697201 Opened 4 years ago Closed 4 years ago

Network markers shouldn't be present in the marker chart

Categories

(Core :: Gecko Profiler, defect)

defect

Tracking

()

RESOLVED INVALID

People

(Reporter: julienw, Assigned: mozbugz)

References

(Blocks 1 open bug)

Details

Attachments

(1 obsolete file)

STR:

  1. start the profiler
  2. load a page
  3. capture the profile
  4. open the marker chart for a thread with network markers

=> the marker chart shouldn't show the network markers.

Looking at the marker schema, I see there's no schema for network markers, presumably because they have some special handling. But in the marker chart we also include all markers with no schema.

Hey Gerald, it would be very nice if you can help with this one :-)

This is what we used for older profile versions: https://github.com/firefox-devtools/profiler/blob/8fe95c6e6bd24a449c154c5ccb8019e9350ef7cb/src/profile-logic/processed-profile-versioning.js#L1690-L1695
Ideally we should get the same from Gecko.

Thanks!

Flags: needinfo?(gsquelart)

In Gecko we're using MarkerSchema::SpecialFrontendLocation in the network marker display schema, and in this case nothing is output in the schema list.

I'm guessing the idea was that these special markers would be fully handled in the front-end, including where not to display them!?
From what I understood, I thought the front-end woudl provide default schema for types that were not in Gecko profiles, and otherwise would have special if type===... handling where needed.
Greg, I think you put this in place, any memory of it?

Anyway, if it would simplify the front-end to output a simple schema with only a 'marker-table' display from Gecko, that should be possible. I'll work on a patch, in case we do want to go that way.

Note that MarkerSchema::SpecialFrontendLocation is used in other markers: Screenshots, IPC, JS allocations, and native allocations. Should we review these as well?

Assignee: nobody → gsquelart
Flags: needinfo?(gsquelart) → needinfo?(gtatum)

Screenshots and IPC are fine, I believe. JS allocations and native allocations probably not, but I'd like to double-check with real profiles.
Also let's wait for Greg's answer, to see what he had in mind at first :-)
Thanks for the quick patch!

The upgrader has my intentions at the time of landing this: https://github.com/firefox-devtools/profiler/blob/8fe95c6e6bd24a449c154c5ccb8019e9350ef7cb/src/profile-logic/processed-profile-versioning.js#L1690-L1696

It looks like I assumed the schema would say where it would go, but it ignored the network chart. However, feel free to change up those assumptions as needed.

Flags: needinfo?(gtatum)

BTW I see the IPC marker also has a value for the display in this upgrader... but not the JS/native allocations. And actually now I remember the allocations are removed from the markers table at processing time. (see the function _processMarkers)

For IPC we alos have this special "frontend only" table: https://github.com/firefox-devtools/profiler/blob/231563902a85f8f6395a3b8c61c85c262c8bdbba/src/profile-logic/marker-schema.js#L50-L63.

Maybe we could do the same for the Network marker, actually...
I'll think about it a bit.

Flags: needinfo?(felash)

After thinking a bit, now I think I'll do a patch in the frontend to add this schema to the "frontend only" schemas. This is simpler.
When we'll move to marker sets eventually, we can do an upgrader and remove it.

Closing here then!

Flags: needinfo?(felash)
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INVALID
Attachment #9207933 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: