Skip to content

Commit 321bb18

Browse files
committed
fin sync upstream
1 parent 833886a commit 321bb18

File tree

3 files changed

+75
-66
lines changed

3 files changed

+75
-66
lines changed

microsoft-edge/devtools-guide-chromium/performance/reference-images/perf-nav-keyboard-shortcuts-modern.png renamed to microsoft-edge/devtools-guide-chromium/performance/reference-images/perf-shortcuts-style.png

File renamed without changes.

microsoft-edge/devtools-guide-chromium/performance/reference.md

Lines changed: 75 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ In the top-right corner of the **Performance** tool, click the **Show shortcuts*
380380

381381
With the **Modern** option button selected:
382382

383-
![Keyboard shortcuts popup with Modern selected](./reference-images/perf-nav-keyboard-shortcuts-modern.png)
383+
![Keyboard shortcuts popup with Modern selected](./reference-images/perf-shortcuts-style.png)
384384

385385
* To zoom: **Command/Ctrl** + mouse wheel.
386386
* To vertical scroll: Mouse wheel.
@@ -389,9 +389,6 @@ With the **Modern** option button selected:
389389

390390
With the **Classic** option button selected:
391391

392-
![Keyboard shortcuts popup with Classic selected](./reference-images/perf-nav-keyboard-shortcuts-classic.png)
393-
394-
<!-- articulate all options shown in the dialog -->
395392
* To zoom: Mouse wheel, or touchpad up or down.
396393
* To vertical scroll: **Shift** + mouse wheel.
397394
* To horizontal scroll: **Shift** + **Left arrow**|**Right arrow**
@@ -700,12 +697,7 @@ The next three sections all refer to the same demo. You can run the demo yourse
700697
###### Root activities
701698
<!-- https://developer.chrome.com/docs/devtools/performance/reference#root-activities -->
702699

703-
<!-- todo: resume here syncing text content -->
704-
705-
Open the [Activity Tabs Demo](https://microsoftedge.github.io/Demos/devtools-performance-activitytabs/) webpage in a new window or tab. The _activity tabs_ are the **Bottom-up**, **Call tree**, and **Event log** tabs at the bottom of the **Performance** tool. These tabs display root activities.
706-
707-
<!-- upstream doc:
708-
You can view the source files for the Activity Tabs Demo in the [MicrosoftEdge/Demos > devtools-performance-activitytabs](https://github.com/MicrosoftEdge/Demos/tree/main/devtools-performance-activitytabs) repo folder. -->
700+
Here's an explanation of the root activities concept that's mentioned in the **Call Tree** tab, **Bottom-Up** tab, and **Event Log** sections.
709701

710702
_Root activities_ are activities that cause the browser to do some work. For example, when you click a webpage, the browser runs an `Event` activity as the root activity. That `Event` activity may cause other activities to run, such as a handler.
711703

@@ -714,48 +706,16 @@ In the flame chart of the **Main** section, root activities are at the top of th
714706
For an example of root activities, see [The Call tree tab](#the-call-tree-tab), below.
715707

716708

717-
<!-- order of headings/sections & in sentences:
718-
719-
upstream doc uses sequence & casing:
720-
[Call Tree] [Bottom-Up] [Event Log]
721-
722-
downstream doc follows UI's tab sequence & casing:
723-
[Bottom-up] [Call tree] [Event log]
724-
-->
725-
726-
727-
<!-- ---------- -->
728-
###### The Bottom-up tab
729-
730-
Open the [Activity Tabs Demo](https://microsoftedge.github.io/Demos/devtools-performance-activitytabs/) webpage in a new window or tab.
731-
732-
Use the **Bottom-up** tab to view which activities directly took up the most time in aggregate.
733-
734-
The **Bottom-up** tab only displays activities during the selected portion of the recording:
735-
736-
![The Bottom-up tab](./reference-images/bottoms-up.png)
737-
738-
To learn how to select a portion of a recording, see [Select a portion of a recording](#select-a-portion-of-a-recording), above.
739-
740-
In the **Main** section flame chart of the previous figure, almost all of the time was spent running the `a`, `b`, and `c` functions. The top activities in the **Bottom-up** tab of the previous figure are also `a`, `b`, and `c`. In the **Bottom-up** tab, the next most expensive activity is `Minor GC`.
741-
742-
The **Self Time** column represents the aggregated time spent directly in that activity, across all of the occurrences.
743-
744-
The **Total Time** column represents aggregated time spent in that activity or any of the children.
745-
746-
709+
<!-- matches upstream section order -->
747710
<!-- ---------- -->
748711
###### The Call tree tab
749712

750-
Open the [Activity Tabs Demo](https://microsoftedge.github.io/Demos/devtools-performance-activitytabs/) webpage in a new window or tab.
751-
752713
Use the **Call tree** tab to view which [root activities](#root-activities) cause the most work.
753714

754-
The **Call tree** tab only displays activities during the selected portion of the recording:
715+
The **Call tree** tab only displays activities during the selected portion of the recording. To learn how to select a portion of a recording, see [Select a portion of a recording](#select-a-portion-of-a-recording), above.
755716

756717
![The Call tree tab](./reference-images/call-tree.png)
757-
758-
To learn how to select a portion of a recording, see [Select a portion of a recording](#select-a-portion-of-a-recording), above.
718+
<!-- https://microsoftedge.github.io/Demos/devtools-performance-activitytabs/ -->
759719

760720
In the previous figure, the top-level items in the **Activity** column, such as `Event Timing`, are root activities. The nesting represents the call stack. For example, in the previous figure, `Event Timing` caused `Event: mouseup`, which caused `Function Call`, which cause `(anonymous)`, and so on.
761721

@@ -770,18 +730,33 @@ By default the **Grouping** menu is set to **No Grouping**. Use the **Grouping*
770730
Click **Show Heaviest Stack** (![Show Heaviest Stack](./reference-images/show-heaviest-stack-icon.png)) to reveal another table to the right of the **Activity** table. Click on an activity to populate the **Heaviest Stack** table. The **Heaviest Stack** table displays which children of the selected activity took the longest time to run.
771731

772732

733+
<!-- ---------- -->
734+
###### The Bottom-up tab
735+
736+
Use the **Bottom-up** tab to view which activities directly took up the most time in aggregate.
737+
738+
The **Bottom-up** tab only displays activities during the selected portion of the recording. To learn how to select a portion of a recording, see [Select a portion of a recording](#select-a-portion-of-a-recording), above.
739+
740+
![The Bottom-up tab](./reference-images/bottoms-up.png)
741+
<!-- https://microsoftedge.github.io/Demos/devtools-performance-activitytabs/ -->
742+
743+
In the **Main** section flame chart of the previous figure, almost all of the time was spent running the `a`, `b`, and `c` functions. The top activities in the **Bottom-up** tab of the previous figure are also `a`, `b`, and `c`. In the **Bottom-up** tab, the next most expensive activity is `Minor GC`.
744+
745+
The **Self Time** column represents the aggregated time spent directly in that activity, across all of the occurrences.
746+
747+
The **Total Time** column represents aggregated time spent in that activity or any of the children.
748+
749+
773750
<!-- ---------- -->
774751
###### The Event log tab
775752

776753
Use the **Event log** tab to view activities in the order in which they occurred during the recording.
777754

778-
The **Event log** tab only displays activities during the selected portion of the recording:
755+
The **Event log** tab only displays activities during the selected portion of the recording. To learn how to select a portion of a recording, see [Select a portion of a recording](#select-a-portion-of-a-recording), above.
779756

780757
![The Event log tab](./reference-images/event-log.png)
781758

782-
To learn how to select a portion of a recording, see [Select a portion of a recording](#select-a-portion-of-a-recording), above.
783-
784-
The **Start Time** column represents the point at which that activity started, relative to the start of the recording. For example, the start time of `175.7 ms` for the selected item in the previous figure means that activity started 175.7 ms after the recording started.
759+
The **Start Time** column represents the point at which that activity started, relative to the start of the recording. For example, the start time of `925.0 ms` for the selected item in the previous figure means that activity started 925.0 ms after the recording started.
785760

786761
The **Self Time** column represents the time spent directly in that activity.
787762

@@ -808,19 +783,20 @@ In an overlay with vertical lines across the performance trace, you can see impo
808783
* [DOMContentLoaded Event (DCL)](https://developer.mozilla.org/docs/Web/API/Window/DOMContentLoaded_event)
809784
* [Onload Event (L)](https://developer.mozilla.org/docs/Web/API/Window/load_event)
810785

811-
<!-- ![Performance markers in an overlay](todo: performance-markers.png) - https://www.youtube.com showing DevTools > Perf tool, not showing webpage-->
786+
<!-- ![Performance markers in an overlay](todo: performance-markers.png) - youtube.com in titlebar -->
812787

813788
Hover over a marker name at the bottom of the trace to see its timestamp.
814789

815790

816791
<!-- ------------------------------ -->
817792
#### View custom timings
793+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#timings -->
818794

819795
On the **Timings** track, view your custom performance markers such as:
820796

821-
* `performance.mark()` calls.<!-- An individual mark with tooltip is shown below at 813.44 ms, labelled **Starting to run JavaScript**. -->
797+
* `performance.mark()` calls.<!-- todo: An individual mark with tooltip is shown below at 813.44 ms, labelled **Starting to run JavaScript**. -->
822798

823-
* `performance.measure()` calls.<!-- A yellow span is shown below, labelled **Slow Interaction**. -->
799+
* `performance.measure()` calls.<!-- todo: A yellow span is shown below, labelled **Slow Interaction**. -->
824800

825801
<!-- ![Markers in the Timings track](todo: performance-mark-and-measure.png) -->
826802

@@ -829,6 +805,8 @@ Select a marker to see more details in the **Summary** tab, including its timest
829805

830806
<!-- ------------------------------ -->
831807
#### View interactions
808+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#interactions -->
809+
<!-- todo: upstream has more content -->
832810

833811
Use the **Interactions** section to find and analyze user interactions that happened during the recording:
834812

@@ -867,6 +845,7 @@ Select an animation to see more details in the **Summary** tab, including reason
867845

868846
<!-- ------------------------------ -->
869847
#### View GPU activity
848+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#gpu -->
870849

871850
View GPU activity in the **GPU** section of the **Performance** tool:
872851

@@ -875,6 +854,7 @@ View GPU activity in the **GPU** section of the **Performance** tool:
875854

876855
<!-- ------------------------------ -->
877856
#### View raster activity
857+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#raster -->
878858

879859
View raster activity in the **Thread Pool** section.
880860

@@ -883,30 +863,50 @@ View raster activity in the **Thread Pool** section.
883863

884864
<!-- ------------------------------ -->
885865
#### Analyze frames per second (FPS)
866+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#fps -->
886867

887868
DevTools provides two ways to analyze frames per second:
888869

889-
* Use [the Frames section](#the-frames-section) to view how long a particular frame took.
870+
* Use the **Frames** section to view how long a particular frame took. See [The Frames section](#the-frames-section), below.
890871

891872
* Use the **FPS meter** for a realtime estimate of FPS as the page runs. See [View frames per second in realtime with the FPS meter](#view-frames-per-second-in-realtime-with-the-fps-meter), below.
892873

893874

894875
<!-- ---------- -->
895876
###### The Frames section
877+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#frames -->
896878

897879
The **Frames** section tells you exactly how long a particular frame took.
898880

899881
Hover over a frame to view a tooltip with more information about it:
900882

901883
![Hovering on a frame](./reference-images/frames-hover.png)
902884

903-
Select a frame to view more information about the frame in the **Summary** tab at the bottom of the **Performance** tool. DevTools outlines the selected frame in blue:
885+
The above example shows a tooltip when you hover over a frame.
886+
887+
The Frames section can show four types of frames:
888+
889+
* Idle frame (white). No changes.
890+
891+
* Frame (green). Rendered as expected and in time.
892+
893+
* Partially presented frame (yellow with a sparse wide dash-line pattern). Microsoft Edge did its best to render at least some visual updates in time. For example, in case the work of the main thread of the renderer process (canvas animation) is late but the compositor thread (scrolling) is in time.
894+
895+
* Dropped frame (red with a dense solid-line pattern). Microsoft Edge can't render the frame in reasonable time.
896+
897+
<!-- ![Hovering over a partially presented frame](todo: hovering-a-partially-pre-123.png) -->
898+
899+
<!-- The above example shows a tooltip when you hover over a partially presented frame. -->
900+
901+
Click a frame to view more information about the frame in the **Summary** tab at the bottom of the **Performance** tool. DevTools outlines the selected frame in blue:
904902

905-
![View a frame in the Summary tab](./reference-images/frames-summary.png)
903+
![Viewing a frame in the Summary tab](./reference-images/frames-summary.png)
906904

907905

908906
<!-- ------------------------------ -->
909907
#### View network requests
908+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#network -->
909+
<!-- upstream walks through a different demo page, so section content differs -->
910910

911911
Expand the **Network** section to view a waterfall of network requests that occurred during the recording:
912912

@@ -918,30 +918,31 @@ Click on a request to view more information about it in the **Summary** tab:
918918

919919
Requests in the **Network** section are color-coded as follows:
920920

921-
* Blue background: HTML request.
922-
* Purple background: CSS request.
923-
* Dark yellow background: JS request.
924-
* Green background: image request.
921+
* Blue background: HTML request.
922+
* Purple background: CSS request.
923+
* Dark yellow background: JS request.
924+
* Green background: image request.
925925

926926
Requests have squares in the top-left corner:
927-
* A darker-blue square in the top-left of a request means it's a higher-priority request.
928-
* A lighter-blue square means lower-priority.
927+
* A darker-blue square in the top-left of a request means it's a higher-priority request.
928+
* A lighter-blue square means lower-priority.
929929

930930
For example, in the previous figure, the **photo-gallery** request, in the top left corner of the **Network** section is higher-priority.
931931

932-
Requests might have lines on the left and right sides, and their bars might be split into two colors. Here's what these lines and colors represent:
932+
Requests might have lines on the left and right sides, and their bars might be split into two colors. Here's what these lines and colors represent:
933933

934-
* The left line is everything up to the `Connection Start` group of events, inclusive. In other words, it's everything before `Request Sent`, exclusive.
934+
* The left line is everything up to the `Connection Start` group of events, inclusive. In other words, it's everything before `Request Sent`, exclusive.
935935

936-
* The light portion of the bar is `Request Sent` and `Waiting (TTFB)`.
936+
* The light portion of the bar is `Request Sent` and `Waiting (TTFB)` for server response.
937937

938-
* The dark portion of the bar is `Content Download`.
938+
* The dark portion of the bar is `Content Download`.
939939

940-
* The right line is essentially time spent waiting for the main thread. This isn't represented in the **Timing** tab.
940+
* The right line is essentially time spent waiting for the main thread. This isn't represented in the **Timing** tab.
941941

942942

943943
<!-- ------------------------------ -->
944944
#### View memory metrics
945+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#memory -->
945946

946947
Select the **Memory** checkbox to view memory metrics in a performance recording:
947948

@@ -961,6 +962,7 @@ See also:
961962

962963
<!-- ------------------------------ -->
963964
#### View the duration of a portion of a recording
965+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#duration -->
964966

965967
When analyzing a section like **Network** or **Main**, sometimes you need a more precise estimate of how long certain events took. Hold **Shift**, click and hold, and drag left or right to select a portion of the recording. At the bottom of your selection, DevTools shows how long that portion took:
966968

@@ -969,6 +971,7 @@ When analyzing a section like **Network** or **Main**, sometimes you need a more
969971

970972
<!-- ------------------------------ -->
971973
#### View a screenshot
974+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#view-screenshot -->
972975

973976
To learn how to turn on screenshots, see [Capture screenshots while recording](#capture-screenshots-while-recording), above.
974977

@@ -985,6 +988,7 @@ To zoom in on the screenshot, click the thumbnail in the **Summary** tab.
985988

986989
<!-- ------------------------------ -->
987990
#### View layers information
991+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#layers -->
988992

989993
To view advanced layers information about a frame:
990994

@@ -999,6 +1003,7 @@ The **Layers** tab works like the **Composited Layers** tab in the **3D View** t
9991003

10001004
<!-- ------------------------------ -->
10011005
#### View paint profiler
1006+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#paint-profiler -->
10021007

10031008
To view advanced information about a paint event:
10041009

@@ -1075,6 +1080,7 @@ See also:
10751080

10761081
<!-- ------------------------------ -->
10771082
#### View frames per second in realtime with the FPS meter
1083+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#fps-meter -->
10781084

10791085
The **FPS meter** is an overlay that appears in the top-left corner of the rendered webpage. It provides a realtime estimate of FPS as the page runs. To open the **FPS meter**:
10801086

@@ -1091,6 +1097,7 @@ upstream doesn't actually have yet section #frame-rendering-stats -->
10911097

10921098
<!-- ------------------------------ -->
10931099
#### View painting events in realtime with Paint Flashing
1100+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#paint-flash -->
10941101

10951102
Use Paint Flashing to get a realtime view of all paint events on the page. Whenever a part of the page gets re-painted, DevTools outlines that section in green.
10961103

@@ -1109,6 +1116,7 @@ upstream doesn't actually have yet section #paint-flashing -->
11091116

11101117
<!-- ------------------------------ -->
11111118
#### View an overlay of layers with Layer Borders
1119+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#layer-border -->
11121120

11131121
To view an overlay of layer borders and tiles on top of the page:
11141122

@@ -1125,6 +1133,7 @@ See the comments in [debug_colors.cc](https://source.chromium.org/chromium/chrom
11251133

11261134
<!-- ------------------------------ -->
11271135
#### Find scroll performance issues in realtime
1136+
<!-- https://developer.chrome.com/docs/devtools/performance/reference#find_scroll_performance_issues_in_real_time -->
11281137

11291138
Use the **Scrolling Performance Issues** checkbox to identify elements of the page that have event listeners related to scrolling that may harm the performance of the page. DevTools outlines the potentially problematic elements in teal.
11301139

0 commit comments

Comments
 (0)