Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
6 changes: 6 additions & 0 deletions docs/changelog/89438.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
pr: 89438
summary: Upgrade OpenTelemetry API to 1.17.0
area: Infra/Core
type: upgrade
issues:
- 89414
18 changes: 9 additions & 9 deletions gradle/verification-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1254,19 +1254,19 @@
<sha256 value="5432d2e9a1bdc8a0e835c6bce52b9d767fbf688cc8892432cff97c3389894b46" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="io.opentelemetry" name="opentelemetry-api" version="1.15.0">
<artifact name="opentelemetry-api-1.15.0.jar">
<sha256 value="765999a64656f71c5ae22ba5942993f117af0ee277ef3f08d6e90dc765a3ed57" origin="Generated by Gradle"/>
<component group="io.opentelemetry" name="opentelemetry-api" version="1.17.0">
<artifact name="opentelemetry-api-1.17.0.jar">
<sha256 value="dce58a21caef0c6be082ce5ec86ad75f3017744a029a454e068871c110ae029c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="io.opentelemetry" name="opentelemetry-context" version="1.15.0">
<artifact name="opentelemetry-context-1.15.0.jar">
<sha256 value="fa47bc74477de40b6654454f33819fc619389d1b9bdb914bf78eea36d13998c9" origin="Generated by Gradle"/>
<component group="io.opentelemetry" name="opentelemetry-context" version="1.17.0">
<artifact name="opentelemetry-context-1.17.0.jar">
<sha256 value="ac5b7a7bda673b08d62d4dafe23a105ec4a7d0b7a967cda5597dcca994988227" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="io.opentelemetry" name="opentelemetry-semconv" version="1.15.0-alpha">
<artifact name="opentelemetry-semconv-1.15.0-alpha.jar">
<sha256 value="a9c5d6178299f82325da14334e08b7926e9525ed9aaca6323ce83786913ba369" origin="Generated by Gradle"/>
<component group="io.opentelemetry" name="opentelemetry-semconv" version="1.17.0-alpha">
<artifact name="opentelemetry-semconv-1.17.0-alpha.jar">
<sha256 value="272f310e8c3e9adad07a2b8910a520ce5c58d1e209661d57b5bd30e8b1614402" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="io.ous" name="jtoml" version="2.0.0">
Expand Down
8 changes: 5 additions & 3 deletions modules/apm/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ esplugin {
classname 'org.elasticsearch.tracing.apm.APM'
}

def otelVersion = '1.17.0'

dependencies {
implementation "io.opentelemetry:opentelemetry-api:1.15.0"
implementation "io.opentelemetry:opentelemetry-context:1.15.0"
implementation "io.opentelemetry:opentelemetry-semconv:1.15.0-alpha"
implementation "io.opentelemetry:opentelemetry-api:${otelVersion}"
implementation "io.opentelemetry:opentelemetry-context:${otelVersion}"
implementation "io.opentelemetry:opentelemetry-semconv:${otelVersion}-alpha"
runtimeOnly "co.elastic.apm:elastic-apm-agent:1.33.0"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286,47 +286,47 @@ private void setSpanAttributes(ThreadContext threadContext, @Nullable Map<String

@Override
public void addError(String spanId, Throwable throwable) {
final var span = spanFromContextOrNullWithoutLogging(spans.get(spanId));
final var span = Span.fromContextOrNull(spans.get(spanId));
if (span != null) {
span.recordException(throwable);
}
}

@Override
public void setAttribute(String spanId, String key, boolean value) {
final var span = spanFromContextOrNullWithoutLogging(spans.get(spanId));
final var span = Span.fromContextOrNull(spans.get(spanId));
if (span != null) {
span.setAttribute(key, value);
}
}

@Override
public void setAttribute(String spanId, String key, double value) {
final var span = spanFromContextOrNullWithoutLogging(spans.get(spanId));
final var span = Span.fromContextOrNull(spans.get(spanId));
if (span != null) {
span.setAttribute(key, value);
}
}

@Override
public void setAttribute(String spanId, String key, long value) {
final var span = spanFromContextOrNullWithoutLogging(spans.get(spanId));
final var span = Span.fromContextOrNull(spans.get(spanId));
if (span != null) {
span.setAttribute(key, value);
}
}

@Override
public void setAttribute(String spanId, String key, String value) {
final var span = spanFromContextOrNullWithoutLogging(spans.get(spanId));
final var span = Span.fromContextOrNull(spans.get(spanId));
if (span != null) {
span.setAttribute(key, value);
}
}

@Override
public void stopTrace(String spanId) {
final var span = spanFromContextOrNullWithoutLogging(spans.remove(spanId));
final var span = Span.fromContextOrNull(spans.remove(spanId));
if (span != null) {
logger.trace("Finishing trace [{}]", spanId);
span.end();
Expand All @@ -335,18 +335,12 @@ public void stopTrace(String spanId) {

@Override
public void addEvent(String spanId, String eventName) {
final var span = spanFromContextOrNullWithoutLogging(spans.get(spanId));
final var span = Span.fromContextOrNull(spans.get(spanId));
if (span != null) {
span.addEvent(eventName);
}
}

private static Span spanFromContextOrNullWithoutLogging(Context context) {
// Span.fromContextOrNull(null) is super-expensive today, see https://github.com/elastic/elasticsearch/issues/89107
// and https://github.com/open-telemetry/opentelemetry-java/pull/4663
return context == null ? null : Span.fromContextOrNull(context);
}

private static class MapKeyGetter implements TextMapGetter<Map<String, String>> {

@Override
Expand Down