@@ -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
0 commit comments