From f92e007b08057223e9ce213a335d2eaac09cf6bc Mon Sep 17 00:00:00 2001 From: twerth Date: Tue, 20 Apr 2021 06:31:37 -0700 Subject: [PATCH] Synchronize access to time series. PiperOrigin-RevId: 369426995 --- .../com/google/devtools/build/lib/profiler/Profiler.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java index 1e332e870f270e..dea7c924f06e97 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java @@ -725,9 +725,11 @@ private void completeTask(TaskData data) { if (shouldRecordTask) { if (actionCountTimeSeries != null && countAction(data.type, data)) { - actionCountTimeSeries.addRange( - Duration.ofNanos(data.startTimeNanos).toMillis(), - Duration.ofNanos(endTime).toMillis()); + synchronized (this) { + actionCountTimeSeries.addRange( + Duration.ofNanos(data.startTimeNanos).toMillis(), + Duration.ofNanos(endTime).toMillis()); + } } SlowestTaskAggregator aggregator = slowestTasks[data.type.ordinal()]; if (aggregator != null) {