Skip to content

Commit 579b95d

Browse files
authored
Merge pull request #2604 from digma-ai/upgrade-otel-agent
upgrade otel agent Closes #2602
2 parents 935b69c + 1aa5149 commit 579b95d

File tree

4 files changed

+31
-39
lines changed

4 files changed

+31
-39
lines changed

build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,10 +246,6 @@ tasks {
246246

247247

248248
wrapper {
249-
//todo: gradle 8.10.1 has a bug
250-
// see https://github.com/gradle/gradle/issues/30497
251-
// see https://github.com/gradle/gradle/issues/30472
252-
// upgrade to 8.10.2 when its released
253249
//to upgrade gradle change the version here and run:
254250
//./gradlew wrapper --gradle-version 8.8
255251
//check that gradle/wrapper/gradle-wrapper.properties was changed

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

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -299,20 +299,19 @@ open class JavaToolOptionsBuilder(
299299
open fun build(): String {
300300

301301
//always disable extended observability extension because we changed to digma-agent
302-
disableExtendedObservabilityExtension()
302+
//disableExtendedObservabilityExtension()
303303

304304
return javaToolOptions.toString()
305305
}
306306

307307

308-
private fun disableExtendedObservabilityExtension() {
309-
//todo: need to disable the extended observability extension completely in the otel agent extension
310-
// project after some time that we use digma-agent and all users upgraded the plugin.
311-
// can't disable it yet because some users may still use older version of the plugin and are using extended observability.
312-
javaToolOptions
313-
.append("-Dotel.instrumentation.digma-methods.enabled=false")
314-
.append(" ")
315-
}
308+
//don't need to disable digma-methods, it is not included in the extension anymore
309+
// private fun disableExtendedObservabilityExtension() {
310+
// // can't disable it yet because some users may still use older version of the plugin and are using extended observability.
311+
// javaToolOptions
312+
// .append("-Dotel.instrumentation.digma-methods.enabled=false")
313+
// .append(" ")
314+
// }
316315

317316

318317
open fun getExporterUrl(): String {

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

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,12 @@ import java.io.FileOutputStream
88
import java.net.URL
99
import java.nio.file.Files
1010
import java.nio.file.StandardCopyOption
11-
import java.util.Properties
1211
import java.util.concurrent.locks.ReentrantLock
1312
import kotlin.io.path.deleteIfExists
1413

1514
private const val JARS_DIR_PREFIX = "digma-otel-jars"
1615
private const val RESOURCE_LOCATION = "otelJars"
1716

18-
private const val OTEL_AGENT_JAR_PROP_NAME = "otel-agent"
19-
private const val DIGMA_EXTENSION_JAR_PROP_NAME = "digma-extension"
20-
private const val DIGMA_AGENT_JAR_PROP_NAME = "digma-agent"
2117
private const val OTEL_AGENT_JAR_NAME = "opentelemetry-javaagent.jar"
2218
private const val DIGMA_AGENT_EXTENSION_JAR_NAME = "digma-otel-agent-extension.jar"
2319
private const val DIGMA_AGENT_JAR_NAME = "digma-agent.jar"
@@ -49,19 +45,16 @@ class OTELJarProvider {
4945

5046
private val downloadDir: File = File(System.getProperty("java.io.tmpdir"), JARS_DIR_PREFIX)
5147

52-
private val jarsUrls = Properties()
53-
5448
private val lock = ReentrantLock(true)
5549

5650

5751
init {
5852

59-
jarsUrls.load(this::class.java.getResourceAsStream("/jars-urls.properties"))
60-
6153
//unpack and download on service initialization.
6254
//will happen per IDE session
6355
Thread {
64-
unpackFilesAndDownloadLatest()
56+
unpackFiles()
57+
downloadCustomJars()
6558
}.start()
6659
}
6760

@@ -114,8 +107,8 @@ class OTELJarProvider {
114107

115108
Log.log(logger::info, "otel jars do not exists, unpacking..")
116109

117-
unpackFilesAndDownloadLatest()
118-
110+
unpackFiles()
111+
downloadCustomJars()
119112
}
120113

121114
private fun filesExist(): Boolean {
@@ -126,7 +119,7 @@ class OTELJarProvider {
126119
}
127120

128121

129-
private fun unpackFilesAndDownloadLatest() {
122+
private fun unpackFiles() {
130123

131124
Log.log(logger::info, "unpacking otel agent jars")
132125

@@ -148,8 +141,6 @@ class OTELJarProvider {
148141
Log.warnWithException(logger, e, "could not unpack otel jars, hopefully download will succeed.")
149142
}
150143
}
151-
152-
tryDownloadLatest()
153144
}
154145

155146

@@ -167,22 +158,28 @@ class OTELJarProvider {
167158
}
168159

169160

170-
private fun tryDownloadLatest() {
161+
private fun downloadCustomJars() {
171162

172-
Log.log(logger::info, "trying to download latest otel jars")
163+
Log.log(logger::info, "trying to download custom otel jars")
173164

174165
val runnable = Runnable {
175166

176167
try {
177-
val otelUrl = System.getProperty("org.digma.otel.agentUrl", jarsUrls.getProperty(OTEL_AGENT_JAR_PROP_NAME))
178-
val extensionUrl = System.getProperty("org.digma.otel.extensionUrl", jarsUrls.getProperty(DIGMA_EXTENSION_JAR_PROP_NAME))
179-
val digmaAgentUrl = System.getProperty("org.digma.otel.digmaAgentUrl", jarsUrls.getProperty(DIGMA_AGENT_JAR_PROP_NAME))
180168

181-
downloadAndCopyJar(URL(otelUrl), getOtelAgentJar())
182-
downloadAndCopyJar(URL(extensionUrl), getDigmaAgentExtensionJar())
183-
downloadAndCopyJar(URL(digmaAgentUrl), getDigmaAgentJar())
169+
System.getProperty("org.digma.otel.agentUrl")?.let {
170+
downloadAndCopyJar(URL(it), getOtelAgentJar())
171+
}
172+
173+
System.getProperty("org.digma.otel.extensionUrl")?.let {
174+
downloadAndCopyJar(URL(it), getDigmaAgentExtensionJar())
175+
}
176+
177+
System.getProperty("org.digma.otel.digmaAgentUrl")?.let {
178+
downloadAndCopyJar(URL(it), getDigmaAgentJar())
179+
}
180+
184181
} catch (e: Exception) {
185-
Log.warnWithException(logger, e, "could not download latest otel jars")
182+
Log.warnWithException(logger, e, "could not download custom otel jars")
186183
}
187184
}
188185

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
otel-agent=https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v2.1.0/opentelemetry-javaagent.jar
2-
digma-extension=https://github.com/digma-ai/otel-java-instrumentation/releases/latest/download/digma-otel-agent-extension.jar
3-
digma-agent=https://github.com/digma-ai/digma-agent/releases/latest/download/digma-agent.jar
1+
otel-agent=https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v2.10.0/opentelemetry-javaagent.jar
2+
digma-extension=https://github.com/digma-ai/otel-java-instrumentation/releases/download/v2.10.0/digma-otel-agent-extension.jar
3+
digma-agent=https://github.com/digma-ai/digma-agent/releases/download/v2.0.2/digma-agent.jar

0 commit comments

Comments
 (0)