blob: e3f2f91793c28a83a3ace455d2e3ec5d7b25d22a [file] [log] [blame]
// Copyright 2014 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;
/**
* Build phase markers. Used as a separators between different build phases.
*/
public enum ProfilePhase {
LAUNCH("launch", "Launch Blaze"),
INIT("init", "Initialize command"),
TARGET_PATTERN_EVAL("target pattern evaluation", "Evaluate target patterns"),
ANALYZE("interleaved loading-and-analysis", "Load and analyze dependencies"),
ANALYZE_AND_EXECUTE(
"interleaved loading, analysis and execution",
"Load, analyze dependencies and build artifacts"),
LICENSE("license checking", "Analyze licenses"),
PREPARE("preparation", "Prepare for build"),
EXECUTE("execution", "Build artifacts"),
FINISH("finish", "Complete build"),
UNKNOWN("unknown", "unknown");
/** Short name for the phase */
public final String nick;
/** Human readable description for the phase. */
public final String description;
ProfilePhase(String nick, String description) {
this.nick = nick;
this.description = description;
}
public static ProfilePhase getPhaseFromDescription(String description) {
for (ProfilePhase profilePhase : ProfilePhase.values()) {
if (profilePhase.description.equals(description)) {
return profilePhase;
}
}
return UNKNOWN;
}
}