From 9b06903e18b60892932e8ac96e8ce2d75aec167b Mon Sep 17 00:00:00 2001 From: Stuart McCulloch Date: Thu, 16 Jan 2025 08:55:07 +0000 Subject: [PATCH] Make sure background/shutdown threads are in AGENT_THREAD_GROUP (#8217) --- .../main/java/com/datadog/crashtracking/ScriptInitializer.java | 2 ++ .../com/datadog/profiling/controller/TempLocationManager.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/dd-java-agent/agent-crashtracking/src/main/java/com/datadog/crashtracking/ScriptInitializer.java b/dd-java-agent/agent-crashtracking/src/main/java/com/datadog/crashtracking/ScriptInitializer.java index de66137372c..7d845efea83 100644 --- a/dd-java-agent/agent-crashtracking/src/main/java/com/datadog/crashtracking/ScriptInitializer.java +++ b/dd-java-agent/agent-crashtracking/src/main/java/com/datadog/crashtracking/ScriptInitializer.java @@ -1,5 +1,6 @@ package com.datadog.crashtracking; +import static datadog.trace.util.AgentThreadFactory.AGENT_THREAD_GROUP; import static java.util.Comparator.reverseOrder; import static java.util.Locale.ROOT; @@ -92,6 +93,7 @@ static void writeConfig(Path scriptPath, String... entries) { Runtime.getRuntime() .addShutdownHook( new Thread( + AGENT_THREAD_GROUP, () -> { try { LOG.debug("Deleting config file: {}", cfgPath); diff --git a/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java b/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java index 1689d3fe963..3aaf2265e53 100644 --- a/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java +++ b/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java @@ -1,6 +1,7 @@ package com.datadog.profiling.controller; import static datadog.trace.api.telemetry.LogCollector.SEND_TELEMETRY; +import static datadog.trace.util.AgentThreadFactory.AGENT_THREAD_GROUP; import datadog.trace.api.config.ProfilingConfig; import datadog.trace.bootstrap.config.provider.ConfigProvider; @@ -297,6 +298,7 @@ private TempLocationManager() { Thread selfCleanup = new Thread( + AGENT_THREAD_GROUP, () -> { if (!waitForCleanup(1, TimeUnit.SECONDS)) { log.info(