Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import io.opentelemetry.sdk.extension.incubator.ExtendedOpenTelemetrySdk;
import io.opentelemetry.sdk.extension.incubator.fileconfig.SdkConfigProvider;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
import io.opentelemetry.sdk.resources.Resource;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

Expand Down Expand Up @@ -60,7 +61,8 @@ void globalOpenTelemetry() {
GlobalOpenTelemetry.set(
ExtendedOpenTelemetrySdk.create(
OpenTelemetrySdk.builder().build(),
SdkConfigProvider.create(new OpenTelemetryConfigurationModel())));
SdkConfigProvider.create(new OpenTelemetryConfigurationModel()),
Resource.empty()));
assertThat(GlobalOpenTelemetry.get()).isInstanceOf(ExtendedOpenTelemetry.class);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,18 @@ class DeclarativeConfigurationSpiTest {

@Test
void configFromSpi() {
Resource resource = Resource.getDefault().toBuilder().put("service.name", "test").build();
ExtendedOpenTelemetrySdk expectedSdk =
ExtendedOpenTelemetrySdk.create(
OpenTelemetrySdk.builder()
.setTracerProvider(
SdkTracerProvider.builder()
.setResource(
Resource.getDefault().toBuilder().put("service.name", "test").build())
.setResource(resource)
.addSpanProcessor(SimpleSpanProcessor.create(LoggingSpanExporter.create()))
.build())
.build(),
SdkConfigProvider.create(new OpenTelemetryConfigurationModel()));
SdkConfigProvider.create(new OpenTelemetryConfigurationModel()),
resource);
cleanup.addCloseable(expectedSdk);
AutoConfiguredOpenTelemetrySdkBuilder builder = spy(AutoConfiguredOpenTelemetrySdk.builder());
Thread thread = new Thread();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,8 @@ void configFile_Valid() {
.addSpanProcessor(SimpleSpanProcessor.create(LoggingSpanExporter.create()))
.build())
.build(),
((ExtendedOpenTelemetrySdk) openTelemetrySdk).getSdkConfigProvider());
((ExtendedOpenTelemetrySdk) openTelemetrySdk).getSdkConfigProvider(),
resource);
cleanup.addCloseable(expectedSdk);
assertThat(openTelemetrySdk.toString()).hasToString(expectedSdk.toString());
// AutoConfiguredOpenTelemetrySdk#getResource() is set to a dummy value when configuring from
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.extension.incubator.fileconfig.SdkConfigProvider;
import io.opentelemetry.sdk.resources.Resource;
import java.io.Closeable;
import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
Expand All @@ -20,28 +21,34 @@ public final class ExtendedOpenTelemetrySdk extends OpenTelemetrySdk

private final OpenTelemetrySdk openTelemetrySdk;
private final ObfuscatedConfigProvider configProvider;
private final Resource resource;

private ExtendedOpenTelemetrySdk(
OpenTelemetrySdk openTelemetrySdk, SdkConfigProvider configProvider) {
OpenTelemetrySdk openTelemetrySdk, SdkConfigProvider configProvider, Resource resource) {
super(
openTelemetrySdk.getSdkTracerProvider(),
openTelemetrySdk.getSdkMeterProvider(),
openTelemetrySdk.getSdkLoggerProvider(),
openTelemetrySdk.getPropagators());
this.openTelemetrySdk = openTelemetrySdk;
this.configProvider = new ObfuscatedConfigProvider(configProvider);
this.resource = resource;
}

public static ExtendedOpenTelemetrySdk create(
OpenTelemetrySdk openTelemetrySdk, SdkConfigProvider sdkConfigProvider) {
return new ExtendedOpenTelemetrySdk(openTelemetrySdk, sdkConfigProvider);
OpenTelemetrySdk openTelemetrySdk, SdkConfigProvider sdkConfigProvider, Resource resource) {
return new ExtendedOpenTelemetrySdk(openTelemetrySdk, sdkConfigProvider, resource);
}

@Override
public ConfigProvider getConfigProvider() {
return configProvider;
}

public Resource getResource() {
return resource;
}

/** Returns the {@link SdkConfigProvider} for this {@link ExtendedOpenTelemetrySdk}. */
public SdkConfigProvider getSdkConfigProvider() {
return configProvider.unobfuscate();
Expand All @@ -54,6 +61,8 @@ public String toString() {
+ openTelemetrySdk
+ ", configProvider="
+ configProvider.unobfuscate()
+ ", resource="
+ resource
+ "}";
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public ExtendedOpenTelemetrySdk create(
// behavior for experimental properties.

if (Objects.equals(true, model.getDisabled())) {
return ExtendedOpenTelemetrySdk.create(builder.build(), sdkConfigProvider);
return ExtendedOpenTelemetrySdk.create(builder.build(), sdkConfigProvider, Resource.empty());
}

if (model.getPropagator() != null) {
Expand Down Expand Up @@ -92,6 +92,6 @@ public ExtendedOpenTelemetrySdk create(
}

OpenTelemetrySdk openTelemetrySdk = context.addCloseable(builder.build());
return ExtendedOpenTelemetrySdk.create(openTelemetrySdk, sdkConfigProvider);
return ExtendedOpenTelemetrySdk.create(openTelemetrySdk, sdkConfigProvider, resource);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
import io.opentelemetry.sdk.metrics.InstrumentSelector;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.View;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.SpanLimits;
import java.io.Closeable;
Expand Down Expand Up @@ -124,7 +125,9 @@ void create_Defaults() {
new OpenTelemetryConfigurationModel().withFileFormat("1.0-rc.1");
ExtendedOpenTelemetrySdk expectedSdk =
ExtendedOpenTelemetrySdk.create(
OpenTelemetrySdk.builder().build(), SdkConfigProvider.create(model));
OpenTelemetrySdk.builder().build(),
SdkConfigProvider.create(model),
Resource.getDefault());
cleanup.addCloseable(expectedSdk);

ExtendedOpenTelemetrySdk sdk =
Expand Down Expand Up @@ -155,7 +158,7 @@ void create_Disabled() {
.withOtlpHttp(new OtlpHttpExporterModel()))))));
ExtendedOpenTelemetrySdk expectedSdk =
ExtendedOpenTelemetrySdk.create(
OpenTelemetrySdk.builder().build(), SdkConfigProvider.create(model));
OpenTelemetrySdk.builder().build(), SdkConfigProvider.create(model), Resource.empty());
cleanup.addCloseable(expectedSdk);

ExtendedOpenTelemetrySdk sdk =
Expand Down Expand Up @@ -312,7 +315,8 @@ void create_Configured() throws NoSuchFieldException, IllegalAccessException {
View.builder().setName("stream-name").build())
.build())
.build(),
SdkConfigProvider.create(model));
SdkConfigProvider.create(model),
expectedResource);
cleanup.addCloseable(expectedSdk);

ExtendedOpenTelemetrySdk sdk =
Expand Down
Loading