Revert the removal of the "optimizations" property in importers for linux perf and ART#4549
Conversation
…inux perf and ART This was done in firefox-devtools#4432, but because these importers target a specific version of the gecko profile format, we shouldn't change their structure without upgrading the format too. Fixes firefox-devtools#4547
There was a problem hiding this comment.
Interestingly, we clearly see the fix in this snapshot change (but we can't see this in github because the change is too large)
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #4549 +/- ##
=======================================
Coverage 88.62% 88.63%
=======================================
Files 293 293
Lines 25989 25982 -7
Branches 6998 6996 -2
=======================================
- Hits 23034 23028 -6
+ Misses 2749 2748 -1
Partials 206 206
... and 5 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
|
Thanks for the quick turnaround on this @julienw! The change looks good to me. This might be a trivial question, but what does this mean for: does there need to be a reversal of this? |
No it's still correct ! If you want to know more, this logic is implemented in profiler/src/profile-logic/process-profile.js Line 114 in 16e5c34 |
canova
left a comment
There was a problem hiding this comment.
Thanks for the quick fix!
As we talked briefly, personally I think we should always pin to the latest profile format version instead of pinning to a specific one if we are inside the profiler codebase. We change all the occurances that are inside the profiler codebase when we are changing the format anyways. Pinning to a profiler format version I think makes it more vulnerable to make mistakes like I did in #4432 when we do a find+replace/remove.
Of course pinning to a version is the best option when the importer lives outside of the profiler codebase. I think it would be good to create a guideline for importers so we are more consistent across all of them.
But of course I don't expect to do this here in this PR. It could be nice to file an issue about it at least, what do you think?
|
Thanks for the review! I filed #4555 |
This was done in #4432, but because these importers target a specific version of the gecko profile format, we shouldn't change their structure without upgrading the format too.
Fixes #4547
This is also extremely visible on the traces from our fixtures library, just looking at the category graph.
For example with the file
art-trace-regular.trace.gz:Import with the production code: https://share.firefox.dev/3FTHP9T
Import with this deploy preview: https://share.firefox.dev/3lHuBq7
I considered trying to detect broken uploaded profiles and upgrade them, but not sure this is worth it because the regression is fairly recent. I would love to get your feedback on this @Karn.