-
Notifications
You must be signed in to change notification settings - Fork 49.5k
[Perf Tracks]: Always log effect that spawned blocking update #34648
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
[Perf Tracks]: Always log effect that spawned blocking update #34648
Conversation
Comparing: ef88944...908c588 Critical size changesIncludes critical production bundles, as well as any change greater than 2%:
Significant size changesIncludes any change greater than 0.2%: Expand to show
|
if (!enableProfilerTimer || !enableProfilerCommitHooks) { | ||
return 0; | ||
} | ||
componentEffectSpawnedUpdate = false; // Reset. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no equivalent pop here. That means that this is not scoped to a single component and will leak to siblings. I believe it may also get reset in the case that an effect is in the beginning of the recursion.
I think another issue is that this probably makes this outlined instead of inlined.
The correct way would be to make another pushComponentEffectX with a paired popComponentEffectX. Just like pushComponentEffectDuration etc. do. So that the previous value can be stored and popped at the end.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, thanks for the context. Updated.
970d9cc
to
908c588
Compare
We've observed some scenarios, where cascading update happens in an effect that was shorter than 0.05ms. In this case, this effect won't be displayed on a timeline, because of the threshold that we are using, but it would be shown in entry properties or in a stack trace. To avoid confusion, we should always log such effects. Validated via manually changing the threshold to 100ms+ and observing that only effects that triggered an update are visible on a timeline. DiffTrain build for [063394c](063394c)
We've observed some scenarios, where cascading update happens in an effect that was shorter than 0.05ms. In this case, this effect won't be displayed on a timeline, because of the threshold that we are using, but it would be shown in entry properties or in a stack trace. To avoid confusion, we should always log such effects. Validated via manually changing the threshold to 100ms+ and observing that only effects that triggered an update are visible on a timeline. DiffTrain build for [063394c](063394c)
We've observed some scenarios, where cascading update happens in an effect that was shorter than 0.05ms. In this case, this effect won't be displayed on a timeline, because of the threshold that we are using, but it would be shown in entry properties or in a stack trace.
To avoid confusion, we should always log such effects.
Validated via manually changing the threshold to 100ms+ and observing that only effects that triggered an update are visible on a timeline.