[opentelemetry][IJPL-163526] register/cleanup GlobalOpenTelemetry before each test instead of testcase

GitOrigin-RevId: e23fb2246418cec47c9e87b024d45e80cbc4f94b
This commit is contained in:
Alexander.Glukhov
2024-10-17 08:49:34 +00:00
committed by intellij-monorepo-bot
parent 69373b2272
commit a9783c8148
@@ -2,49 +2,22 @@
package com.intellij.platform.diagnostic.telemetry.rt.context
import io.opentelemetry.api.GlobalOpenTelemetry
import io.opentelemetry.api.trace.Span
import io.opentelemetry.api.trace.SpanContext
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator
import io.opentelemetry.context.propagation.ContextPropagators
import io.opentelemetry.sdk.OpenTelemetrySdk
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.BeforeEach
abstract class TelemetryContextConfiguringTestCase {
companion object {
@BeforeAll
@JvmStatic
fun beforeAll() {
configureGlobalTelemetry()
}
@AfterAll
@JvmStatic
fun afterAll() {
shutdownGlobalTelemetry()
}
private fun configureGlobalTelemetry() {
OpenTelemetrySdk.builder()
.setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance()))
.buildAndRegisterGlobal()
}
private fun shutdownGlobalTelemetry() {
GlobalOpenTelemetry.resetForTest()
}
}
@BeforeEach
fun beforeEach() {
assertCurrentContextIsEmpty()
open fun setUp() {
GlobalOpenTelemetry.resetForTest()
configureGlobalTelemetry()
}
private fun assertCurrentContextIsEmpty() {
val currentContext = Span.current().spanContext
assertEquals(SpanContext.getInvalid(), currentContext)
private fun configureGlobalTelemetry() {
OpenTelemetrySdk.builder()
.setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance()))
.buildAndRegisterGlobal()
}
}