Add anchor events for developer centric timeline#4105
Add anchor events for developer centric timeline#4105B3rn475 merged 7 commits intoflutter:masterfrom B3rn475:timeline
Conversation
| // sizeof(jlong) * 8 / 10 (number of groups of 10 bits) | ||
| // sizeof(jlong) * 8 / 10 * 3 (number of digits - 1) | ||
| // sizeof(jlong) * 8 / 10 * 3 + 2 (number of digits + \0) | ||
| char deadline[sizeof(jlong) * 8 / 10 * 3 + 2]; |
There was a problem hiding this comment.
Can these two lines also be made conditional under profile/debug
| // sizeof(jlong) * 8 / 10 (number of groups of 10 bits) | ||
| // sizeof(jlong) * 8 / 10 * 3 (number of digits - 1) | ||
| // sizeof(jlong) * 8 / 10 * 3 + 2 (number of digits + \0) | ||
| char deadline[sizeof(jlong) * 8 / 10 * 3 + 2]; |
There was a problem hiding this comment.
ditto comment about these two lines.
shell/common/animator.cc
Outdated
|
|
||
| // This ID is used by the timeline component to correctly align | ||
| // GPU Workloads events with their respective Framework Workload. | ||
| const char* Animator::FrameId() { |
There was a problem hiding this comment.
Why is this alternating instead of increasing?
There was a problem hiding this comment.
This values is used has a helper by the Frame alignment code to correctly pair Framework Workload events with the relative GPU Workload.
https://github.com/dart-lang/sdk/blob/master/runtime/observatory/web/timeline.js#L284
Due the fact that we can add just strings to the Timeline Events, alternating two constant values avoids us to print the value to it.
There was a problem hiding this comment.
Maybe FrameParity instead then, since this doesn't identify a unique frame.
By adding these events the new developer centric timeline will be able to identify and correlate events related to the different stages of the drawing pipeline.
|
Rebasing |
By adding these events the new developer centric timeline will be able
to identify and correlate events related to the different stages of the
drawing pipeline.
This Pull Request is for review purposes, it needs to wait for the corresponding changes in the Dart VM to land first.