Copy as Markdown

Other Tools

/* 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/. */
#ifndef baseprofiler_ProfilingCategoryList_h
#define baseprofiler_ProfilingCategoryList_h
/* This file is generated by generate_profiling_categories.py from
profiling_categories.yaml. DO NOT EDIT! */
// Profiler 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.
//
// The list of available color names for categories is:
// transparent
// blue
// green
// grey
// lightblue
// magenta
// orange
// purple
// yellow
// clang-format off
#define MOZ_PROFILING_CATEGORY_LIST(BEGIN_CATEGORY, SUBCATEGORY, END_CATEGORY) \
BEGIN_CATEGORY(IDLE, "Idle", "transparent") \
SUBCATEGORY(IDLE, IDLE, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(OTHER, "Other", "grey") \
SUBCATEGORY(OTHER, OTHER, "Other") \
SUBCATEGORY(OTHER, OTHER_PreferenceRead, "Preference Read") \
SUBCATEGORY(OTHER, OTHER_Profiling, "Profiling") \
END_CATEGORY \
BEGIN_CATEGORY(TEST, "Test", "darkgray") \
SUBCATEGORY(TEST, TEST, "Test") \
END_CATEGORY \
BEGIN_CATEGORY(LAYOUT, "Layout", "purple") \
SUBCATEGORY(LAYOUT, LAYOUT, "Other") \
SUBCATEGORY(LAYOUT, LAYOUT_FrameConstruction, "Frame construction") \
SUBCATEGORY(LAYOUT, LAYOUT_Reflow, "Reflow") \
SUBCATEGORY(LAYOUT, LAYOUT_CSSParsing, "CSS parsing") \
SUBCATEGORY(LAYOUT, LAYOUT_SelectorQuery, "Selector query") \
SUBCATEGORY(LAYOUT, LAYOUT_StyleComputation, "Style computation") \
SUBCATEGORY(LAYOUT, LAYOUT_Destroy, "Layout cleanup") \
END_CATEGORY \
BEGIN_CATEGORY(JS, "JavaScript", "yellow") \
SUBCATEGORY(JS, JS, "Other") \
SUBCATEGORY(JS, JS_Parsing, "Parsing") \
SUBCATEGORY(JS, JS_BaselineCompilation, "JIT Compile (baseline)") \
SUBCATEGORY(JS, JS_IonCompilation, "JIT Compile (ion)") \
SUBCATEGORY(JS, JS_Interpreter, "Interpreter") \
SUBCATEGORY(JS, JS_BaselineInterpret, "JIT (baseline-interpreter)") \
SUBCATEGORY(JS, JS_Baseline, "JIT (baseline)") \
SUBCATEGORY(JS, JS_IonMonkey, "JIT (ion)") \
SUBCATEGORY(JS, JS_Builtin, "Builtin API") \
SUBCATEGORY(JS, JS_Wasm, "Wasm") \
END_CATEGORY \
BEGIN_CATEGORY(GCCC, "GC / CC", "orange") \
SUBCATEGORY(GCCC, GCCC, "Other") \
SUBCATEGORY(GCCC, GCCC_MinorGC, "Minor GC") \
SUBCATEGORY(GCCC, GCCC_MajorGC, "Major GC (Other)") \
SUBCATEGORY(GCCC, GCCC_MajorGC_Mark, "Major GC (Mark)") \
SUBCATEGORY(GCCC, GCCC_MajorGC_Sweep, "Major GC (Sweep)") \
SUBCATEGORY(GCCC, GCCC_MajorGC_Compact, "Major GC (Compact)") \
SUBCATEGORY(GCCC, GCCC_UnmarkGray, "Unmark Gray") \
SUBCATEGORY(GCCC, GCCC_Barrier, "Barrier") \
SUBCATEGORY(GCCC, GCCC_FreeSnowWhite, "CC (Free Snow White)") \
SUBCATEGORY(GCCC, GCCC_BuildGraph, "CC (Build Graph)") \
SUBCATEGORY(GCCC, GCCC_ScanRoots, "CC (Scan Roots)") \
SUBCATEGORY(GCCC, GCCC_CollectWhite, "CC (Collect White)") \
SUBCATEGORY(GCCC, GCCC_Finalize, "CC (Finalize)") \
END_CATEGORY \
BEGIN_CATEGORY(NETWORK, "Network", "lightblue") \
SUBCATEGORY(NETWORK, NETWORK, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(GRAPHICS, "Graphics", "green") \
SUBCATEGORY(GRAPHICS, GRAPHICS, "Other") \
SUBCATEGORY(GRAPHICS, GRAPHICS_DisplayListBuilding, "DisplayList building") \
SUBCATEGORY(GRAPHICS, GRAPHICS_DisplayListMerging, "DisplayList merging") \
SUBCATEGORY(GRAPHICS, GRAPHICS_LayerBuilding, "Layer building") \
SUBCATEGORY(GRAPHICS, GRAPHICS_TileAllocation, "Tile allocation") \
SUBCATEGORY(GRAPHICS, GRAPHICS_WRDisplayList, "WebRender display list") \
SUBCATEGORY(GRAPHICS, GRAPHICS_Rasterization, "Rasterization") \
SUBCATEGORY(GRAPHICS, GRAPHICS_FlushingAsyncPaints, "Flushing async paints") \
SUBCATEGORY(GRAPHICS, GRAPHICS_ImageDecoding, "Image decoding") \
END_CATEGORY \
BEGIN_CATEGORY(DOM, "DOM", "blue") \
SUBCATEGORY(DOM, DOM, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(JAVA_ANDROID, "Android", "yellow") \
SUBCATEGORY(JAVA_ANDROID, JAVA_ANDROID, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(JAVA_ANDROIDX, "AndroidX", "orange") \
SUBCATEGORY(JAVA_ANDROIDX, JAVA_ANDROIDX, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(JAVA_LANGUAGE, "Java", "blue") \
SUBCATEGORY(JAVA_LANGUAGE, JAVA_LANGUAGE, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(JAVA_MOZILLA, "Mozilla", "green") \
SUBCATEGORY(JAVA_MOZILLA, JAVA_MOZILLA, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(JAVA_KOTLIN, "Kotlin", "purple") \
SUBCATEGORY(JAVA_KOTLIN, JAVA_KOTLIN, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(JAVA_BLOCKED, "Blocked", "lightblue") \
SUBCATEGORY(JAVA_BLOCKED, JAVA_BLOCKED, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(IPC, "IPC", "lightgreen") \
SUBCATEGORY(IPC, IPC, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(MEDIA, "Media", "orange") \
SUBCATEGORY(MEDIA, MEDIA, "Other") \
SUBCATEGORY(MEDIA, MEDIA_CUBEB, "Cubeb") \
SUBCATEGORY(MEDIA, MEDIA_PLAYBACK, "Playback") \
SUBCATEGORY(MEDIA, MEDIA_RT, "Real-time rendering") \
END_CATEGORY \
BEGIN_CATEGORY(A11Y, "Accessibility", "brown") \
SUBCATEGORY(A11Y, A11Y, "Other") \
END_CATEGORY \
BEGIN_CATEGORY(PROFILER, "Profiler", "lightred") \
SUBCATEGORY(PROFILER, PROFILER, "Other") \
END_CATEGORY
// clang-format on
#endif // baseprofiler_ProfilingCategoryList_h