diff --git a/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerSettingsSupport.java b/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerSettingsSupport.java index 07dc8cec331..3593b4f2236 100644 --- a/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerSettingsSupport.java +++ b/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerSettingsSupport.java @@ -4,6 +4,8 @@ import datadog.trace.api.Platform; import datadog.trace.api.config.ProfilingConfig; import datadog.trace.bootstrap.config.provider.ConfigProvider; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import datadog.trace.context.TraceScope; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -116,7 +118,7 @@ protected ProfilerSettingsSupport(ConfigProvider configProvider) { private String getSELinuxStatus() { String value = "Not present"; if (Platform.isLinux()) { - try { + try (final TraceScope scope = AgentTracer.get().muteTracing()) { ProcessBuilder pb = new ProcessBuilder("getenforce"); Process process = pb.start(); // wait for at most 500ms for the process to finish diff --git a/dd-java-agent/instrumentation/java-lang/src/main/java/datadog/trace/instrumentation/java/lang/ProcessImplStartAdvice.java b/dd-java-agent/instrumentation/java-lang/src/main/java/datadog/trace/instrumentation/java/lang/ProcessImplStartAdvice.java index c03861099b3..28963f53b33 100644 --- a/dd-java-agent/instrumentation/java-lang/src/main/java/datadog/trace/instrumentation/java/lang/ProcessImplStartAdvice.java +++ b/dd-java-agent/instrumentation/java-lang/src/main/java/datadog/trace/instrumentation/java/lang/ProcessImplStartAdvice.java @@ -1,7 +1,5 @@ package datadog.trace.instrumentation.java.lang; -import static datadog.trace.util.AgentThreadFactory.AGENT_THREAD_GROUP; - import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.bootstrap.instrumentation.api.AgentTracer; import datadog.trace.bootstrap.instrumentation.api.java.lang.ProcessImplInstrumentationHelpers; @@ -19,11 +17,6 @@ public static AgentSpan startSpan(@Advice.Argument(0) final String[] command) th return null; } - // Don't create spans for agent threads - if (AGENT_THREAD_GROUP.equals(Thread.currentThread().getThreadGroup())) { - return null; - } - final AgentTracer.TracerAPI tracer = AgentTracer.get(); final AgentSpan span = tracer.startSpan("appsec", "command_execution"); span.setSpanType("system"); diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index 181de5b2cd4..cf0b69509c0 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -447,6 +447,8 @@ import datadog.trace.bootstrap.config.provider.CapturedEnvironmentConfigSource; import datadog.trace.bootstrap.config.provider.ConfigProvider; import datadog.trace.bootstrap.config.provider.SystemPropertiesConfigSource; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import datadog.trace.context.TraceScope; import datadog.trace.util.PidHelper; import datadog.trace.util.Strings; import datadog.trace.util.throwable.FatalAgentMisconfigurationError; @@ -3848,9 +3850,10 @@ static String initHostName() { } // Try hostname command - try (final BufferedReader reader = - new BufferedReader( - new InputStreamReader(Runtime.getRuntime().exec("hostname").getInputStream()))) { + try (final TraceScope scope = AgentTracer.get().muteTracing(); + final BufferedReader reader = + new BufferedReader( + new InputStreamReader(Runtime.getRuntime().exec("hostname").getInputStream()))) { possibleHostname = reader.readLine(); } catch (final Throwable ignore) { // Ignore. Hostname command is not always available