aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2016-05-19 14:10:50 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-05-19 18:02:05 +0000
commit4cf6b6ca54ca36d03ce53a565c44dc6c0ebfa150 (patch)
treecda45d5b186a439e1a100d6c47fbfadfbf17db2b /src/main/java/com
parent438ee29d725a473f3f4586ec9a005e988021e714 (diff)
experimental_ui: show number of packages loaded during analysis
After the initial loading phase, further packages are loaded during analysis. Show in the experimental UI the total number of packages loaded during analysis phase to indicate at least some progress. -- Change-Id: I345c6f806591e70e4397fc3e3365718dde95d7d2 Reviewed-on: https://bazel-review.googlesource.com/#/c/3645 MOS_MIGRATED_REVID=122728719
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java b/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java
index 7beff75c70..080029f52b 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java
@@ -36,6 +36,7 @@ import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Map;
import java.util.TreeMap;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* An experimental state tracker for the new experimental UI.
@@ -70,6 +71,7 @@ class ExperimentalStateTracker {
private ExecutionProgressReceiver executionProgressReceiver;
private LoadingProgressReceiver loadingProgressReceiver;
+ private AtomicInteger numPackagesLoaded;
ExperimentalStateTracker(Clock clock, int targetWidth) {
this.runningActions = new ArrayDeque<>();
@@ -92,6 +94,7 @@ class ExperimentalStateTracker {
void loadingStarted(LoadingPhaseStartedEvent event) {
status = null;
loadingProgressReceiver = event.getLoadingProgressReceiver();
+ numPackagesLoaded = event.getNumPackagesLoaded();
}
void loadingComplete(LoadingPhaseCompleteEvent event) {
@@ -107,6 +110,7 @@ class ExperimentalStateTracker {
void analysisComplete(AnalysisPhaseCompleteEvent event) {
status = null;
+ numPackagesLoaded = null;
}
void progressReceiverAvailable(ExecutionProgressReceiverAvailableEvent event) {
@@ -263,6 +267,9 @@ class ExperimentalStateTracker {
* bar shows time information relative to the current time.
*/
boolean progressBarTimeDependent() {
+ if (numPackagesLoaded != null) {
+ return true;
+ }
if (status != null) {
return false;
}
@@ -313,6 +320,9 @@ class ExperimentalStateTracker {
terminalWriter.failStatus();
}
terminalWriter.append(status + ":").normal().append(" " + additionalMessage);
+ if (numPackagesLoaded != null) {
+ terminalWriter.append(" (" + numPackagesLoaded.get() + " packages loaded)");
+ }
return;
}
if (loadingProgressReceiver != null) {