diff options
author | Nathan Harmata <nharmata@google.com> | 2017-02-14 20:47:50 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-02-15 10:04:12 +0000 |
commit | fee192875bf8bd0923953bf4f71e9b5561e2f224 (patch) | |
tree | d4940c28808ca4c22f9ddf944d6e61d65f0c5f91 /src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java | |
parent | 49705e55efe32c109994e9eb7dbcc39b559d5baf (diff) |
Some minor logging improvements related to diff awareness:
(i) Log [the first 100] external [non external-repo] file paths when we encounter them in skyframe [when externalFileAction is not ASSUME_NON_EXISTENT_AND_IMMUTABLE_FOR_EXTERNAL_PATHS]. These caveats are to prevent log spam.
(ii) Fix grammar when logging the results of handleDiffsWithMissingDiffInformation in the case when all package paths have known diff information and we're merely checking external/output/external-repo files.
(iii) Log the purpose of each skyframe graph scan we do (see (ii)).
--
PiperOrigin-RevId: 147508404
MOS_MIGRATED_REVID=147508404
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java index e757c27574..efdff45af3 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java @@ -24,13 +24,19 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.RootedPath; import com.google.devtools.build.skyframe.SkyFunction; import java.io.IOException; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; +import java.util.logging.Logger; /** Common utilities for dealing with paths outside the package roots. */ public class ExternalFilesHelper { + private static final Logger LOG = Logger.getLogger(ExternalFilesHelper.class.getName()); + private static final int MAX_NUM_EXTERNAL_FILES_TO_LOG = 100; + private final AtomicReference<PathPackageLocator> pkgLocator; private final ExternalFileAction externalFileAction; private final BlazeDirectories directories; + private final AtomicInteger numExternalFilesLogged = new AtomicInteger(0); // These variables are set to true from multiple threads, but only read in the main thread. // So volatility or an AtomicBoolean is not needed. @@ -179,6 +185,10 @@ public class ExternalFilesHelper { == ExternalFileAction.ASSUME_NON_EXISTENT_AND_IMMUTABLE_FOR_EXTERNAL_PATHS) { throw new NonexistentImmutableExternalFileException(); } + if (fileType == FileType.EXTERNAL + && numExternalFilesLogged.incrementAndGet() < MAX_NUM_EXTERNAL_FILES_TO_LOG) { + LOG.info("Encountered an external path " + rootedPath); + } return; } Preconditions.checkState( |