Add a standard track/category field to the spec
Nobody has claimed this yet.
- Dominant language
- Bikeshed
- Stars
- 31
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
I touched on this need in this discussion many years ago: https://github.com/w3c/user-timing/issues/68#issuecomment-555266453 .
Frankly I've ran into this many times. You can see some screenshots in that discussion for how heavily user timings are used at Meta on web. More recently I'm looking at a tooling integration where this would be useful again. React-native already support user-timings but I'd like to forward it to the system's Perfetto on certain platforms and builds. Tracks are an important feature of Perfetto because it organizes the events in the Perfetto frontend.
Ideally I'd like to see the following happen here:
- We spec and document an optional track/category field to
markandmeasure. We document the expectation that it helps categories events into tracks in the UI to organize them together. This would all be non-normative expectations of downstream tools of course. - Perhaps worth discussing if we want to introduce the concept of heavy/slow categories that can be enabled/disabled from tracing. This is concept that common to almost all tracing system (Perfetto, about:tracing, Firefox's Platform Profiler and many more tools). But we can defer this to another discussion.
- Consumers of the performance APIs (Browsers, react-native, perf libraries) can then optionally follow the standard recommendation and better display the marks in their respective front-ends.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the linked discussion and the current mark and measure definitions in the User Timing specification. Determine how an optional track/category field should be specified and what downstream-tool expectations can be documented without making them normative. Done means the proposal is resolved and the relevant specification text is updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100