[gradle][telemetry][IDEA-349510] cleanup in GradleDaemonOpenTelemetryUtil

GitOrigin-RevId: 58b5ff98d4db4eb3bb4b808bbbe620e4171aefa4
This commit is contained in:
Alexander.Glukhov
2024-09-09 13:33:14 +02:00
committed by intellij-monorepo-bot
parent 2cfd03bd80
commit 0d2763d208

View File

@@ -3,12 +3,13 @@ package org.jetbrains.plugins.gradle.util.telemetry
import com.intellij.gradle.toolingExtension.impl.telemetry.GradleTelemetryFormat
import com.intellij.openapi.util.Key
import com.intellij.openapi.util.UserDataHolder
import com.intellij.openapi.util.io.toNioPathOrNull
import com.intellij.openapi.util.registry.Registry.Companion.`is`
import com.intellij.openapi.util.registry.Registry.Companion.stringValue
import com.intellij.platform.diagnostic.telemetry.impl.getOtlpEndPoint
import com.intellij.util.text.nullize
import org.jetbrains.annotations.ApiStatus.Internal
import org.jetbrains.plugins.gradle.settings.GradleExecutionSettings
import java.net.URI
import java.nio.file.Path
import java.util.function.Supplier
@@ -29,40 +30,36 @@ object GradleDaemonOpenTelemetryUtil {
val DAEMON_TELEMETRY_TARGET_ENDPOINT_KEY: Key<URI?> = Key.create("DAEMON_TELEMETRY_TARGET_ENDPOINT")
@JvmStatic
fun isDaemonTracingEnabled(holder: UserDataHolder): Boolean {
return holder.providedOrElse(DAEMON_TELEMETRY_ENABLED_KEY) {
`is`("gradle.daemon.opentelemetry.enabled", false)
} == true
fun isDaemonTracingEnabled(settings: GradleExecutionSettings): Boolean {
return settings.getUserData(DAEMON_TELEMETRY_ENABLED_KEY)
?: `is`("gradle.daemon.opentelemetry.enabled", false)
}
@JvmStatic
fun getTelemetryFormat(holder: UserDataHolder): GradleTelemetryFormat {
return holder.providedOrElse(DAEMON_TELEMETRY_FORMAT_KEY) {
fun getTelemetryFormat(settings: GradleExecutionSettings): GradleTelemetryFormat {
return settings.providedOrElse(DAEMON_TELEMETRY_FORMAT_KEY) {
val format = stringValue("gradle.daemon.opentelemetry.format")
GradleTelemetryFormat.valueOf(format.uppercase())
} ?: GradleTelemetryFormat.PROTOBUF
}
@JvmStatic
fun getTargetFolder(holder: UserDataHolder): Path? {
return holder.providedOrElse(DAEMON_TELEMETRY_TARGET_FOLDER_KEY) {
val folder = stringValue("gradle.daemon.opentelemetry.folder")
if (folder.isBlank()) {
return@providedOrElse null
}
folder.toNioPathOrNull()
fun getTargetFolder(settings: GradleExecutionSettings): Path? {
return settings.providedOrElse(DAEMON_TELEMETRY_TARGET_FOLDER_KEY) {
val folder = stringValue("gradle.daemon.opentelemetry.folder").nullize()
folder?.toNioPathOrNull()
}
}
@JvmStatic
fun getTargetEndpoint(holder: UserDataHolder): URI? {
return holder.providedOrElse(DAEMON_TELEMETRY_TARGET_ENDPOINT_KEY) {
fun getTargetEndpoint(settings: GradleExecutionSettings): URI? {
return settings.providedOrElse(DAEMON_TELEMETRY_TARGET_ENDPOINT_KEY) {
val uri = getOtlpEndPoint() ?: return@providedOrElse null
URI.create(uri)
}
}
private fun <T> UserDataHolder.providedOrElse(key: Key<T>, fn: Supplier<T?>): T? {
private fun <T> GradleExecutionSettings.providedOrElse(key: Key<T>, fn: Supplier<T?>): T? {
val provided = getUserData(key)
if (provided != null) {
return provided
@@ -70,7 +67,7 @@ object GradleDaemonOpenTelemetryUtil {
try {
return fn.get()
}
catch (e: Exception) {
catch (_: Exception) {
// ignore
return null
}