Skip to content

Commit f6563cb

Browse files
committed
don't add digma-agent to java tool option if extended observability is empty
1 parent f117aee commit f6563cb

File tree

2 files changed

+30
-12
lines changed

2 files changed

+30
-12
lines changed

jvm-common/src/main/kotlin/org/digma/intellij/plugin/idea/execution/JavaToolOptionsBuilder.kt

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ open class JavaToolOptionsBuilder(
1414

1515
private val otelAgentPathProvider = OtelAgentPathProvider(configuration)
1616

17+
@Suppress("MemberVisibilityCanBePrivate")
1718
protected val javaToolOptions = StringBuilder(" ")
1819

1920

@@ -42,21 +43,20 @@ open class JavaToolOptionsBuilder(
4243
open fun withOtelAgent(useAgent: Boolean, parametersExtractor: ParametersExtractor): JavaToolOptionsBuilder {
4344

4445
if (useAgent) {
46+
4547
if (!otelAgentPathProvider.hasAgentPath()) {
4648
throw JavaToolOptionsBuilderException("useAgent is true but can't find agent or extension paths")
4749
}
4850

49-
val shouldUseDigmaAgent = parametersExtractor.extractEnvValue(USE_DIGMA_AGENT_PROP_NAME) == "true"
50-
if (shouldUseDigmaAgent) {
51+
if (isExtendedObservabilityConfigured()) {
52+
5153
if (!otelAgentPathProvider.hasDigmaAgentPath()) {
52-
throw JavaToolOptionsBuilderException("USE_DIGMA_AGENT is true but can't find digma agent paths")
54+
throw JavaToolOptionsBuilderException("can't find digma-agent path")
5355
}
5456

5557
javaToolOptions
5658
.append("-javaagent:${otelAgentPathProvider.digmaAgentPath}")
5759
.append(" ")
58-
59-
disableExtendedObservabilityExtension()
6060
}
6161

6262
javaToolOptions
@@ -156,17 +156,20 @@ open class JavaToolOptionsBuilder(
156156

157157

158158
open fun withExtendedObservability(): JavaToolOptionsBuilder {
159-
if (!SettingsState.getInstance().extendedObservability.isNullOrBlank()) {
159+
160+
if (isExtendedObservabilityConfigured()) {
161+
160162
javaToolOptions
161163
.append("-Ddigma.autoinstrument.packages=${SettingsState.getInstance().extendedObservability}")
162164
.append(" ")
163-
}
164165

165-
if (!SettingsState.getInstance().extendedObservabilityExcludes.isNullOrBlank()) {
166-
javaToolOptions
167-
.append("-Ddigma.autoinstrument.packages.exclude.names=${SettingsState.getInstance().extendedObservabilityExcludes}")
168-
.append(" ")
166+
if (!SettingsState.getInstance().extendedObservabilityExcludes.isNullOrBlank()) {
167+
javaToolOptions
168+
.append("-Ddigma.autoinstrument.packages.exclude.names=${SettingsState.getInstance().extendedObservabilityExcludes}")
169+
.append(" ")
170+
}
169171
}
172+
170173
return this
171174
}
172175

@@ -274,10 +277,18 @@ open class JavaToolOptionsBuilder(
274277

275278

276279
open fun build(): String {
280+
281+
//always disable extended observability extension because we changed to digma-agent
282+
disableExtendedObservabilityExtension()
283+
277284
return javaToolOptions.toString()
278285
}
279286

287+
280288
private fun disableExtendedObservabilityExtension() {
289+
//todo: need to disable the extended observability extension completely in the otel agent extension
290+
// project after some time that we use digma-agent and all users upgraded the plugin.
291+
// can't disable it yet because some users may still use older version of the plugin and are using extended observability.
281292
javaToolOptions
282293
.append("-Dotel.instrumentation.digma-methods.enabled=false")
283294
.append(" ")
@@ -288,6 +299,12 @@ open class JavaToolOptionsBuilder(
288299
return SettingsState.getInstance().runtimeObservabilityBackendUrl
289300
}
290301

302+
303+
@Suppress("MemberVisibilityCanBePrivate")
304+
fun isExtendedObservabilityConfigured(): Boolean {
305+
return !SettingsState.getInstance().extendedObservability.isNullOrBlank()
306+
}
307+
291308
}
292309

293310

jvm-common/src/main/kotlin/org/digma/intellij/plugin/idea/execution/constants.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ const val OTEL_SERVICE_NAME_PROP_NAME = "otel.service.name"
1313
const val DIGMA_MARKER = "-Dorg.digma.marker=true"
1414

1515
//a feature flag to use digma agent for extended instrumentation instead of the otel extension module
16-
const val USE_DIGMA_AGENT_PROP_NAME = "USE_DIGMA_AGENT"
16+
//todo: delete, not used anymore
17+
//const val USE_DIGMA_AGENT_PROP_NAME = "USE_DIGMA_AGENT"
1718

1819

1920
/*

0 commit comments

Comments
 (0)