From d4803010a6c07f262e3a326bde9c43f0f29aa5ff Mon Sep 17 00:00:00 2001 From: Nathan Harmata Date: Tue, 8 Sep 2015 20:03:22 +0000 Subject: Use AutoProfiler in the Bazel codebase. -- MOS_MIGRATED_REVID=102584924 --- .../build/lib/buildtool/ExecutionTool.java | 30 +++++++--------------- 1 file changed, 9 insertions(+), 21 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/buildtool') diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java index 8a9c9c3cd4..9c18133275 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java @@ -76,6 +76,7 @@ import com.google.devtools.build.lib.exec.OutputService; import com.google.devtools.build.lib.exec.SingleBuildFileCache; import com.google.devtools.build.lib.exec.SymlinkTreeStrategy; import com.google.devtools.build.lib.packages.Rule; +import com.google.devtools.build.lib.profiler.AutoProfiler; import com.google.devtools.build.lib.profiler.ProfilePhase; import com.google.devtools.build.lib.profiler.Profiler; import com.google.devtools.build.lib.profiler.ProfilerTask; @@ -89,7 +90,6 @@ import com.google.devtools.build.lib.skyframe.Builder; import com.google.devtools.build.lib.skyframe.SkyframeExecutor; import com.google.devtools.build.lib.syntax.Label; import com.google.devtools.build.lib.util.AbruptExitException; -import com.google.devtools.build.lib.util.BlazeClock; import com.google.devtools.build.lib.util.ExitCode; import com.google.devtools.build.lib.util.LoggingUtil; import com.google.devtools.build.lib.util.io.OutErr; @@ -472,11 +472,11 @@ public class ExecutionTool { saveCaches(actionCache); } - long startTime = Profiler.nanoTimeMaybe(); - determineSuccessfulTargets(buildResult, configuredTargets, builtTargets, timer); - showBuildResult(request, buildResult, configuredTargets, analysisResult.getAspects()); - Preconditions.checkNotNull(buildResult.getSuccessfulTargets()); - Profiler.instance().logSimpleTask(startTime, ProfilerTask.INFO, "Show results"); + try (AutoProfiler p = AutoProfiler.profiled("Show results", ProfilerTask.INFO)) { + determineSuccessfulTargets(buildResult, configuredTargets, builtTargets, timer); + showBuildResult(request, buildResult, configuredTargets, analysisResult.getAspects()); + Preconditions.checkNotNull(buildResult.getSuccessfulTargets()); + } if (explanationHandler != null) { uninstallExplanationHandler(explanationHandler); } @@ -541,9 +541,7 @@ public class ExecutionTool { * Prepare for a local output build. */ private void startLocalOutputBuild() throws ExecutorInitException { - long startTime = Profiler.nanoTimeMaybe(); - - try { + try (AutoProfiler p = AutoProfiler.profiled("Starting local output build", ProfilerTask.INFO)) { Path outputPath = runtime.getOutputPath(); Path localOutputPath = runtime.getDirectories().getLocalOutputPath(); @@ -559,9 +557,6 @@ public class ExecutionTool { throw new ExecutorInitException("Couldn't handle local output directory symlinks", e); } } - } finally { - Profiler.instance().logSimpleTask(startTime, ProfilerTask.INFO, - "Starting local output build"); } } @@ -879,21 +874,14 @@ public class ExecutionTool { long actionCacheSizeInBytes = 0; long actionCacheSaveTime; - long startTime = BlazeClock.nanoTime(); + AutoProfiler p = AutoProfiler.profiledAndLogged("Saving action cache", ProfilerTask.INFO, LOG); try { - LOG.info("saving action cache..."); actionCacheSizeInBytes = actionCache.save(); - LOG.info("action cache saved"); } catch (IOException e) { getReporter().handle(Event.error("I/O error while writing action log: " + e.getMessage())); } finally { - long stopTime = BlazeClock.nanoTime(); - actionCacheSaveTime = - TimeUnit.MILLISECONDS.convert(stopTime - startTime, TimeUnit.NANOSECONDS); - Profiler.instance().logSimpleTask(startTime, stopTime, - ProfilerTask.INFO, "Saving action cache"); + actionCacheSaveTime = p.completeAndGetElapsedTimeNanos(); } - runtime.getEventBus().post(new CachesSavedEvent( actionCacheSaveTime, actionCacheSizeInBytes)); } -- cgit v1.2.3