-
Notifications
You must be signed in to change notification settings - Fork 180
Expand file tree
/
Copy pathInferredSpansSpanProcessorProviderTest.java
More file actions
87 lines (74 loc) · 2.48 KB
/
InferredSpansSpanProcessorProviderTest.java
File metadata and controls
87 lines (74 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.inferredspans;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.condition.OS.WINDOWS;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.autoconfigure.declarativeconfig.DeclarativeConfiguration;
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
@DisabledOnOs(WINDOWS) // Uses async-profiler, which is not supported on Windows
class InferredSpansSpanProcessorProviderTest {
private ProfilerTestSetup setup;
@BeforeEach
void setUp() {
setup = ProfilerTestSetup.create(c -> {});
}
@AfterEach
void tearDown() {
if (setup != null) {
setup.close();
}
InferredSpans.setInstance(null);
}
@Test
void declarativeConfig() {
String yaml =
"file_format: '1.0'\n"
+ "tracer_provider:\n"
+ " processors:\n"
+ " - inferred_spans/development:\n"
+ " backup_diagnostic_files: true\n";
OpenTelemetrySdk sdk =
DeclarativeConfiguration.parseAndCreate(
new ByteArrayInputStream(yaml.getBytes(StandardCharsets.UTF_8)))
.getSdk();
assertThat(sdk)
.extracting("tracerProvider")
.extracting("delegate")
.extracting("sharedState")
.extracting("activeSpanProcessor")
.extracting("profiler")
.extracting("config")
.extracting("backupDiagnosticFiles")
.isEqualTo(true);
}
@Test
void declarativeConfigDisabled() {
String yaml =
"file_format: '1.0'\n"
+ "tracer_provider:\n"
+ " processors:\n"
+ " - inferred_spans/development:\n"
+ " enabled: false\n";
OpenTelemetrySdk sdk =
DeclarativeConfiguration.parseAndCreate(
new ByteArrayInputStream(yaml.getBytes(StandardCharsets.UTF_8)))
.getSdk();
assertThat(sdk)
.extracting("tracerProvider")
.extracting("delegate")
.extracting("sharedState")
.extracting("activeSpanProcessor")
.satisfies(
p ->
assertThat(p.getClass().getName())
.isEqualTo("io.opentelemetry.sdk.trace.NoopSpanProcessor"));
}
}