diff --git a/dd-java-agent/agent-profiling/profiling-controller-ddprof/src/main/java/com/datadog/profiling/controller/ddprof/DatadogProfilerSettings.java b/dd-java-agent/agent-profiling/profiling-controller-ddprof/src/main/java/com/datadog/profiling/controller/ddprof/DatadogProfilerSettings.java index 49c69f03096..e76767bfaac 100644 --- a/dd-java-agent/agent-profiling/profiling-controller-ddprof/src/main/java/com/datadog/profiling/controller/ddprof/DatadogProfilerSettings.java +++ b/dd-java-agent/agent-profiling/profiling-controller-ddprof/src/main/java/com/datadog/profiling/controller/ddprof/DatadogProfilerSettings.java @@ -29,5 +29,11 @@ public void publish() { datadogProfiler.recordSetting(JFR_IMPLEMENTATION_KEY, "ddprof"); datadogProfiler.recordSetting(STACK_DEPTH_KEY, String.valueOf(stackDepth)); datadogProfiler.recordSetting(SELINUX_STATUS_KEY, seLinuxStatus); + if (serviceInstrumentationType != null) { + datadogProfiler.recordSetting(SERVICE_INSTRUMENTATION_TYPE, serviceInstrumentationType); + } + if (serviceInjection != null) { + datadogProfiler.recordSetting(SERVICE_INJECTION, serviceInjection); + } } } diff --git a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/JfrProfilerSettings.java b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/JfrProfilerSettings.java index 44f95222980..4d3c268ab45 100644 --- a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/JfrProfilerSettings.java +++ b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/JfrProfilerSettings.java @@ -62,6 +62,12 @@ public void publish() { if (ddprofUnavailableReason != null) { new ProfilerSettingEvent(DDPROF_UNAVAILABLE_REASON_KEY, ddprofUnavailableReason).commit(); } + if (serviceInstrumentationType != null) { + new ProfilerSettingEvent(SERVICE_INSTRUMENTATION_TYPE, serviceInstrumentationType).commit(); + } + if (serviceInjection != null) { + new ProfilerSettingEvent(SERVICE_INJECTION, serviceInjection).commit(); + } } } } 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 859c68424a0..c7482d7a1ee 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 @@ -31,6 +31,8 @@ public abstract class ProfilerSettingsSupport { protected static final String NATIVE_STACKS_KEY = "Native Stacks"; protected static final String STACK_DEPTH_KEY = "Stack Depth"; protected static final String SELINUX_STATUS_KEY = "SELinux Status"; + protected static final String SERVICE_INSTRUMENTATION_TYPE = "Service Instrumentation Type"; + protected static final String SERVICE_INJECTION = "Service Injection"; protected static final String DDPROF_UNAVAILABLE_REASON_KEY = "DDProf Unavailable Reason"; @@ -50,6 +52,8 @@ public abstract class ProfilerSettingsSupport { protected final String perfEventsParanoid; protected final boolean hasNativeStacks; protected final String seLinuxStatus; + protected final String serviceInstrumentationType; + protected final String serviceInjection; protected final String ddprofUnavailableReason; @@ -122,6 +126,13 @@ protected ProfilerSettingsSupport( seLinuxStatus = getSELinuxStatus(); this.ddprofUnavailableReason = ddprofUnavailableReason; this.hasJfrStackDepthApplied = hasJfrStackDepthApplied; + + serviceInjection = + configProvider.getString( + "injection.enabled"); // usually set via DD_INJECTION_ENABLED env var + serviceInstrumentationType = + // usually set via DD_INSTRUMENTATION_INSTALL_TYPE env var + configProvider.getString("instrumentation.install.type"); } private String getSELinuxStatus() {