| // Copyright 2024 The Bazel Authors. All rights reserved. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| package com.google.devtools.build.lib.profiler; |
| |
| import com.google.devtools.build.lib.skybridge.SkybridgeInterface; |
| import javax.annotation.Nullable; |
| |
| /** Describes counter series to be logged into profile. */ |
| @SkybridgeInterface |
| public interface CounterSeriesTask { |
| /** |
| * The lane name for the counter series. Series with the same lane name should be stacked when |
| * displaying. |
| */ |
| String laneName(); |
| |
| /** The name for the counter series. */ |
| String seriesName(); |
| |
| /** |
| * The color for the counter series. If {@code null}, the profile viewer will pick a color |
| * automatically. |
| */ |
| @Nullable |
| Color color(); |
| |
| /** The reserved color for rendering the bar chart. */ |
| public static final class Color { |
| // Pick acceptable counter colors manually, unfortunately we have to pick from these |
| // weird reserved names from |
| // https://github.com/catapult-project/catapult/blob/master/tracing/tracing/base/color_scheme.html |
| public static final Color THREAD_STATE_UNINTERRUPTIBLE = |
| new Color("thread_state_uninterruptible"); |
| public static final Color THREAD_STATE_IOWAIT = new Color("thread_state_iowait"); |
| public static final Color THREAD_STATE_RUNNING = new Color("thread_state_running"); |
| public static final Color THREAD_STATE_RUNNABLE = new Color("thread_state_runnable"); |
| public static final Color THREAD_STATE_SLEEPING = new Color("thread_state_sleeping"); |
| public static final Color THREAD_STATE_UNKNOWN = new Color("thread_state_unknown"); |
| public static final Color BACKGROUND_MEMORY_DUMP = new Color("background_memory_dump"); |
| public static final Color LIGHT_MEMORY_DUMP = new Color("light_memory_dump"); |
| public static final Color DETAILED_MEMORY_DUMP = new Color("detailed_memory_dump"); |
| public static final Color VSYNC_HIGHLIGHT_COLOR = new Color("vsync_highlight_color"); |
| public static final Color GENERIC_WORK = new Color("generic_work"); |
| public static final Color GOOD = new Color("good"); |
| public static final Color BAD = new Color("bad"); |
| public static final Color TERRIBLE = new Color("terrible"); |
| public static final Color BLACK = new Color("black"); |
| public static final Color GREY = new Color("grey"); |
| public static final Color WHITE = new Color("white"); |
| public static final Color YELLOW = new Color("yellow"); |
| public static final Color OLIVE = new Color("olive"); |
| public static final Color RAIL_RESPONSE = new Color("rail_response"); |
| public static final Color RAIL_ANIMATION = new Color("rail_animation"); |
| public static final Color RAIL_IDLE = new Color("rail_idle"); |
| public static final Color RAIL_LOAD = new Color("rail_load"); |
| public static final Color STARTUP = new Color("startup"); |
| public static final Color HEAP_DUMP_STACK_FRAME = new Color("heap_dump_stack_frame"); |
| public static final Color HEAP_DUMP_OBJECT_TYPE = new Color("heap_dump_object_type"); |
| public static final Color HEAP_DUMP_CHILD_NODE_ARROW = new Color("heap_dump_child_node_arrow"); |
| public static final Color CQ_BUILD_RUNNING = new Color("cq_build_running"); |
| public static final Color CQ_BUILD_PASSED = new Color("cq_build_passed"); |
| public static final Color CQ_BUILD_FAILED = new Color("cq_build_failed"); |
| public static final Color CQ_BUILD_ABANDONED = new Color("cq_build_abandoned"); |
| public static final Color CQ_BUILD_ATTEMPT_RUNNIG = new Color("cq_build_attempt_runnig"); |
| public static final Color CQ_BUILD_ATTEMPT_PASSED = new Color("cq_build_attempt_passed"); |
| public static final Color CQ_BUILD_ATTEMPT_FAILED = new Color("cq_build_attempt_failed"); |
| |
| private final String value; |
| |
| private Color(String value) { |
| this.value = value; |
| } |
| |
| public String value() { |
| return value; |
| } |
| } |
| } |