From 0fab66f445fc1807a031a22d798cf04e66ef4e9e Mon Sep 17 00:00:00 2001 From: Alexander Bubenchikov Date: Thu, 19 Sep 2024 17:14:26 +0200 Subject: [PATCH] [maven] add new api to maven server telemetry GitOrigin-RevId: 5e20b4895bcdad13a86efc3a4167215ae7e280ed --- .../telemetry/MavenServerOpenTelemetry.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/plugins/maven/maven-server-telemetry/src/com/intellij/maven/server/telemetry/MavenServerOpenTelemetry.java b/plugins/maven/maven-server-telemetry/src/com/intellij/maven/server/telemetry/MavenServerOpenTelemetry.java index a31cbd795a30..a6c46145b596 100644 --- a/plugins/maven/maven-server-telemetry/src/com/intellij/maven/server/telemetry/MavenServerOpenTelemetry.java +++ b/plugins/maven/maven-server-telemetry/src/com/intellij/maven/server/telemetry/MavenServerOpenTelemetry.java @@ -33,6 +33,11 @@ public interface MavenServerOpenTelemetry { List execute(boolean inParallel, @NotNull Collection collection, @NotNull Function method); + List executeWithSpan(@NotNull String spanName, + boolean inParallel, + @NotNull Collection collection, + @NotNull Function method); + byte[] shutdown(); static MavenServerOpenTelemetry of(@NotNull LongRunningTaskInput input) { @@ -56,6 +61,14 @@ final class MavenServerOpenTelemetryNoop implements MavenServerOpenTelemetry { return ParallelRunnerForServer.execute(inParallel, collection, method); } + @Override + public List executeWithSpan(@NotNull String spanName, + boolean inParallel, + @NotNull Collection collection, + @NotNull Function method) { + return execute(inParallel, collection, method); + } + @Override public byte[] shutdown() { return ArrayUtilRt.EMPTY_BYTE_ARRAY; @@ -130,6 +143,16 @@ final class MavenServerOpenTelemetryImpl implements MavenServerOpenTelemetry { return ParallelRunnerForServer.execute(inParallel, collection, context.wrapFunction(method)); } + @Override + public List executeWithSpan(@NotNull String spanName, + boolean inParallel, + @NotNull Collection collection, + @NotNull Function method) { + return callWithSpan(spanName, () -> + execute(inParallel, collection, method) + ); + } + public T callWithSpan(@NotNull String spanName, @NotNull Function fn) { return callWithSpan(spanName, (ignore) -> { }, fn);