mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 04:27:37 +00:00
348 lines
16 KiB
XML
348 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
|
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://browser/content/devtools/widgets.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://browser/skin/devtools/common.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://browser/skin/devtools/widgets.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://browser/skin/devtools/performance.css" type="text/css"?>
|
|
<!DOCTYPE window [
|
|
<!ENTITY % profilerDTD SYSTEM "chrome://browser/locale/devtools/profiler.dtd">
|
|
%profilerDTD;
|
|
]>
|
|
|
|
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
<script src="chrome://browser/content/devtools/theme-switching.js"/>
|
|
<script type="application/javascript" src="performance/system.js"/>
|
|
<script type="application/javascript" src="performance/performance-controller.js"/>
|
|
<script type="application/javascript" src="performance/performance-view.js"/>
|
|
<script type="application/javascript" src="performance/views/overview.js"/>
|
|
<script type="application/javascript" src="performance/views/toolbar.js"/>
|
|
<script type="application/javascript" src="performance/views/details-subview.js"/>
|
|
<script type="application/javascript" src="performance/views/details-waterfall.js"/>
|
|
<script type="application/javascript" src="performance/views/details-js-call-tree.js"/>
|
|
<script type="application/javascript" src="performance/views/details-js-flamegraph.js"/>
|
|
<script type="application/javascript" src="performance/views/details-memory-call-tree.js"/>
|
|
<script type="application/javascript" src="performance/views/details-memory-flamegraph.js"/>
|
|
<script type="application/javascript" src="performance/views/details.js"/>
|
|
<script type="application/javascript" src="performance/views/recordings.js"/>
|
|
<script type="application/javascript" src="performance/views/jit-optimizations.js"/>
|
|
|
|
<popupset id="performance-options-popupset">
|
|
<menupopup id="performance-filter-menupopup"/>
|
|
<menupopup id="performance-options-menupopup">
|
|
<menuitem id="option-show-platform-data"
|
|
type="checkbox"
|
|
data-pref="show-platform-data"
|
|
label="&profilerUI.showPlatformData;"
|
|
tooltiptext="&profilerUI.showPlatformData.tooltiptext;"/>
|
|
<menuitem id="option-enable-memory"
|
|
class="experimental-option"
|
|
type="checkbox"
|
|
data-pref="enable-memory"
|
|
label="&profilerUI.enableMemory;"
|
|
tooltiptext="&profilerUI.enableMemory.tooltiptext;"/>
|
|
<menuitem id="option-enable-allocations"
|
|
class="experimental-option"
|
|
type="checkbox"
|
|
data-pref="enable-allocations"
|
|
label="&profilerUI.enableAllocations;"
|
|
tooltiptext="&profilerUI.enableAllocations.tooltiptext;"/>
|
|
<menuitem id="option-enable-framerate"
|
|
type="checkbox"
|
|
data-pref="enable-framerate"
|
|
label="&profilerUI.enableFramerate;"
|
|
tooltiptext="&profilerUI.enableFramerate.tooltiptext;"/>
|
|
<menuitem id="option-invert-call-tree"
|
|
type="checkbox"
|
|
data-pref="invert-call-tree"
|
|
label="&profilerUI.invertTree;"
|
|
tooltiptext="&profilerUI.invertTree.tooltiptext;"/>
|
|
<menuitem id="option-invert-flame-graph"
|
|
type="checkbox"
|
|
data-pref="invert-flame-graph"
|
|
label="&profilerUI.invertFlameGraph;"
|
|
tooltiptext="&profilerUI.invertFlameGraph.tooltiptext;"/>
|
|
<menuitem id="option-flatten-tree-recursion"
|
|
type="checkbox"
|
|
data-pref="flatten-tree-recursion"
|
|
label="&profilerUI.flattenTreeRecursion;"
|
|
tooltiptext="&profilerUI.flattenTreeRecursion.tooltiptext;"/>
|
|
<menuitem id="option-show-jit-optimizations"
|
|
class="experimental-option"
|
|
type="checkbox"
|
|
data-pref="show-jit-optimizations"
|
|
label="&profilerUI.showJITOptimizations;"
|
|
tooltiptext="&profilerUI.showJITOptimizations.tooltiptext;"/>
|
|
</menupopup>
|
|
</popupset>
|
|
|
|
<hbox class="theme-body" flex="1">
|
|
|
|
<!-- Sidebar: controls and recording list -->
|
|
<vbox id="recordings-pane">
|
|
<toolbar id="recordings-toolbar"
|
|
class="devtools-toolbar">
|
|
<hbox id="recordings-controls"
|
|
class="devtools-toolbarbutton-group">
|
|
<toolbarbutton id="main-record-button"
|
|
class="devtools-toolbarbutton record-button"
|
|
tooltiptext="&profilerUI.recordButton2.tooltip;"/>
|
|
<toolbarbutton id="import-button"
|
|
class="devtools-toolbarbutton"
|
|
label="&profilerUI.importButton;"/>
|
|
<toolbarbutton id="clear-button"
|
|
class="devtools-toolbarbutton"
|
|
label="&profilerUI.clearButton;"/>
|
|
</hbox>
|
|
</toolbar>
|
|
<vbox id="recordings-list" flex="1"/>
|
|
</vbox>
|
|
|
|
<!-- Main panel content -->
|
|
<vbox id="performance-pane" flex="1">
|
|
|
|
<!-- Top toolbar controls -->
|
|
<toolbar id="performance-toolbar"
|
|
class="devtools-toolbar">
|
|
<hbox id="performance-toolbar-controls-other"
|
|
class="devtools-toolbarbutton-group">
|
|
<toolbarbutton id="filter-button"
|
|
class="devtools-toolbarbutton"
|
|
popup="performance-filter-menupopup"
|
|
tooltiptext="&profilerUI.options.filter.tooltiptext;"/>
|
|
</hbox>
|
|
<hbox id="performance-toolbar-controls-detail-views"
|
|
class="devtools-toolbarbutton-group">
|
|
<toolbarbutton id="select-waterfall-view"
|
|
class="devtools-toolbarbutton devtools-button"
|
|
label="Waterfall"
|
|
hidden="true"
|
|
data-view="waterfall" />
|
|
<toolbarbutton id="select-js-calltree-view"
|
|
class="devtools-toolbarbutton devtools-button"
|
|
label="Call Tree"
|
|
hidden="true"
|
|
data-view="js-calltree" />
|
|
<toolbarbutton id="select-js-flamegraph-view"
|
|
class="devtools-toolbarbutton devtools-button"
|
|
label="Flame Chart"
|
|
hidden="true"
|
|
data-view="js-flamegraph" />
|
|
<toolbarbutton id="select-memory-calltree-view"
|
|
class="devtools-toolbarbutton devtools-button"
|
|
label="Allocations Tree"
|
|
hidden="true"
|
|
data-view="memory-calltree" />
|
|
<toolbarbutton id="select-memory-flamegraph-view"
|
|
class="devtools-toolbarbutton devtools-button"
|
|
label="Allocations Chart"
|
|
hidden="true"
|
|
data-view="memory-flamegraph" />
|
|
</hbox>
|
|
<spacer flex="1"></spacer>
|
|
<hbox id="performance-toolbar-controls-options"
|
|
class="devtools-toolbarbutton-group">
|
|
<toolbarbutton id="performance-options-button"
|
|
class="devtools-toolbarbutton devtools-option-toolbarbutton"
|
|
popup="performance-options-menupopup"
|
|
tooltiptext="&profilerUI.options.gear.tooltiptext;"/>
|
|
</hbox>
|
|
</toolbar>
|
|
|
|
<!-- Recording contents and general notice messages -->
|
|
<deck id="performance-view" flex="1">
|
|
|
|
<!-- "Empty" notice, shown when there's no recordings available -->
|
|
<hbox id="empty-notice"
|
|
class="notice-container"
|
|
align="center"
|
|
pack="center"
|
|
flex="1">
|
|
<hbox class="devtools-toolbarbutton-group"
|
|
pack="center">
|
|
<toolbarbutton class="devtools-toolbarbutton record-button"
|
|
label="&profilerUI.startRecording;"
|
|
standalone="true"/>
|
|
</hbox>
|
|
</hbox>
|
|
|
|
<!-- Recording contents -->
|
|
<vbox id="performance-view-content" flex="1">
|
|
|
|
<!-- Overview graphs -->
|
|
<vbox id="overview-pane">
|
|
<hbox id="markers-overview"/>
|
|
<hbox id="memory-overview"/>
|
|
<hbox id="time-framerate"/>
|
|
</vbox>
|
|
|
|
<!-- Detail views and specific notice messages -->
|
|
<deck id="details-pane-container" flex="1">
|
|
|
|
<!-- "Loading" notice, shown when a recording is being loaded -->
|
|
<hbox id="loading-notice"
|
|
class="notice-container devtools-throbber"
|
|
align="center"
|
|
pack="center"
|
|
flex="1">
|
|
<label value="&profilerUI.loadingNotice;"/>
|
|
</hbox>
|
|
|
|
<!-- "Recording" notice, shown when a recording is in progress -->
|
|
<vbox id="recording-notice"
|
|
class="notice-container"
|
|
align="center"
|
|
pack="center"
|
|
flex="1">
|
|
<hbox class="devtools-toolbarbutton-group"
|
|
pack="center">
|
|
<toolbarbutton class="devtools-toolbarbutton record-button"
|
|
label="&profilerUI.stopRecording;"
|
|
standalone="true"/>
|
|
</hbox>
|
|
<label class="realtime-disabled-message">
|
|
Realtime recording data disabled on non-multiprocess Firefox.
|
|
</label>
|
|
<label class="realtime-disabled-on-e10s-message">
|
|
Enable multiprocess Firefox in preferences for rendering recording data in realtime.
|
|
</label>
|
|
<label class="buffer-status-message"
|
|
tooltiptext="&profilerUI.bufferStatusTooltip;"/>
|
|
<label class="buffer-status-message-full"
|
|
value="&profilerUI.bufferStatusFull;"/>
|
|
</vbox>
|
|
|
|
<!-- "Console" notice, shown when a console recording is in progress -->
|
|
<vbox id="console-recording-notice"
|
|
class="notice-container"
|
|
align="center"
|
|
pack="center"
|
|
flex="1">
|
|
<hbox class="console-profile-recording-notice">
|
|
<label value="&profilerUI.console.recordingNoticeStart;" />
|
|
<label class="console-profile-command" />
|
|
<label value="&profilerUI.console.recordingNoticeEnd;" />
|
|
</hbox>
|
|
<hbox class="console-profile-stop-notice">
|
|
<label value="&profilerUI.console.stopCommandStart;" />
|
|
<label class="console-profile-command" />
|
|
<label value="&profilerUI.console.stopCommandEnd;" />
|
|
</hbox>
|
|
<label class="realtime-disabled-message">
|
|
Realtime recording data disabled on non-multiprocess Firefox.
|
|
</label>
|
|
<label class="realtime-disabled-on-e10s-message">
|
|
Enable multiprocess Firefox in preferences for rendering recording data in realtime.
|
|
</label>
|
|
<label class="buffer-status-message"
|
|
tooltiptext="&profilerUI.bufferStatusTooltip;"/>
|
|
<label class="buffer-status-message-full"
|
|
value="&profilerUI.bufferStatusFull;"/>
|
|
</vbox>
|
|
|
|
<!-- Detail views -->
|
|
<deck id="details-pane" flex="1">
|
|
|
|
<!-- Waterfall -->
|
|
<hbox id="waterfall-view" flex="1">
|
|
<vbox flex="1">
|
|
<hbox id="waterfall-header" />
|
|
<vbox id="waterfall-breakdown" flex="1" />
|
|
</vbox>
|
|
<splitter class="devtools-side-splitter"/>
|
|
<vbox id="waterfall-details"
|
|
class="theme-sidebar"/>
|
|
</hbox>
|
|
|
|
<!-- JS Tree and JIT view -->
|
|
<hbox id="js-profile-view" flex="1">
|
|
<vbox id="js-calltree-view" flex="1">
|
|
<hbox class="call-tree-headers-container">
|
|
<label class="plain call-tree-header"
|
|
type="duration"
|
|
crop="end"
|
|
value="&profilerUI.table.totalDuration2;"
|
|
tooltiptext="&profilerUI.table.totalDuration.tooltip;"/>
|
|
<label class="plain call-tree-header"
|
|
type="percentage"
|
|
crop="end"
|
|
value="&profilerUI.table.totalPercentage;"
|
|
tooltiptext="&profilerUI.table.totalPercentage.tooltip;"/>
|
|
<label class="plain call-tree-header"
|
|
type="self-duration"
|
|
crop="end"
|
|
value="&profilerUI.table.selfDuration2;"
|
|
tooltiptext="&profilerUI.table.selfDuration.tooltip;"/>
|
|
<label class="plain call-tree-header"
|
|
type="self-percentage"
|
|
crop="end"
|
|
value="&profilerUI.table.selfPercentage;"
|
|
tooltiptext="&profilerUI.table.selfPercentage.tooltip;"/>
|
|
<label class="plain call-tree-header"
|
|
type="samples"
|
|
crop="end"
|
|
value="&profilerUI.table.samples;"
|
|
tooltiptext="&profilerUI.table.samples.tooltip;"/>
|
|
<label class="plain call-tree-header"
|
|
type="function"
|
|
crop="end"
|
|
value="&profilerUI.table.function;"
|
|
tooltiptext="&profilerUI.table.function.tooltip;"/>
|
|
</hbox>
|
|
<vbox class="call-tree-cells-container" flex="1"/>
|
|
</vbox>
|
|
|
|
<splitter id="js-call-tree-splitter" class="devtools-side-splitter"/>
|
|
|
|
<vbox id="jit-optimizations-view" hidden="true">
|
|
<toolbar id="jit-optimizations-toolbar" class="devtools-toolbar">
|
|
<hbox id="jit-optimizations-header">
|
|
<span class="jit-optimizations-title">&profilerUI.JITOptimizationsTitle;</span>
|
|
<span class="header-function-name" />
|
|
<span class="header-file opt-url debugger-link" />
|
|
<span class="header-line opt-line" />
|
|
</hbox>
|
|
</toolbar>
|
|
<vbox id="jit-optimizations-raw-view"></vbox>
|
|
</vbox>
|
|
</hbox>
|
|
|
|
<!-- JS FlameChart -->
|
|
<hbox id="js-flamegraph-view" flex="1">
|
|
</hbox>
|
|
|
|
<!-- Memory Tree -->
|
|
<vbox id="memory-calltree-view" flex="1">
|
|
<hbox class="call-tree-headers-container">
|
|
<label class="plain call-tree-header"
|
|
type="allocations"
|
|
crop="end"
|
|
value="&profilerUI.table.totalAlloc1;"
|
|
tooltiptext="&profilerUI.table.totalAlloc.tooltip;"/>
|
|
<label class="plain call-tree-header"
|
|
type="self-allocations"
|
|
crop="end"
|
|
value="&profilerUI.table.selfAlloc1;"
|
|
tooltiptext="&profilerUI.table.selfAlloc.tooltip;"/>
|
|
<label class="plain call-tree-header"
|
|
type="function"
|
|
crop="end"
|
|
value="&profilerUI.table.function;"/>
|
|
</hbox>
|
|
<vbox class="call-tree-cells-container" flex="1"/>
|
|
</vbox>
|
|
|
|
<!-- Memory FlameChart -->
|
|
<hbox id="memory-flamegraph-view" flex="1">
|
|
</hbox>
|
|
|
|
</deck>
|
|
</deck>
|
|
</vbox>
|
|
</deck>
|
|
</vbox>
|
|
</hbox>
|
|
</window>
|