|
61 | 61 | import io.opentelemetry.sdk.trace.SdkTracerProvider;
|
62 | 62 | import io.opentelemetry.sdk.trace.SpanLimits;
|
63 | 63 | import java.io.Closeable;
|
| 64 | +import java.lang.reflect.Field; |
64 | 65 | import java.util.ArrayList;
|
65 | 66 | import java.util.Arrays;
|
66 | 67 | import java.util.Collections;
|
@@ -166,7 +167,7 @@ void create_Disabled() {
|
166 | 167 | }
|
167 | 168 |
|
168 | 169 | @Test
|
169 |
| - void create_Configured() { |
| 170 | + void create_Configured() throws NoSuchFieldException, IllegalAccessException { |
170 | 171 | List<Closeable> closeables = new ArrayList<>();
|
171 | 172 | io.opentelemetry.sdk.resources.Resource expectedResource =
|
172 | 173 | io.opentelemetry.sdk.resources.Resource.getDefault().toBuilder()
|
@@ -320,5 +321,31 @@ void create_Configured() {
|
320 | 321 | cleanup.addCloseables(closeables);
|
321 | 322 |
|
322 | 323 | assertThat(sdk).hasToString(expectedSdk.toString());
|
| 324 | + |
| 325 | + // test that the meter provider is wired through to the tracer and logger providers |
| 326 | + Field field = SdkMeterProvider.class.getDeclaredField("sharedState"); |
| 327 | + field.setAccessible(true); |
| 328 | + Object sharedState = field.get(sdk.getSdkMeterProvider()); |
| 329 | + assertThat(sdk) |
| 330 | + .extracting("loggerProvider") |
| 331 | + .extracting("delegate") |
| 332 | + .extracting("sharedState") |
| 333 | + .extracting("logRecordProcessor") |
| 334 | + .extracting("worker") |
| 335 | + .extracting("processedLogsCounter") |
| 336 | + .extracting("sdkMeter") |
| 337 | + .extracting("meterProviderSharedState") |
| 338 | + .isEqualTo(sharedState); |
| 339 | + |
| 340 | + assertThat(sdk) |
| 341 | + .extracting("tracerProvider") |
| 342 | + .extracting("delegate") |
| 343 | + .extracting("sharedState") |
| 344 | + .extracting("activeSpanProcessor") |
| 345 | + .extracting("worker") |
| 346 | + .extracting("processedSpansCounter") |
| 347 | + .extracting("sdkMeter") |
| 348 | + .extracting("meterProviderSharedState") |
| 349 | + .isEqualTo(sharedState); |
323 | 350 | }
|
324 | 351 | }
|
0 commit comments