aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2016-05-19 12:30:50 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-05-19 16:28:12 +0000
commit3930d34af88b6b2b052148b06318b012d84ab8df (patch)
tree52b65a5d115da70e739438ba2dccb9a14551d430 /src
parent0ab1f5f1f7c2d8d3dace22c5f779cd44acbdb6d4 (diff)
LoadingPhaseStartedEvent: also provide the counter of packages loaded
Even during analysis, more packages will be loaded. However, those are not tracked by the LoadingProgressReceiver. Therefore, provide a reference to the AtomicInteger counting the total number of packages loaded already. -- Change-Id: Ia546a2fec4afe6fd1bd69448b14ba889c68ae12c Reviewed-on: https://bazel-review.googlesource.com/#/c/3644 MOS_MIGRATED_REVID=122722688
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/LoadingPhaseStartedEvent.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java2
2 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LoadingPhaseStartedEvent.java b/src/main/java/com/google/devtools/build/lib/skyframe/LoadingPhaseStartedEvent.java
index f62c91b0dc..e3e7444688 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/LoadingPhaseStartedEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/LoadingPhaseStartedEvent.java
@@ -13,23 +13,31 @@
// limitations under the License.
package com.google.devtools.build.lib.skyframe;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* This event is fired at the beginning of the loading phase.
*/
public final class LoadingPhaseStartedEvent {
final LoadingProgressReceiver loadingProgressReceiver;
+ final AtomicInteger numPackagesLoaded;
/**
* Construct the event
*
* @param loadingProgressReceiver a receiver that gets updated about the progress of loading
*/
- public LoadingPhaseStartedEvent(LoadingProgressReceiver loadingProgressReceiver) {
+ public LoadingPhaseStartedEvent(
+ LoadingProgressReceiver loadingProgressReceiver, AtomicInteger numPackagesLoaded) {
this.loadingProgressReceiver = loadingProgressReceiver;
+ this.numPackagesLoaded = numPackagesLoaded;
}
public LoadingProgressReceiver getLoadingProgressReceiver() {
return loadingProgressReceiver;
}
+
+ public AtomicInteger getNumPackagesLoaded() {
+ return numPackagesLoaded;
+ }
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index beea6b5054..d118eafbaf 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -1727,7 +1727,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
TestFilter.forOptions(options, eventHandler, ruleClassNames));
EvaluationResult<TargetPatternPhaseValue> evalResult;
LoadingProgressReceiver loadingProgressReceiver = new LoadingProgressReceiver();
- eventBus.post(new LoadingPhaseStartedEvent(loadingProgressReceiver));
+ eventBus.post(new LoadingPhaseStartedEvent(loadingProgressReceiver, numPackagesLoaded));
progressReceiver.loadingProgressReceiver = loadingProgressReceiver;
try {
evalResult =