Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Gecko's phased markers to the front-end #2626

Merged
merged 45 commits into from
Jul 24, 2020

Conversation

gregtatum
Copy link
Member

@gregtatum gregtatum commented Jul 2, 2020

This is the unified patch to handle the Gecko patch from: https://phabricator.services.mozilla.com/D78990

This PR will serve as the actual merge point for this work, but I've broken it out into smaller, more reviewable pieces:

Review status:

@codecov
Copy link

codecov bot commented Jul 2, 2020

Codecov Report

Merging #2626 into main will decrease coverage by 0.05%.
The diff coverage is 82.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2626      +/-   ##
==========================================
- Coverage   86.59%   86.54%   -0.06%     
==========================================
  Files         219      218       -1     
  Lines       17437    17638     +201     
  Branches     4529     4542      +13     
==========================================
+ Hits        15100    15264     +164     
- Misses       2141     2171      +30     
- Partials      196      203       +7     
Impacted Files Coverage Δ
src/components/marker-chart/Canvas.js 93.51% <0.00%> (-0.51%) ⬇️
src/profile-logic/data-structures.js 95.00% <ø> (ø)
src/profile-logic/sanitize.js 99.05% <ø> (ø)
src/components/shared/MarkerContextMenu.js 48.88% <20.00%> (-1.12%) ⬇️
src/profile-logic/processed-profile-versioning.js 86.24% <51.80%> (-5.58%) ⬇️
src/utils/index.js 87.09% <62.50%> (-8.56%) ⬇️
src/profile-logic/process-profile.js 91.48% <68.96%> (-1.35%) ⬇️
src/profile-logic/gecko-profile-versioning.js 89.06% <70.27%> (-3.82%) ⬇️
src/selectors/per-thread/markers.js 97.70% <80.00%> (-1.10%) ⬇️
src/profile-logic/marker-data.js 92.47% <96.89%> (-0.86%) ⬇️
... and 19 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d21626c...efbf2d4. Read the comment docs.

Copy link
Contributor

@julienw julienw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just left a remark that we may be mixing 2 different things on one property, and it could be better to split this into 2 properties.
Better means: it gives more possibilities, but the code wouldn't be that different.

What do you think?

src/types/gecko-profile.js Show resolved Hide resolved
These snapshots add the phase, but they also change the fetchStart
property of the network markers. This is due to changes in the
underlying fixture generation.
…AL_START markers

This isn't particularly useful, as the marker buckets aren't REALLY
truncating long markers, just relying on the interval mechanism of
deriving markers. This is already covered elsewhere.
Ok, so this lump of snapshot changes are a bit mysterious, but I think
that's partly due to limitations in snapshot testing not being specific.
I'm somewhat curious if these will be hiding regressions when I load
this up with real profile data.
The only places this was left in was with Network and IPC payloads, as
there was logic using these values. It was much easier to leave them in
for now.
This will finally teach our Markers the difference between Instant and
Interval markers.
Copy link
Member

@canova canova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this! It was quite a journey! 🙂 As I r+'d all individual PRs, r+'ing this as well with the comments on the individual PRs addressed.

…de into the upgraders

The upgraders were sharing code with the type system, which the
startTime and endTime changes ended up being a breaking change. In order
to properly isolate this code, it was duplicated and inlined in the
upgraders.
@gregtatum gregtatum merged commit 7ddd67d into firefox-devtools:main Jul 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants