From 18c8839c09d766f706118d7eb681c7d4b28b4bd4 Mon Sep 17 00:00:00 2001 From: Chi Wang Date: Mon, 8 Jan 2024 23:24:00 -0800 Subject: [PATCH] Add profiles to the call sites of `updateRunfiles` To make it easier to debug https://github.com/bazelbuild/bazel/issues/20748. Closes #20783. PiperOrigin-RevId: 596824058 Change-Id: I1dd6b940c30bd6c4b99904d19667f48a389b3a41 --- .../devtools/build/lib/exec/local/LocalSpawnRunner.java | 6 ++++-- .../google/devtools/build/lib/worker/WorkerSpawnRunner.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunner.java b/src/main/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunner.java index 39282e6a206db7..916b5b41ba052c 100644 --- a/src/main/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunner.java +++ b/src/main/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunner.java @@ -131,8 +131,10 @@ public SpawnResult exec(Spawn spawn, SpawnExecutionContext context) SpawnMetrics.Builder spawnMetrics = SpawnMetrics.Builder.forLocalExec(); Stopwatch totalTimeStopwatch = Stopwatch.createStarted(); Stopwatch setupTimeStopwatch = Stopwatch.createStarted(); - runfilesTreeUpdater.updateRunfiles( - spawn.getRunfilesSupplier(), spawn.getEnvironment(), context.getFileOutErr()); + try (var s = Profiler.instance().profile("updateRunfiles")) { + runfilesTreeUpdater.updateRunfiles( + spawn.getRunfilesSupplier(), spawn.getEnvironment(), context.getFileOutErr()); + } if (Spawns.shouldPrefetchInputsForLocalExecution(spawn)) { context.prefetchInputsAndWait(); } diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java index d623cedfb2f91a..011582a7d1b876 100644 --- a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java +++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java @@ -177,8 +177,10 @@ public SpawnResult exec(Spawn spawn, SpawnExecutionContext context) String.format( "%s worker %s", spawn.getMnemonic(), spawn.getResourceOwner().describe()))) { - runfilesTreeUpdater.updateRunfiles( - spawn.getRunfilesSupplier(), spawn.getEnvironment(), context.getFileOutErr()); + try (var s = Profiler.instance().profile("updateRunfiles")) { + runfilesTreeUpdater.updateRunfiles( + spawn.getRunfilesSupplier(), spawn.getEnvironment(), context.getFileOutErr()); + } InputMetadataProvider inputFileCache = context.getInputMetadataProvider();