diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /mozglue/baseprofiler/build/profiling_categories.yaml | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mozglue/baseprofiler/build/profiling_categories.yaml')
-rw-r--r-- | mozglue/baseprofiler/build/profiling_categories.yaml | 287 |
1 files changed, 287 insertions, 0 deletions
diff --git a/mozglue/baseprofiler/build/profiling_categories.yaml b/mozglue/baseprofiler/build/profiling_categories.yaml new file mode 100644 index 0000000000..8a143a078d --- /dev/null +++ b/mozglue/baseprofiler/build/profiling_categories.yaml @@ -0,0 +1,287 @@ +# 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/. + +# Profiling categories +# ==================== +# This file defines all profiling categories with their sub-categories. It is +# parsed by generate_profiling_categories.py at build time to create +# ProfilingCategoryList.h and profiling_categories.rs files. +# +# Profiling sub-categories are applied to each sampled stack to describe the +# type of workload that the CPU is busy with. Only one sub-category can be +# assigned so be mindful that these are non-overlapping. The active category is +# set by pushing a label to the profiling stack, or by the unwinder in cases +# such as JITs. A profile sample in arbitrary C++/Rust will typically be +# categorized based on the top of the label stack. +# +# Each category consists of a name and a set of attributes that are described below: +# +# name [required] +# ==== +# Name of the profiling category. This will be used in the C++ enum fields (not +# by Rust). +# +# label [required] +# ===== +# Label of the profiling category. This a more human readable string for the +# category. Label will be displayed in the Firefox Profiler front-end. But also +# this will be used as a Rust enum field (with non-alphanumeric characters +# removed) because it's more idiomatic for Rust enums than name fields (which +# are snake cased fields with all caps, which is not idiomatic to rust enum +# field). +# +# color [required] +# ===== +# Color that this category will show up as in the Firefox Profiler front-end. +# The list of available color names for categories is: +# - transparent +# - blue +# - green +# - grey +# - lightblue +# - magenta +# - orange +# - purple +# - yellow +# +# subcategories [required] +# ============= +# A list of sub-categories that belong to this category. +# There must be at least one sub-category for each category and there must be at +# least one category with the same name as the category to indicate the default +# sub-category. Each sub-category must have name and label attributes. +# +# name attribute should either be the same as the category (for default +# sub-category) or should start with parent category name + underscore +# (e.g. JS_Parsing). +# +# label attribute has the same purpose as parent category label attribute. +# +# For example: +# - name: JS +# subcategories: +# - name: JS +# label: Other +# - name: JS_Parsing +# label: Parsing +# +# Note that the first sub-category has the same name with the category. This is +# the default sub-category. Also note the other sub-categories starting with the +# category name + underscore. +# + +- name: IDLE + label: Idle + color: transparent + subcategories: + - name: IDLE + label: Other + +- name: OTHER + label: Other + color: grey + subcategories: + - name: OTHER + label: Other + - name: OTHER_PreferenceRead + label: Preference Read + - name: OTHER_Profiling + label: Profiling + +- name: TEST + label: Test + color: darkgray + subcategories: + - name: TEST + label: Test + +- name: LAYOUT + label: Layout + color: purple + subcategories: + - name: LAYOUT + label: Other + - name: LAYOUT_FrameConstruction + label: Frame construction + - name: LAYOUT_Reflow + label: Reflow + - name: LAYOUT_CSSParsing + label: CSS parsing + - name: LAYOUT_SelectorQuery + label: Selector query + - name: LAYOUT_StyleComputation + label: Style computation + - name: LAYOUT_Destroy + label: Layout cleanup + +- name: JS + label: JavaScript + color: yellow + subcategories: + - name: JS + label: Other + - name: JS_Parsing + label: Parsing + - name: JS_BaselineCompilation + label: JIT Compile (baseline) + - name: JS_IonCompilation + label: JIT Compile (ion) + - name: JS_Interpreter + label: Interpreter + - name: JS_BaselineInterpret + label: JIT (baseline-interpreter) + - name: JS_Baseline + label: JIT (baseline) + - name: JS_IonMonkey + label: JIT (ion) + - name: JS_Builtin + label: Builtin API + - name: JS_Wasm + label: Wasm + +- name: GCCC + label: GC / CC + color: orange + subcategories: + - name: GCCC + label: Other + - name: GCCC_MinorGC + label: Minor GC + - name: GCCC_MajorGC + label: Major GC (Other) + - name: GCCC_MajorGC_Mark + label: Major GC (Mark) + - name: GCCC_MajorGC_Sweep + label: Major GC (Sweep) + - name: GCCC_MajorGC_Compact + label: Major GC (Compact) + - name: GCCC_UnmarkGray + label: Unmark Gray + - name: GCCC_Barrier + label: Barrier + - name: GCCC_FreeSnowWhite + label: CC (Free Snow White) + - name: GCCC_BuildGraph + label: CC (Build Graph) + - name: GCCC_ScanRoots + label: CC (Scan Roots) + - name: GCCC_CollectWhite + label: CC (Collect White) + - name: GCCC_Finalize + label: CC (Finalize) + +- name: NETWORK + label: Network + color: lightblue + subcategories: + - name: NETWORK + label: Other + +- name: GRAPHICS + label: Graphics + color: green + subcategories: + - name: GRAPHICS + label: Other + - name: GRAPHICS_DisplayListBuilding + label: DisplayList building + - name: GRAPHICS_DisplayListMerging + label: DisplayList merging + - name: GRAPHICS_LayerBuilding + label: Layer building + - name: GRAPHICS_TileAllocation + label: Tile allocation + - name: GRAPHICS_WRDisplayList + label: WebRender display list + - name: GRAPHICS_Rasterization + label: Rasterization + - name: GRAPHICS_FlushingAsyncPaints + label: Flushing async paints + - name: GRAPHICS_ImageDecoding + label: Image decoding + +- name: DOM + label: DOM + color: blue + subcategories: + - name: DOM + label: Other + +- name: JAVA_ANDROID + label: Android + color: yellow + subcategories: + - name: JAVA_ANDROID + label: Other + +- name: JAVA_ANDROIDX + label: AndroidX + color: orange + subcategories: + - name: JAVA_ANDROIDX + label: Other + +- name: JAVA_LANGUAGE + label: Java + color: blue + subcategories: + - name: JAVA_LANGUAGE + label: Other + +- name: JAVA_MOZILLA + label: Mozilla + color: green + subcategories: + - name: JAVA_MOZILLA + label: Other + +- name: JAVA_KOTLIN + label: Kotlin + color: purple + subcategories: + - name: JAVA_KOTLIN + label: Other + +- name: JAVA_BLOCKED + label: Blocked + color: lightblue + subcategories: + - name: JAVA_BLOCKED + label: Other + +- name: IPC + label: IPC + color: lightgreen + subcategories: + - name: IPC + label: Other + +- name: MEDIA + label: Media + color: orange + subcategories: + - name: MEDIA + label: Other + - name: MEDIA_CUBEB + label: Cubeb + - name: MEDIA_PLAYBACK + label: Playback + - name: MEDIA_RT + label: Real-time rendering + +# We don't name this category ACCESSIBILITY +# because it's already defined as a macro. +- name: A11Y + label: Accessibility + color: brown + subcategories: + - name: A11Y + label: Other + +- name: PROFILER + label: Profiler + color: lightred + subcategories: + - name: PROFILER + label: Other |