From af66f272ea91ce1a132dc40260247ec720741270 Mon Sep 17 00:00:00 2001 From: Alain Kermis Date: Fri, 19 Jul 2024 16:01:17 +0200 Subject: SONAR-22479 Implement after() method for providers --- .../src/main/java/org/sonar/telemetry/TelemetryDaemon.java | 3 +++ .../main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java | 4 ++++ 2 files changed, 7 insertions(+) (limited to 'server/sonar-telemetry/src') diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDaemon.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDaemon.java index a528094695a..f920ff8956a 100644 --- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDaemon.java +++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDaemon.java @@ -169,6 +169,9 @@ public class TelemetryDaemon extends AbstractStoppableScheduledExecutorServiceIm context.getMetricsToUpdate().forEach(toUpdate -> dbClient.telemetryMetricsSentDao().upsert(dbSession, toUpdate)); dbSession.commit(); } + + // Finally, run after tasks for all providers + telemetryMetricsLoader.runProviderAfterTasks(); } private void uploadLegacyTelemetry() throws IOException { diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java index f232fe82fce..aeb5f3c3074 100644 --- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java +++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java @@ -90,6 +90,10 @@ public class TelemetryMetricsLoader { } } + public void runProviderAfterTasks() { + this.providers.forEach(TelemetryDataProvider::after); + } + private Set retrieveBaseMessages(Map> metrics) { return metrics.entrySet().stream() // we do not want to send payloads with zero metrics -- cgit v1.2.3