gh-154090: Store profiling mode in binary files - #154105
Conversation
|
CC: @lkollar |
There was a problem hiding this comment.
What about threads (ie: main v. --all-threads; now implicit from HDR_OFF_THREADS), native_frames, gc for diffs?
Truth be told, I wonder about the all flags (especially if we strictly care about honest diffs and replays), about describing the target (especially for Gecko), but also about error rate, maybe even failed samples (ref #154092).
That's a bit of a Whac-A-Mole without approaching this is in a bit more generic way (eg: flexible metadata struct within the existing header.)
| | 44 | 8 | uint64 | Frame table offset | | ||
| | 52 | 4 | uint32 | Compression type (0=none, 1=zstd) | | ||
| | 56 | 8 | bytes | Reserved (zero-filled) | | ||
| | 28 | 8 | uint64 | Total sample count | |
| Profiling modes use their `_remote_debugging.PROFILING_MODE_*` value plus one, | ||
| leaving zero available for binaries written before this field was defined. |
There was a problem hiding this comment.
Do we care about backwards compatibility that much, given that we have recently changed the total sample count from uint32 to uint64 lately (#153425)?
b931bc3 to
5a9fbe7
Compare
b926588 to
e33d34f
Compare
|
Thanks @pablogsal for the PR 🌮🎉.. I'm working now to backport this PR to: 3.15. |
|
Sorry, @pablogsal, I could not cleanly backport this to |
|
GH-158144 is a backport of this pull request to the 3.15 branch. |
Closes #154090.