Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 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
2 changes: 1 addition & 1 deletion dependencyManagement/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ val dependencyVersions = hashMapOf<String, String>()
rootProject.extra["versions"] = dependencyVersions

// this line is managed by .github/scripts/update-sdk-version.sh
val otelSdkVersion = "1.41.0"
val otelSdkVersion = "1.42.0"
val otelContribVersion = "1.38.0-alpha"
val otelSdkAlphaVersion = otelSdkVersion.replaceFirst("(-SNAPSHOT)?$".toRegex(), "-alpha$1")

Expand Down
2 changes: 1 addition & 1 deletion examples/distro/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ subprojects {
ext {
versions = [
// this line is managed by .github/scripts/update-sdk-version.sh
opentelemetrySdk : "1.41.0",
opentelemetrySdk : "1.42.0",

// these lines are managed by .github/scripts/update-version.sh
opentelemetryJavaagent : "2.8.0-SNAPSHOT",
Expand Down
2 changes: 1 addition & 1 deletion examples/extension/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ version '1.0'
ext {
versions = [
// this line is managed by .github/scripts/update-sdk-version.sh
opentelemetrySdk : "1.41.0",
opentelemetrySdk : "1.42.0",

// these lines are managed by .github/scripts/update-version.sh
opentelemetryJavaagent : "2.8.0-SNAPSHOT",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import static java.util.concurrent.TimeUnit.MILLISECONDS;

import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Value;
import io.opentelemetry.api.logs.Severity;
import io.opentelemetry.api.trace.SpanContext;
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
Expand Down Expand Up @@ -173,7 +174,7 @@ void testStringMapMessage() {
testing.waitAndAssertLogRecords(
logRecord ->
logRecord
.hasBody("")
.hasBody((Value<?>) null)
.hasInstrumentationScope(InstrumentationScopeInfo.builder("abc").build())
.hasSeverity(Severity.INFO)
.hasSeverityText("INFO")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class ApplicationDoubleGaugeBuilder implements DoubleGaugeBuilder {

private final io.opentelemetry.api.metrics.DoubleGaugeBuilder agentBuilder;

public ApplicationDoubleGaugeBuilder(
protected ApplicationDoubleGaugeBuilder(
io.opentelemetry.api.metrics.DoubleGaugeBuilder agentBuilder) {
this.agentBuilder = agentBuilder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class ApplicationDoubleHistogramBuilder implements DoubleHistogramBuilder

private final io.opentelemetry.api.metrics.DoubleHistogramBuilder agentBuilder;

public ApplicationDoubleHistogramBuilder(
protected ApplicationDoubleHistogramBuilder(
io.opentelemetry.api.metrics.DoubleHistogramBuilder agentBuilder) {
this.agentBuilder = agentBuilder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class ApplicationLongCounterBuilder implements LongCounterBuilder {

private final io.opentelemetry.api.metrics.LongCounterBuilder agentBuilder;

public ApplicationLongCounterBuilder(
protected ApplicationLongCounterBuilder(
io.opentelemetry.api.metrics.LongCounterBuilder agentBuilder) {
this.agentBuilder = agentBuilder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class ApplicationLongUpDownCounterBuilder implements LongUpDownCounterBui

private final io.opentelemetry.api.metrics.LongUpDownCounterBuilder agentBuilder;

public ApplicationLongUpDownCounterBuilder(
protected ApplicationLongUpDownCounterBuilder(
io.opentelemetry.api.metrics.LongUpDownCounterBuilder agentBuilder) {
this.agentBuilder = agentBuilder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ configurations.configureEach {
if (name == "testRuntimeClasspath" || name == "testCompileClasspath") {
resolutionStrategy {
force("io.opentelemetry:opentelemetry-api:1.27.0")
force("io.opentelemetry:opentelemetry-sdk-logs:1.27.0")
force("io.opentelemetry:opentelemetry-sdk-testing:1.27.0")
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeterFactory;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeterProvider;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_15.metrics.ApplicationMeterFactory115;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_27.logs.ApplicationLoggerFactory;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_27.logs.ApplicationLoggerFactory127;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_27.logs.ApplicationLoggerProvider;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_4.trace.ApplicationTracerProvider14;
import java.lang.reflect.InvocationTargetException;
Expand All @@ -39,7 +41,8 @@ private ApplicationOpenTelemetry127() {
new ApplicationContextPropagators(agentOpenTelemetry.getPropagators());
applicationMeterProvider =
new ApplicationMeterProvider(getMeterFactory(), agentOpenTelemetry.getMeterProvider());
applicationLoggerProvider = new ApplicationLoggerProvider(agentOpenTelemetry.getLogsBridge());
applicationLoggerProvider =
new ApplicationLoggerProvider(getLoggerFactory(), agentOpenTelemetry.getLogsBridge());
}

@Override
Expand Down Expand Up @@ -105,9 +108,29 @@ private static ApplicationMeterFactory getMeterFactory() {
}

private static ApplicationMeterFactory getMeterFactory(String className) {
return getFactory(className, ApplicationMeterFactory.class);
}

private static ApplicationLoggerFactory getLoggerFactory() {
// this class is defined in opentelemetry-api-1.42
ApplicationLoggerFactory loggerFactory =
getLoggerFactory(
"io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_42.logs.ApplicationLoggerFactory142");
if (loggerFactory == null) {
loggerFactory = new ApplicationLoggerFactory127();
}

return loggerFactory;
}

private static ApplicationLoggerFactory getLoggerFactory(String className) {
return getFactory(className, ApplicationLoggerFactory.class);
}

private static <T> T getFactory(String className, Class<T> factoryClass) {
try {
Class<?> clazz = Class.forName(className);
return (ApplicationMeterFactory) clazz.getConstructor().newInstance();
return factoryClass.cast(clazz.getConstructor().newInstance());
} catch (ClassNotFoundException
| NoSuchMethodException
| InstantiationException
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@
import java.time.Instant;
import java.util.concurrent.TimeUnit;

class ApplicationLogRecordBuilder implements LogRecordBuilder {
public class ApplicationLogRecordBuilder implements LogRecordBuilder {

private final io.opentelemetry.api.logs.LogRecordBuilder agentLogRecordBuilder;

ApplicationLogRecordBuilder(io.opentelemetry.api.logs.LogRecordBuilder agentLogRecordBuilder) {
protected ApplicationLogRecordBuilder(
io.opentelemetry.api.logs.LogRecordBuilder agentLogRecordBuilder) {
this.agentLogRecordBuilder = agentLogRecordBuilder;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
import application.io.opentelemetry.api.logs.LogRecordBuilder;
import application.io.opentelemetry.api.logs.Logger;

class ApplicationLogger implements Logger {
public class ApplicationLogger implements Logger {

private final io.opentelemetry.api.logs.Logger agentLogger;

ApplicationLogger(io.opentelemetry.api.logs.Logger agentLogger) {
protected ApplicationLogger(io.opentelemetry.api.logs.Logger agentLogger) {
this.agentLogger = agentLogger;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@

final class ApplicationLoggerBuilder implements LoggerBuilder {

private final ApplicationLoggerFactory loggerFactory;
private final io.opentelemetry.api.logs.LoggerBuilder agentBuilder;

ApplicationLoggerBuilder(io.opentelemetry.api.logs.LoggerBuilder agentBuilder) {
ApplicationLoggerBuilder(
ApplicationLoggerFactory loggerFactory,
io.opentelemetry.api.logs.LoggerBuilder agentBuilder) {
this.loggerFactory = loggerFactory;
this.agentBuilder = agentBuilder;
}

Expand All @@ -33,6 +37,6 @@ public LoggerBuilder setInstrumentationVersion(String version) {

@Override
public Logger build() {
return new ApplicationLogger(agentBuilder.build());
return loggerFactory.newLogger(agentBuilder.build());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_27.logs;

public interface ApplicationLoggerFactory {

ApplicationLogger newLogger(io.opentelemetry.api.logs.Logger agentLogger);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_27.logs;

import io.opentelemetry.api.logs.Logger;

public class ApplicationLoggerFactory127 implements ApplicationLoggerFactory {

@Override
public ApplicationLogger newLogger(Logger agentLogger) {
return new ApplicationLogger(agentLogger);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,19 @@
@SuppressWarnings("UnnecessarilyFullyQualified")
public class ApplicationLoggerProvider implements LoggerProvider {

private final ApplicationLoggerFactory loggerFactory;
private final io.opentelemetry.api.logs.LoggerProvider agentLoggerProvider;

public ApplicationLoggerProvider(io.opentelemetry.api.logs.LoggerProvider agentLoggerProvider) {
public ApplicationLoggerProvider(
ApplicationLoggerFactory loggerFactory,
io.opentelemetry.api.logs.LoggerProvider agentLoggerProvider) {
this.loggerFactory = loggerFactory;
this.agentLoggerProvider = agentLoggerProvider;
}

@Override
public LoggerBuilder loggerBuilder(String instrumentationName) {
return new ApplicationLoggerBuilder(agentLoggerProvider.loggerBuilder(instrumentationName));
return new ApplicationLoggerBuilder(
loggerFactory, agentLoggerProvider.loggerBuilder(instrumentationName));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@
import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder;
import application.io.opentelemetry.api.metrics.LongCounterBuilder;
import application.io.opentelemetry.api.metrics.LongUpDownCounterBuilder;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationDoubleGaugeBuilder;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationDoubleHistogramBuilder;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationLongCounterBuilder;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationLongUpDownCounterBuilder;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_15.metrics.ApplicationMeter115;

public class ApplicationMeter131 extends ApplicationMeter115 {
Expand All @@ -26,39 +22,21 @@ protected ApplicationMeter131(io.opentelemetry.api.metrics.Meter agentMeter) {

@Override
public LongCounterBuilder counterBuilder(String name) {
io.opentelemetry.api.metrics.LongCounterBuilder builder = agentMeter.counterBuilder(name);
if (builder instanceof io.opentelemetry.api.incubator.metrics.ExtendedLongCounterBuilder) {
return new ApplicationLongCounterBuilder131(builder);
}
return new ApplicationLongCounterBuilder(builder);
return new ApplicationLongCounterBuilder131(agentMeter.counterBuilder(name));
}

@Override
public LongUpDownCounterBuilder upDownCounterBuilder(String name) {
io.opentelemetry.api.metrics.LongUpDownCounterBuilder builder =
agentMeter.upDownCounterBuilder(name);
if (builder
instanceof io.opentelemetry.api.incubator.metrics.ExtendedLongUpDownCounterBuilder) {
return new ApplicationLongUpDownCounterBuilder131(builder);
}
return new ApplicationLongUpDownCounterBuilder(builder);
return new ApplicationLongUpDownCounterBuilder131(agentMeter.upDownCounterBuilder(name));
}

@Override
public DoubleHistogramBuilder histogramBuilder(String name) {
io.opentelemetry.api.metrics.DoubleHistogramBuilder builder = agentMeter.histogramBuilder(name);
if (builder instanceof io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder) {
return new ApplicationDoubleHistogramBuilder131(builder);
}
return new ApplicationDoubleHistogramBuilder(builder);
return new ApplicationDoubleHistogramBuilder131(agentMeter.histogramBuilder(name));
}

@Override
public DoubleGaugeBuilder gaugeBuilder(String name) {
io.opentelemetry.api.metrics.DoubleGaugeBuilder builder = agentMeter.gaugeBuilder(name);
if (builder instanceof io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder) {
return new ApplicationDoubleGaugeBuilder131(builder);
}
return new ApplicationDoubleGaugeBuilder(builder);
return new ApplicationDoubleGaugeBuilder131(agentMeter.gaugeBuilder(name));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;

import static java.util.Collections.emptyList;
import static org.assertj.core.api.Assertions.assertThat;

import io.opentelemetry.api.metrics.DoubleGaugeBuilder;
Expand All @@ -29,15 +30,19 @@ void noopInstance() {
Meter meter = testing.getOpenTelemetry().getMeter("test");

LongCounterBuilder counterBuilder = meter.counterBuilder("test");
assertThat(counterBuilder).isNotInstanceOf(ExtendedLongCounterBuilder.class);
assertThat(counterBuilder).isInstanceOf(ExtendedLongCounterBuilder.class);
((ExtendedLongCounterBuilder) counterBuilder).setAttributesAdvice(emptyList());

LongUpDownCounterBuilder upDownCounterBuilder = meter.upDownCounterBuilder("test");
assertThat(upDownCounterBuilder).isNotInstanceOf(ExtendedLongUpDownCounterBuilder.class);
assertThat(upDownCounterBuilder).isInstanceOf(ExtendedLongUpDownCounterBuilder.class);
((ExtendedLongUpDownCounterBuilder) upDownCounterBuilder).setAttributesAdvice(emptyList());

DoubleGaugeBuilder gaugeBuilder = meter.gaugeBuilder("test");
assertThat(gaugeBuilder).isNotInstanceOf(ExtendedDoubleGaugeBuilder.class);
assertThat(gaugeBuilder).isInstanceOf(ExtendedDoubleGaugeBuilder.class);
((ExtendedDoubleGaugeBuilder) gaugeBuilder).setAttributesAdvice(emptyList());

DoubleHistogramBuilder histogramBuilder = meter.histogramBuilder("test");
assertThat(histogramBuilder).isNotInstanceOf(ExtendedDoubleHistogramBuilder.class);
assertThat(histogramBuilder).isInstanceOf(ExtendedDoubleHistogramBuilder.class);
((ExtendedDoubleHistogramBuilder) histogramBuilder).setAttributesAdvice(emptyList());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_32.incubator.metrics;

import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationDoubleHistogramBuilder;
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics.ApplicationMeter131;

class ApplicationMeter132Incubator extends ApplicationMeter131 {
Expand All @@ -20,10 +19,6 @@ class ApplicationMeter132Incubator extends ApplicationMeter131 {

@Override
public DoubleHistogramBuilder histogramBuilder(String name) {
io.opentelemetry.api.metrics.DoubleHistogramBuilder builder = agentMeter.histogramBuilder(name);
if (builder instanceof io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder) {
return new ApplicationDoubleHistogramBuilder132Incubator(builder);
}
return new ApplicationDoubleHistogramBuilder(builder);
return new ApplicationDoubleHistogramBuilder132Incubator(agentMeter.histogramBuilder(name));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_32.incubator.metrics;

import static java.util.Collections.emptyList;
import static org.assertj.core.api.Assertions.assertThat;

import io.opentelemetry.api.metrics.DoubleGaugeBuilder;
Expand All @@ -29,15 +30,19 @@ void noopInstance() {
Meter meter = testing.getOpenTelemetry().getMeter("test");

LongCounterBuilder counterBuilder = meter.counterBuilder("test");
assertThat(counterBuilder).isNotInstanceOf(ExtendedLongCounterBuilder.class);
assertThat(counterBuilder).isInstanceOf(ExtendedLongCounterBuilder.class);
((ExtendedLongCounterBuilder) counterBuilder).setAttributesAdvice(emptyList());

LongUpDownCounterBuilder upDownCounterBuilder = meter.upDownCounterBuilder("test");
assertThat(upDownCounterBuilder).isNotInstanceOf(ExtendedLongUpDownCounterBuilder.class);
assertThat(upDownCounterBuilder).isInstanceOf(ExtendedLongUpDownCounterBuilder.class);
((ExtendedLongUpDownCounterBuilder) upDownCounterBuilder).setAttributesAdvice(emptyList());

DoubleGaugeBuilder gaugeBuilder = meter.gaugeBuilder("test");
assertThat(gaugeBuilder).isNotInstanceOf(ExtendedDoubleGaugeBuilder.class);
assertThat(gaugeBuilder).isInstanceOf(ExtendedDoubleGaugeBuilder.class);
((ExtendedDoubleGaugeBuilder) gaugeBuilder).setAttributesAdvice(emptyList());

DoubleHistogramBuilder histogramBuilder = meter.histogramBuilder("test");
assertThat(histogramBuilder).isNotInstanceOf(ExtendedDoubleHistogramBuilder.class);
assertThat(histogramBuilder).isInstanceOf(ExtendedDoubleHistogramBuilder.class);
((ExtendedDoubleHistogramBuilder) histogramBuilder).setAttributesAdvice(emptyList());
}
}
Loading
Loading