Skip to content

Commit 2cb5327

Browse files
elastic-observability-automation[bot]obltmachineSylvainJugeLikeTheSalad
authored
Update upstream OpenTelemetry agent dependencies to 2.28.1 (#1110)
* chore: Update upstream OpenTelemetry agent version and related depend... ... encies Made with ❤️️ by updatecli * generate changelog entry * fix declarative config packaging changes * remove workaround in declarative config * fix null collection changes * Adding muzzle config file * chore: Update upstream OpenTelemetry agent version and related depend... ... encies Made with ❤️️ by updatecli * generate changelog entry --------- Co-authored-by: elastic-observability-automation[bot] <180520183+elastic-observability-automation[bot]@users.noreply.github.com> Co-authored-by: obltmachine <obltmachine@users.noreply.github.com> Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Co-authored-by: Cesar Munoz <56847527+LikeTheSalad@users.noreply.github.com>
1 parent 76a1d1d commit 2cb5327

8 files changed

Lines changed: 58 additions & 51 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"com.openai:openai-java#+": "2.20.1"
3+
}

custom/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ dependencies {
2626
compileOnly("io.opentelemetry:opentelemetry-api-incubator")
2727
compileOnly("io.opentelemetry:opentelemetry-exporter-otlp")
2828
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
29-
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-incubator")
29+
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-declarative-config")
3030
compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api")
3131
compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling")
3232
compileOnly(libs.bundles.semconv)
@@ -59,7 +59,7 @@ dependencies {
5959
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
6060
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
6161
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
62-
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
62+
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-declarative-config")
6363
testImplementation("io.opentelemetry:opentelemetry-exporter-otlp")
6464
testImplementation("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") {
6565
//The following dependency isn't actually needed, but breaks the classpath when testing with Java 8

custom/src/main/java/co/elastic/otel/declarativeconfig/ElasticDeclarativeConfigurationCustomizer.java

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,31 @@
2121
import static co.elastic.otel.ElasticUserAgentHeader.HEADER_NAME;
2222
import static co.elastic.otel.ElasticUserAgentHeader.OTLP_GRPC;
2323
import static co.elastic.otel.ElasticUserAgentHeader.OTLP_HTTP;
24-
import static java.util.Objects.requireNonNull;
2524
import static java.util.stream.Collectors.toSet;
2625

2726
import com.google.auto.service.AutoService;
28-
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfigurationCustomizer;
29-
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfigurationCustomizerProvider;
30-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.BatchLogRecordProcessorModel;
31-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.BatchSpanProcessorModel;
32-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ExperimentalResourceDetectionModel;
33-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ExperimentalResourceDetectorModel;
34-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.LogRecordExporterModel;
35-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.LoggerProviderModel;
36-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.MeterProviderModel;
37-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.NameStringValuePairModel;
38-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
39-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OtlpGrpcExporterModel;
40-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OtlpGrpcMetricExporterModel;
41-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OtlpHttpExporterModel;
42-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OtlpHttpMetricExporterModel;
43-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.PeriodicMetricReaderModel;
44-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.PushMetricExporterModel;
45-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ResourceModel;
46-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SimpleLogRecordProcessorModel;
47-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SimpleSpanProcessorModel;
48-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SpanExporterModel;
49-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.TracerProviderModel;
27+
import io.opentelemetry.sdk.autoconfigure.declarativeconfig.DeclarativeConfigurationCustomizer;
28+
import io.opentelemetry.sdk.autoconfigure.declarativeconfig.DeclarativeConfigurationCustomizerProvider;
29+
import io.opentelemetry.sdk.declarativeconfig.internal.model.BatchLogRecordProcessorModel;
30+
import io.opentelemetry.sdk.declarativeconfig.internal.model.BatchSpanProcessorModel;
31+
import io.opentelemetry.sdk.declarativeconfig.internal.model.ExperimentalResourceDetectionModel;
32+
import io.opentelemetry.sdk.declarativeconfig.internal.model.ExperimentalResourceDetectorModel;
33+
import io.opentelemetry.sdk.declarativeconfig.internal.model.LogRecordExporterModel;
34+
import io.opentelemetry.sdk.declarativeconfig.internal.model.LoggerProviderModel;
35+
import io.opentelemetry.sdk.declarativeconfig.internal.model.MeterProviderModel;
36+
import io.opentelemetry.sdk.declarativeconfig.internal.model.NameStringValuePairModel;
37+
import io.opentelemetry.sdk.declarativeconfig.internal.model.OpenTelemetryConfigurationModel;
38+
import io.opentelemetry.sdk.declarativeconfig.internal.model.OtlpGrpcExporterModel;
39+
import io.opentelemetry.sdk.declarativeconfig.internal.model.OtlpGrpcMetricExporterModel;
40+
import io.opentelemetry.sdk.declarativeconfig.internal.model.OtlpHttpExporterModel;
41+
import io.opentelemetry.sdk.declarativeconfig.internal.model.OtlpHttpMetricExporterModel;
42+
import io.opentelemetry.sdk.declarativeconfig.internal.model.PeriodicMetricReaderModel;
43+
import io.opentelemetry.sdk.declarativeconfig.internal.model.PushMetricExporterModel;
44+
import io.opentelemetry.sdk.declarativeconfig.internal.model.ResourceModel;
45+
import io.opentelemetry.sdk.declarativeconfig.internal.model.SimpleLogRecordProcessorModel;
46+
import io.opentelemetry.sdk.declarativeconfig.internal.model.SimpleSpanProcessorModel;
47+
import io.opentelemetry.sdk.declarativeconfig.internal.model.SpanExporterModel;
48+
import io.opentelemetry.sdk.declarativeconfig.internal.model.TracerProviderModel;
5049
import java.util.ArrayList;
5150
import java.util.Collections;
5251
import java.util.List;
@@ -90,18 +89,23 @@ private static void customizeResources(OpenTelemetryConfigurationModel model) {
9089
detectionDevelopment = new ExperimentalResourceDetectionModel();
9190
resource.withDetectionDevelopment(detectionDevelopment);
9291
}
93-
List<ExperimentalResourceDetectorModel> detectors =
94-
requireNonNull(detectionDevelopment.getDetectors());
95-
96-
Set<String> names =
97-
detectors.stream()
98-
.flatMap(detector -> detector.getAdditionalProperties().keySet().stream())
99-
.collect(toSet());
92+
List<ExperimentalResourceDetectorModel> detectors = detectionDevelopment.getDetectors();
93+
Set<String> names = Collections.emptySet();
94+
if (detectors != null) {
95+
names =
96+
detectors.stream()
97+
.flatMap(detector -> detector.getAdditionalProperties().keySet().stream())
98+
.collect(toSet());
99+
}
100100

101101
// add at the end to make it have priority over upstream distro provider (which is added 1st)
102102
if (!names.contains(ElasticDistroComponentProvider.NAME)) {
103103
ExperimentalResourceDetectorModel detector = new ExperimentalResourceDetectorModel();
104104
detector.getAdditionalProperties().put(ElasticDistroComponentProvider.NAME, null);
105+
if (detectors == null) {
106+
detectors = new ArrayList<>();
107+
detectionDevelopment.withDetectors(detectors);
108+
}
105109
detectors.add(detector);
106110
}
107111
}

custom/src/main/resources/co/elastic/otel/config.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,29 +69,23 @@ tracer_provider:
6969
composite/development:
7070
rule_based:
7171
rules:
72-
# FIXME those examples have an extra 'dummy-work-around' exclusion to avoid issue fixed in
73-
# https://github.com/open-telemetry/opentelemetry-java/pull/8356
74-
#
7572
# filter-out noisy spans from span attributes provided on span start
7673
# example 1: filter on user-agent header
7774
- attribute_patterns:
7875
key: user_agent.original
7976
included: [ 'example-noisy-user-agent/*']
80-
excluded: [ 'dummy-work-around']
8177
sampler:
8278
always_off:
8379
# example 2: filter on HTTP request path
8480
- attribute_patterns:
8581
key: url.path
8682
included: [ '/healthcheck-to-ignore-*']
87-
excluded: [ 'dummy-work-around']
8883
sampler:
8984
always_off:
9085
# example 3: filter on messaging destination
9186
- attribute_patterns:
9287
key: messaging.destination.name
9388
included: [ 'example-noisy-destination/*']
94-
excluded: [ 'dummy-work-around']
9589
sampler:
9690
always_off:
9791
# default sampler after rules filtering: parent-based with 100% sampling rate

custom/src/test/java/co/elastic/otel/declarativeconfig/DefaultDeclarativeConfigTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
import static org.assertj.core.api.Assertions.assertThat;
2525

2626
import io.opentelemetry.javaagent.tooling.resources.ResourceCustomizerProvider;
27-
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
28-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ExperimentalComposableRuleBasedSamplerRuleModel;
29-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ExperimentalLanguageSpecificInstrumentationModel;
30-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
31-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SamplerModel;
27+
import io.opentelemetry.sdk.autoconfigure.declarativeconfig.DeclarativeConfiguration;
28+
import io.opentelemetry.sdk.declarativeconfig.internal.model.ExperimentalComposableRuleBasedSamplerRuleModel;
29+
import io.opentelemetry.sdk.declarativeconfig.internal.model.ExperimentalLanguageSpecificInstrumentationModel;
30+
import io.opentelemetry.sdk.declarativeconfig.internal.model.OpenTelemetryConfigurationModel;
31+
import io.opentelemetry.sdk.declarativeconfig.internal.model.SamplerModel;
3232
import java.io.InputStream;
3333
import java.util.List;
3434
import java.util.function.Consumer;

custom/src/test/java/co/elastic/otel/declarativeconfig/ElasticDeclarativeConfigurationCustomizerTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424

2525
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
2626
import io.opentelemetry.javaagent.tooling.resources.ResourceCustomizerProvider;
27-
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfigurationCustomizer;
28-
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfigurationCustomizerProvider;
29-
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
27+
import io.opentelemetry.sdk.autoconfigure.declarativeconfig.DeclarativeConfigurationCustomizer;
28+
import io.opentelemetry.sdk.autoconfigure.declarativeconfig.DeclarativeConfigurationCustomizerProvider;
29+
import io.opentelemetry.sdk.declarativeconfig.internal.model.OpenTelemetryConfigurationModel;
3030
import io.opentelemetry.sdk.logs.export.LogRecordExporter;
3131
import io.opentelemetry.sdk.metrics.export.MetricExporter;
3232
import io.opentelemetry.sdk.trace.export.SpanExporter;
@@ -45,7 +45,7 @@ void defaultConfig() {
4545
model = applyConfigCustomize(model, new ElasticDeclarativeConfigurationCustomizer());
4646

4747
// ensures that we add our resource detector even if the model does not provide any
48-
assertThatJson(json(model.getResource())).inPath("attributes").isArray().isEmpty();
48+
assertThatJson(json(model.getResource())).inPath("attributes").isAbsent();
4949
assertThatJson(json(model.getResource()))
5050
.inPath("detection/development.detectors")
5151
.isArray()
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
prs:
2+
- https://github.com/elastic/elastic-otel-java/pull/1110
3+
type: enhancement
4+
products:
5+
- product: edot-java
6+
title: Update upstream OpenTelemetry agent dependencies to 2.28.1

gradle/libs.versions.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,18 @@ opentelemetryProto = "1.3.2-alpha"
1111

1212
# otel agent, we rely on the '*-alpha' and get the non-alpha dependencies transitively
1313
# updated from upstream agent with .ci/update-upstream.sh
14-
opentelemetryJavaagentAlpha = "2.27.0-alpha"
14+
opentelemetryJavaagentAlpha = "2.28.1-alpha"
1515

1616
# otel contrib
1717
# updated from upstream agent with .ci/update-upstream.sh
18-
opentelemetryContribAlpha = "1.55.0-alpha"
18+
opentelemetryContribAlpha = "1.57.0-alpha"
1919

2020
# otel semconv
2121
# updated from upstream agent with .ci/update-upstream.sh
2222
# While the semconv stable/incubating artifacts are provided as transitive dependencies, keeping
2323
# an explicit version here allows to easily override to a not-yet-released version.
24-
opentelemetrySemconv = "1.41.0"
25-
opentelemetrySemconvAlpha = "1.41.0-alpha"
24+
opentelemetrySemconv = "1.41.1"
25+
opentelemetrySemconvAlpha = "1.41.1-alpha"
2626

2727
[libraries]
2828

0 commit comments

Comments
 (0)