Skip to content
Draft
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 @@ -20,7 +20,7 @@
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.testing.exporter.InMemorySpanExporter;
import io.opentelemetry.sdk.trace.IdGenerator;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
Expand All @@ -44,7 +44,7 @@ void tracerEnabled() {
SdkTracerProviderBuilder tracerProviderBuilder =
SdkTracerProvider.builder()
// Default resource used for demonstration purposes
.setResource(Resource.getDefault())
.setEntityProvider(SdkEntityProvider.getDefault())
// In-memory exporter used for demonstration purposes
.addSpanProcessor(SimpleSpanProcessor.create(exporter));
// Disable tracerB
Expand Down Expand Up @@ -99,7 +99,7 @@ void setParentFrom() {
SdkTracerProvider tracerProvider =
SdkTracerProvider.builder()
// Default resource used for demonstration purposes
.setResource(Resource.getDefault())
.setEntityProvider(SdkEntityProvider.getDefault())
// SimpleSpanProcessor with InMemorySpanExporter used for demonstration purposes
.addSpanProcessor(SimpleSpanProcessor.create(spanExporter))
.build();
Expand Down Expand Up @@ -159,7 +159,7 @@ void startAndCallOrRun() {
SdkTracerProvider tracerProvider =
SdkTracerProvider.builder()
// Default resource used for demonstration purposes
.setResource(Resource.getDefault())
.setEntityProvider(SdkEntityProvider.getDefault())
// SimpleSpanProcessor with InMemorySpanExporter used for demonstration purposes
.addSpanProcessor(SimpleSpanProcessor.create(spanExporter))
.build();
Expand Down
38 changes: 37 additions & 1 deletion docs/apidiffs/current_vs_latest/opentelemetry-sdk-common.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,38 @@
Comparing source compatibility of opentelemetry-sdk-common-1.51.0-SNAPSHOT.jar against opentelemetry-sdk-common-1.50.0.jar
No changes.
+++ NEW CLASS: PUBLIC(+) ABSTRACT(+) io.opentelemetry.sdk.entities.Entity (not serializable)
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
+++ NEW SUPERCLASS: java.lang.Object
+++ NEW CONSTRUCTOR: PUBLIC(+) Entity()
+++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.sdk.entities.Entity create(java.lang.String, java.lang.String, io.opentelemetry.api.common.Attributes)
+++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.sdk.entities.Entity create(io.opentelemetry.sdk.resources.Resource)
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) io.opentelemetry.api.common.Attributes getAttributes()
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) java.lang.String getId()
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) java.lang.String getName()
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.entities.Entity withAttributes(io.opentelemetry.api.common.Attributes)
+++ NEW INTERFACE: PUBLIC(+) ABSTRACT(+) io.opentelemetry.sdk.entities.EntityListener (not serializable)
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
+++ NEW SUPERCLASS: java.lang.Object
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) void onEntityDelete(io.opentelemetry.sdk.entities.Entity, io.opentelemetry.sdk.resources.Resource)
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) void onEntityState(io.opentelemetry.sdk.entities.Entity, io.opentelemetry.sdk.resources.Resource)
+++ NEW INTERFACE: PUBLIC(+) ABSTRACT(+) io.opentelemetry.sdk.entities.EntityProvider (not serializable)
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
+++ NEW SUPERCLASS: java.lang.Object
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) void addEntity(java.lang.String, java.lang.String, io.opentelemetry.api.common.Attributes)
+++ NEW METHOD: PUBLIC(+) void addEntity(io.opentelemetry.sdk.entities.Entity)
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) void addListener(io.opentelemetry.sdk.entities.EntityListener)
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) void deleteEntity(java.lang.String)
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) io.opentelemetry.sdk.resources.Resource getResource()
+++ NEW METHOD: PUBLIC(+) ABSTRACT(+) void updateEntity(java.lang.String, io.opentelemetry.api.common.Attributes)
+++ NEW CLASS: PUBLIC(+) io.opentelemetry.sdk.entities.SdkEntityProvider (not serializable)
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
+++ NEW INTERFACE: io.opentelemetry.sdk.entities.EntityProvider
+++ NEW SUPERCLASS: java.lang.Object
+++ NEW CONSTRUCTOR: PUBLIC(+) SdkEntityProvider()
+++ NEW CONSTRUCTOR: PUBLIC(+) SdkEntityProvider(java.util.List<io.opentelemetry.sdk.entities.Entity>)
+++ NEW METHOD: PUBLIC(+) void addEntity(java.lang.String, java.lang.String, io.opentelemetry.api.common.Attributes)
+++ NEW METHOD: PUBLIC(+) void addListener(io.opentelemetry.sdk.entities.EntityListener)
+++ NEW METHOD: PUBLIC(+) void deleteEntity(java.lang.String)
+++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.sdk.entities.EntityProvider empty()
+++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.sdk.entities.EntityProvider getDefault()
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.resources.Resource getResource()
+++ NEW METHOD: PUBLIC(+) void updateEntity(java.lang.String, io.opentelemetry.api.common.Attributes)
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
Comparing source compatibility of opentelemetry-sdk-trace-1.51.0-SNAPSHOT.jar against opentelemetry-sdk-trace-1.50.0.jar
No changes.
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.sdk.trace.SdkTracerProviderBuilder (not serializable)
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.trace.SdkTracerProviderBuilder addEntity(java.lang.String, java.lang.String, io.opentelemetry.api.common.Attributes)
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.trace.SdkTracerProviderBuilder addEntity(io.opentelemetry.sdk.entities.Entity)
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.trace.SdkTracerProviderBuilder setEntityProvider(io.opentelemetry.sdk.entities.EntityProvider)
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

package io.opentelemetry.exporter.otlp.trace;

import static java.util.Collections.singletonList;

import com.linecorp.armeria.server.ServerBuilder;
import com.linecorp.armeria.server.ServiceRequestContext;
import com.linecorp.armeria.server.grpc.protocol.AbstractUnaryGrpcService;
Expand All @@ -15,6 +17,9 @@
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Scope;
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.EntityProvider;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
Expand Down Expand Up @@ -75,9 +80,10 @@ protected CompletionStage<byte[]> handleMessage(

@BeforeEach
public void setUp() {
EntityProvider entityProvider = new SdkEntityProvider(singletonList(Entity.create(RESOURCE)));
tracerProvider =
SdkTracerProvider.builder()
.setResource(RESOURCE)
.setEntityProvider(entityProvider)
.addSpanProcessor(
BatchSpanProcessor.builder(
OtlpGrpcSpanExporter.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
package io.opentelemetry.integrationtest;

import static io.opentelemetry.api.common.Value.of;
import static java.util.Collections.singletonList;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await;
Expand Down Expand Up @@ -62,6 +63,9 @@
import io.opentelemetry.proto.trace.v1.ScopeSpans;
import io.opentelemetry.proto.trace.v1.Span.Link;
import io.opentelemetry.sdk.common.export.MemoryMode;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.EntityProvider;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
import io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor;
import io.opentelemetry.sdk.logs.export.LogRecordExporter;
Expand All @@ -80,7 +84,6 @@
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -291,10 +294,12 @@ void testOtlpHttpTraceExport_mtls() throws Exception {
}

private static void testTraceExport(SpanExporter spanExporter) {

EntityProvider entityProvider = new SdkEntityProvider(singletonList(Entity.create(RESOURCE)));
SdkTracerProvider tracerProvider =
SdkTracerProvider.builder()
.addSpanProcessor(SimpleSpanProcessor.create(spanExporter))
.setResource(RESOURCE)
.setEntityProvider(entityProvider)
.build();

SpanContext linkContext =
Expand Down Expand Up @@ -344,7 +349,7 @@ private static void testTraceExport(SpanExporter spanExporter) {
assertThat(protoSpan.getName()).isEqualTo("my span name");
assertThat(protoSpan.getAttributesList())
.isEqualTo(
Collections.singletonList(
singletonList(
io.opentelemetry.proto.common.v1.KeyValue.newBuilder()
.setKey("key")
.setValue(AnyValue.newBuilder().setStringValue("value").build())
Expand Down Expand Up @@ -515,7 +520,7 @@ private static void testMetricExport(MetricExporter metricExporter) {
assertThat(dataPoint.getAsInt()).isEqualTo(100);
assertThat(dataPoint.getAttributesList())
.isEqualTo(
Collections.singletonList(
singletonList(
io.opentelemetry.proto.common.v1.KeyValue.newBuilder()
.setKey("key")
.setValue(AnyValue.newBuilder().setStringValue("value").build())
Expand Down Expand Up @@ -792,7 +797,7 @@ private static void testLogRecordExporter(LogRecordExporter logRecordExporter) {
.build());
assertThat(protoLog1.getAttributesList())
.isEqualTo(
Collections.singletonList(
singletonList(
io.opentelemetry.proto.common.v1.KeyValue.newBuilder()
.setKey("key")
.setValue(AnyValue.newBuilder().setStringValue("value").build())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

package io.opentelemetry.sdk.autoconfigure;

import static java.util.Collections.singletonList;
import static java.util.Objects.requireNonNull;

import io.opentelemetry.api.GlobalOpenTelemetry;
Expand All @@ -20,6 +21,9 @@
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.autoconfigure.spi.internal.AutoConfigureListener;
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.EntityProvider;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.logs.LogRecordProcessor;
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder;
Expand Down Expand Up @@ -512,7 +516,8 @@ void configureSdk(
closeables.add(meterProvider);

SdkTracerProviderBuilder tracerProviderBuilder = SdkTracerProvider.builder();
tracerProviderBuilder.setResource(resource);
EntityProvider entityProvider = new SdkEntityProvider(singletonList(Entity.create(resource)));
tracerProviderBuilder.setEntityProvider(entityProvider);
TracerProviderConfiguration.configureTracerProvider(
tracerProviderBuilder,
config,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
package io.opentelemetry.sdk.autoconfigure;

import static io.opentelemetry.api.common.AttributeKey.stringKey;
import static java.util.Collections.singletonList;
import static java.util.Collections.singletonMap;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatCode;
Expand Down Expand Up @@ -43,6 +44,8 @@
import io.opentelemetry.sdk.autoconfigure.spi.internal.AutoConfigureListener;
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.logs.LogRecordProcessor;
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder;
Expand Down Expand Up @@ -504,7 +507,9 @@ void tracerProviderCustomizer() {
AutoConfiguredOpenTelemetrySdk.builder()
.addTracerProviderCustomizer(
(tracerProviderBuilder, config) -> {
tracerProviderBuilder.setResource(Resource.builder().put("cat", "meow").build());
Entity entity = Entity.create(Resource.builder().put("cat", "meow").build());
tracerProviderBuilder.setEntityProvider(
new SdkEntityProvider(singletonList(entity)));
return tracerProviderBuilder.addSpanProcessor(
SimpleSpanProcessor.create(spanExporter));
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
package io.opentelemetry.sdk.autoconfigure;

import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static java.util.Collections.singletonList;
import static java.util.Collections.singletonMap;
import static org.assertj.core.api.Assertions.assertThatCode;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
Expand All @@ -31,6 +32,8 @@
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
Expand Down Expand Up @@ -120,8 +123,13 @@ void configFile_Valid() {
OpenTelemetrySdk.builder()
.setTracerProvider(
SdkTracerProvider.builder()
.setResource(
Resource.getDefault().toBuilder().put("service.name", "test").build())
.setEntityProvider(
new SdkEntityProvider(
singletonList(
Entity.create(
Resource.getDefault().toBuilder()
.put("service.name", "test")
.build()))))
.addSpanProcessor(SimpleSpanProcessor.create(LoggingSpanExporter.create()))
.build())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,14 @@

package io.opentelemetry.sdk.extension.incubator.fileconfig;

import static java.util.Collections.singletonList;

import io.opentelemetry.api.incubator.config.DeclarativeConfigException;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.OpenTelemetrySdkBuilder;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.EntityProvider;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
import io.opentelemetry.sdk.resources.Resource;
import java.util.Objects;
Expand Down Expand Up @@ -62,14 +67,15 @@ public OpenTelemetrySdk create(
}

if (model.getTracerProvider() != null) {
EntityProvider entityProvider = new SdkEntityProvider(singletonList(Entity.create(resource)));
builder.setTracerProvider(
context.addCloseable(
TracerProviderFactory.getInstance()
.create(
TracerProviderAndAttributeLimits.create(
model.getAttributeLimits(), model.getTracerProvider()),
context)
.setResource(resource)
.setEntityProvider(entityProvider)
.build()));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.EntityProvider;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.AlwaysOnSamplerModel;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.AttributeNameValueModel;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.BatchLogRecordProcessorModel;
Expand Down Expand Up @@ -149,6 +152,8 @@ void create_Configured() {
.put("shape", "square")
.put("order", "second")
.build();
EntityProvider entityProvider =
new SdkEntityProvider(Collections.singletonList(Entity.create(expectedResource)));
OpenTelemetrySdk expectedSdk =
OpenTelemetrySdk.builder()
.setPropagators(
Expand Down Expand Up @@ -176,7 +181,7 @@ void create_Configured() {
.build())
.setTracerProvider(
SdkTracerProvider.builder()
.setResource(expectedResource)
.setEntityProvider(entityProvider)
.setSpanLimits(
SpanLimits.builder()
.setMaxNumberOfAttributes(1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.common.Clock;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.entities.Entity;
import io.opentelemetry.sdk.entities.EntityProvider;
import io.opentelemetry.sdk.entities.SdkEntityProvider;
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
import io.opentelemetry.sdk.logs.export.LogRecordExporter;
import io.opentelemetry.sdk.logs.export.SimpleLogRecordProcessor;
Expand All @@ -40,6 +43,8 @@
import io.opentelemetry.sdk.trace.export.SpanExporter;
import io.opentelemetry.sdk.trace.samplers.Sampler;
import java.time.Duration;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -269,7 +274,7 @@ void fullOpenTelemetrySdkConfigurationDemo() {
.addSpanProcessor(SimpleSpanProcessor.create(mock(SpanExporter.class)))
.setClock(mock(Clock.class))
.setIdGenerator(mock(IdGenerator.class))
.setResource(Resource.empty())
.setEntityProvider(SdkEntityProvider.empty())
.setSpanLimits(SpanLimits.builder().setMaxNumberOfAttributes(512).build())
.build())
.setPropagators(ContextPropagators.create(mock(TextMapPropagator.class)))
Expand Down Expand Up @@ -379,11 +384,13 @@ void stringRepresentation() {
when(propagator.toString()).thenReturn("MockTextMapPropagator{}");
Resource resource =
Resource.builder().put(AttributeKey.stringKey("service.name"), "otel-test").build();
List<Entity> entities = Collections.singletonList(Entity.create(resource));
EntityProvider entityProvider = new SdkEntityProvider(entities);
OpenTelemetrySdk sdk =
OpenTelemetrySdk.builder()
.setTracerProvider(
SdkTracerProvider.builder()
.setResource(resource)
.setEntityProvider(entityProvider)
.addSpanProcessor(
SimpleSpanProcessor.create(
SpanExporter.composite(spanExporter, spanExporter)))
Expand Down
Loading
Loading