Commit 31be9d7a authored by Mohsen Izadi's avatar Mohsen Izadi Committed by Commit Bot

Update //ui/latency/latency_info.dot diagram

Current diagram is a bit outdated and incomplete. The updated diagram:
https://drive.google.com/file/d/1HHvLtZYou2-wjEmuwb2DmfVdO_t9PCPd/view

Bug: 1055051
Change-Id: Id551cfd79372222af82b0e36a6aae598db24d269
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2069850
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Reviewed-by: default avatarNavid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748401}
parent 2eb182fa
# dot -Tpdf ui/latency/latency_info.dot > latency_info.pdf
// dot -Tpdf ui/latency/latency_info.dot > latency_info.pdf
digraph g {
node [shape=box];
digraph LatencyInfo {
node[shape=box];
INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT ->
INPUT_EVENT_LATENCY_UI_COMPONENT [label="Event.Latency.OS.*"]
INPUT_EVENT_LATENCY_UI_COMPONENT -> INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT [label="Event.Latency.Browser.INPUT_MODALITYUI"];
// Set shape and label of metric names.
{
node[style="dotted,rounded"];
INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT -> INPUT_EVENT_LATENCY_ACK_RWH_COMPONENT [label="Event.Latency.Browser.INPUT_MODALITYAcked"];
"Event.Latency.EventToRender.TouchpadPinch";
"Event.Latency.QueueingTime.<event_name><default_action_status>";
"Event.Latency.BlockingTime.<event_name><default_action_status>";
end_to_end_metrics
[label="\
Event.Latency.EndToEnd.KeyPress\n\
Event.Latency.EndToEnd.Mouse\n\
Event.Latency.EndToEnd.TouchpadPinch\n"];
scroll_to_gpu_swap_metrics
[label="\
Event.Latency.<scroll_name>.TimeToScrollUpdateSwapBegin2\n\
Event.Latency.<scroll_name>.<input_modality>.TimeToScrollUpdateSwapBegin4\n\
Event.Latency.Scroll.Wheel.TimeToScrollUpdateSwapBegin2\n\
UKM: Event.<scroll_name>.<input_modality>.TimeToScrollUpdateSwapBegin\n"]
scroll_to_schedule_metrics
[label="\
Event.Latency.<scroll_name>.<input_modality>.TimeToHandled2_<thread_name>\n\
Event.Latency.Scroll.Wheel.TimeToHandled2_<thread_name>\n\
UKM: Event.<scroll_name>.<input_modality>.TimeToHandled\n"];
"Event.Latency.<scroll_name>.<input_modality>.HandledToRendererSwap2_<thread_name>";
"Event.Latency.<scroll_name>.<input_modality>.RendererSwapToBrowserNotified2";
"Event.Latency.<scroll_name>.<input_modality>.BrowserNotifiedToBeforeGpuSwap2";
"Event.Latency.<scroll_name>.Touch.EventTimeToRAFTime";
"Event.Latency.<scroll_name>.Touch.RAFTimeToFrameSwapEnd";
"Event.Latency.<scroll_name>.<input_modality>.GpuSwap2";
}
INPUT_EVENT_LATENCY_ACK_RWH_COMPONENT -> INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT;
// Set labels for nodes with multiple components.
scroll_original
[label="\
INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT\n\
INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT"];
rendering_scheduled
[label="\
INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN_COMPONENT\n\
INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL_COMPONENT"];
INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT -> INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT [label="Event.Latency.SCROLL.INPUT_MODALITY.HandledToRendererSwap2_THREAD"];
// Layout "original" components at the top.
{
rank=same;
edge[style=dotted,minlen=8];
INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT->
scroll_original->
INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT_COMPONENT;
}
INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT -> INPUT_EVENT_BROWSER_RECEIVED_RENDERER_SWAP_COMPONENT [label="Event.Latency.SCROLL.INPUT_MODALITY.RendererSwapToBrowserNotified2"];
INPUT_EVENT_BROWSER_RECEIVED_RENDERER_SWAP_COMPONENT -> INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT [label="Event.Latency.SCROLL.INPUT_MODALITY.BrowserNotifiedToBeforeGpuSwap2"];
INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT -> INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT [label="Event.Latency.SCROLL.INPUT_MODALITY.GpuSwap2"];
// Layout the rest of the components.
INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT->
"Event.Latency.EventToRender.TouchpadPinch"->
INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT->
"Event.Latency.QueueingTime.<event_name><default_action_status>"->
INPUT_EVENT_LATENCY_RENDERER_MAIN_COMPONENT->
"Event.Latency.BlockingTime.<event_name><default_action_status>"->
INPUT_EVENT_LATENCY_ACK_RWH_COMPONENT
[weight=3];
edge[style="dashed"];
INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT -> INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT [label="Event.Latency.SCROLL.INPUT_MODALITY.TimeToScrollUpdateSwapBegin2"];
INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT->
end_to_end_metrics->
INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT;
INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT -> INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT [label="Event.Latency.SCROLL.INPUT_MODALITY.TimeToHandled2_THREAD"];
scroll_original->
scroll_to_gpu_swap_metrics->
INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT;
INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT[label="\
EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT\l\
EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT\l\
INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT \l"];
INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT[label="INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_(MAIN | IMPL)_COMPONENT"];
scroll_original->
scroll_to_schedule_metrics->
rendering_scheduled;
INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT_COMPONENT->
"Event.Latency.<scroll_name>.Touch.EventTimeToRAFTime"->
rendering_scheduled;
subgraph cluster_01 {
style=invis;
node [shape=plaintext];
key [label="\
INPUT_MODALITY = (Wheel | Touch\l\
THREAD = (Main | Impl)\l\
SCROLL = (ScrollBegin | ScrollUpdate)\l"]
}
rendering_scheduled->
"Event.Latency.<scroll_name>.<input_modality>.HandledToRendererSwap2_<thread_name>"->
INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT->
"Event.Latency.<scroll_name>.<input_modality>.RendererSwapToBrowserNotified2"->
DISPLAY_COMPOSITOR_RECEIVED_FRAME_COMPONENT->
"Event.Latency.<scroll_name>.<input_modality>.BrowserNotifiedToBeforeGpuSwap2"->
INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT->
"Event.Latency.<scroll_name>.<input_modality>.GpuSwap2"->
INPUT_EVENT_LATENCY_FRAME_SWAP_COMPONENT
[weight=4];
rendering_scheduled->
"Event.Latency.<scroll_name>.Touch.RAFTimeToFrameSwapEnd"->
INPUT_EVENT_LATENCY_FRAME_SWAP_COMPONENT;
// Add legend and position it under INPUT_EVENT_LATENCY_ACK_RWH_COMPONENT.
legend
[shape=plaintext,label="\
LEGEND:\l\
<default_action_status> = (DefaultPrevented | DefaultAllowed)\l\
<input_modality> = (Wheel | Touch)\l\
<scroll_name> = (ScrollBegin | ScrollUpdate)\l\
<thread_name> = (Main | Impl)\l"];
INPUT_EVENT_LATENCY_ACK_RWH_COMPONENT->
legend
[style=invis,minlen=3];
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment