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

Blockers #1

Closed
3 of 5 tasks
kartikcho opened this issue Jun 15, 2020 · 7 comments
Closed
3 of 5 tasks

Blockers #1

kartikcho opened this issue Jun 15, 2020 · 7 comments
Labels
phase: 1 - MVP Tasks that get us to our initial MVP work type: discussion

Comments

@kartikcho
Copy link
Member

kartikcho commented Jun 15, 2020

Unknowns/Need info

  • What is the "render-idle" ReactMeasureType defined in the scheduler POC code?
  • Why does the scheduler prototype not work with custom captured profiles from a demo concurrent mode app?
    I used multiple captured json performance profiles from the above test app with the scheduler and got empty graphs.


Extra info: How was the data recorded for the demo?

  • The recent lanes branch displays multiple cooperative chunks of work running at the same time, does it still needs to be worked on? (Can't check without test data).

image

Needs further investigation

  • React timings and stack flame graphs don't align correctly
  • Prototype on hover tooltip display is a hit and miss (sometimes works, sometimes doesn't, doesn't display context menu for some user timing marks or "dots").
@bvaughn
Copy link

bvaughn commented Jun 15, 2020

What is the "render-idle" ReactMeasureType defined in the scheduler POC code?

When React finishes "render" work, it could be for a few reasons:

  • Idle: Yielding to the browser to do whatever it needs to (e.g. process user input, other non-React JavaScript). We'll resume rendering this work later.
  • Interrupted: Higher priority work needs to be worked on, so we are going to throw away the in-progress render.
  • Completed: All render work is done and is safe to be committed at some future time (not necessarily immediately).

Why does the profiler not work with custom captured profiles from a demo concurrent mode app?

I don't understand this question. DevTools Profiler works fine at the link you sent.

May be worth pointing out that there is an ongoing Chromium bug that impacts React DevTools (as well as many other extensions) that might be what you're asking about? facebook/react#19002

The recent lanes branch displays user timing marks for multiple things running at the same time, does it still needs to be worked on? (Can't check without test data).

Going to need more info here. Which "user timing marks" are you referring to? and what do you mean by "at the same time"?

@kartikcho
Copy link
Member Author

Sorry I wasn't clear in my post and realized I used incorrect terms to refer to different things. I've edited my original post, hopefully that helps explain my thoughts better @bvaughn.

@bvaughn
Copy link

bvaughn commented Jun 15, 2020

Ah ok. I think you're asking about the fact that the lanes branch supports working on multiple "priorities" at the same time.

Yes, this will likely require a bit of rethinking.

Not sure if you saw my comment over on MLH-Fellowship/react#5 (comment), but I'm going to chat with the team during our sync today (in a couple of hours) and hopefully get back to you soon about this.

@kartikcho
Copy link
Member Author

Not sure if you saw my comment over on MLH-Fellowship/react#5 (comment), but I'm going to chat with the team during our sync today (in a couple of hours) and hopefully get back to you soon about this.

Yes, I did. Thanks!
Could you also let me know how to produce test data for the prototype? I can work on adding an import button till anything is decided.

@bvaughn
Copy link

bvaughn commented Jun 15, 2020

"produce test data" as in...new test data? That will require adding the new user timing marks to React behind a feature flag.

You could produce test data using an older build of React (from my old branch facebook/react#17772) too though if you'd rather not wait. Just be aware that the data may be different than what we're going to end up with given the lanes refactor.

@kartikcho
Copy link
Member Author

Alright, I'll add a dummy import button until user timing marks are added. Thanks.

@bvaughn
Copy link

bvaughn commented Jun 15, 2020

I could probably dig up a JSON file from a few months back if you'd just like some sample data, but really... probably just design the button and get the file import logic working to parse any JSON for now, then hold off until tomorrow when we know a little more about the lanes update my other comment refers to :)

@taneliang taneliang added the phase: 1 - MVP Tasks that get us to our initial MVP label Jul 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
phase: 1 - MVP Tasks that get us to our initial MVP work type: discussion
Projects
None yet
Development

No branches or pull requests

3 participants