From d0ed457d63e22c83e730c7929c7422b6780ad5d1 Mon Sep 17 00:00:00 2001 From: "saul.gill" Date: Thu, 1 Feb 2024 16:51:26 +0000 Subject: [PATCH] Share tracing context in all threads Issue-ID: POLICY-4922 Change-Id: I8f5e99b597c989a26777233ef58ef5c4f9db4215 Signed-off-by: saul.gill --- .../kserve/handler/AutomationCompositionElementHandler.java | 6 ++++-- .../clamp/acm/participant/intermediary/handler/ThreadHandler.java | 6 ++++-- pom.xml | 2 +- .../clamp/acm/runtime/commissioning/CommissioningProvider.java | 5 +++-- .../policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java | 3 ++- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/participant/participant-impl/participant-impl-kserve/src/main/java/org/onap/policy/clamp/acm/participant/kserve/handler/AutomationCompositionElementHandler.java b/participant/participant-impl/participant-impl-kserve/src/main/java/org/onap/policy/clamp/acm/participant/kserve/handler/AutomationCompositionElementHandler.java index 23d469615..417b60978 100644 --- a/participant/participant-impl/participant-impl-kserve/src/main/java/org/onap/policy/clamp/acm/participant/kserve/handler/AutomationCompositionElementHandler.java +++ b/participant/participant-impl/participant-impl-kserve/src/main/java/org/onap/policy/clamp/acm/participant/kserve/handler/AutomationCompositionElementHandler.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2023 Nordix Foundation. + * Copyright (C) 2023-2024 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ package org.onap.policy.clamp.acm.participant.kserve.handler; import io.kubernetes.client.openapi.ApiException; +import io.opentelemetry.context.Context; import jakarta.validation.Validation; import jakarta.validation.ValidationException; import java.io.IOException; @@ -70,7 +71,8 @@ public class AutomationCompositionElementHandler implements AutomationCompositio private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private ExecutorService executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); + private ExecutorService executor = Context.taskWrapping( + Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())); private final ParticipantIntermediaryApi intermediaryApi; diff --git a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java index e29562a6e..0aed919e5 100644 --- a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java +++ b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2023 Nordix Foundation. + * Copyright (C) 2023-2024 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ package org.onap.policy.clamp.acm.participant.intermediary.handler; +import io.opentelemetry.context.Context; import java.io.Closeable; import java.io.IOException; import java.util.HashMap; @@ -57,7 +58,8 @@ public class ThreadHandler implements Closeable { private final Map executionMap = new ConcurrentHashMap<>(); - private final ExecutorService executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); + private final ExecutorService executor = + Context.taskWrapping(Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())); /** * Handle an update on a automation composition element. diff --git a/pom.xml b/pom.xml index 846a03e22..a0a902c5c 100644 --- a/pom.xml +++ b/pom.xml @@ -180,7 +180,7 @@ io.micrometer micrometer-tracing-bridge-otel - 1.1.3 + 1.1.8 io.opentelemetry diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java index dd0ddaae9..3e4c96b4b 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021-2023 Nordix Foundation. + * Copyright (C) 2021-2024 Nordix Foundation. * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,6 +21,7 @@ package org.onap.policy.clamp.acm.runtime.commissioning; +import io.opentelemetry.context.Context; import jakarta.ws.rs.core.Response.Status; import java.util.HashSet; import java.util.UUID; @@ -60,7 +61,7 @@ public class CommissioningProvider { private final ParticipantPrimePublisher participantPrimePublisher; private final AcRuntimeParameterGroup acRuntimeParameterGroup; - private final ExecutorService executor = Executors.newFixedThreadPool(1); + private final ExecutorService executor = Context.taskWrapping(Executors.newFixedThreadPool(1)); private CommissioningResponse createCommissioningResponse(UUID compositionId, ToscaServiceTemplate serviceTemplate) { diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java index 69d48fbc6..a5dc0e78e 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java @@ -21,6 +21,7 @@ package org.onap.policy.clamp.acm.runtime.supervision; import io.micrometer.core.annotation.Timed; +import io.opentelemetry.context.Context; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -64,7 +65,7 @@ public class SupervisionAcHandler { private final AcElementPropertiesPublisher acElementPropertiesPublisher; private final AutomationCompositionMigrationPublisher acCompositionMigrationPublisher; - private final ExecutorService executor = Executors.newFixedThreadPool(1); + private final ExecutorService executor = Context.taskWrapping(Executors.newFixedThreadPool(1)); /** * Handle Deploy an AutomationComposition instance. -- 2.16.6