diff options
author | 2016-05-19 14:10:50 +0000 | |
---|---|---|
committer | 2016-05-19 18:02:05 +0000 | |
commit | 4cf6b6ca54ca36d03ce53a565c44dc6c0ebfa150 (patch) | |
tree | cda45d5b186a439e1a100d6c47fbfadfbf17db2b /src/main/java/com | |
parent | 438ee29d725a473f3f4586ec9a005e988021e714 (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.java | 10 |
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) { |