diff --git a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CompletionStageFunction.java b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CompletionStageFunction.java index 39d29527f99f..00b0989739e8 100644 --- a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CompletionStageFunction.java +++ b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CompletionStageFunction.java @@ -6,9 +6,9 @@ package io.opentelemetry.javaagent.instrumentation.cassandra.v4_0; import com.datastax.oss.driver.api.core.CqlSession; -import java.util.function.Function; +import java.util.function.UnaryOperator; -public class CompletionStageFunction implements Function { +public class CompletionStageFunction implements UnaryOperator { @Override public Object apply(Object session) { diff --git a/instrumentation/cassandra/cassandra-4.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_4/CompletionStageFunction.java b/instrumentation/cassandra/cassandra-4.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_4/CompletionStageFunction.java index 51fdd3d8749a..307ca2afb148 100644 --- a/instrumentation/cassandra/cassandra-4.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_4/CompletionStageFunction.java +++ b/instrumentation/cassandra/cassandra-4.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_4/CompletionStageFunction.java @@ -6,9 +6,9 @@ package io.opentelemetry.javaagent.instrumentation.cassandra.v4_4; import com.datastax.oss.driver.api.core.CqlSession; -import java.util.function.Function; +import java.util.function.UnaryOperator; -public class CompletionStageFunction implements Function { +public class CompletionStageFunction implements UnaryOperator { @Override public Object apply(Object session) { diff --git a/instrumentation/elasticsearch/elasticsearch-rest-7.0/library/src/main/java/io/opentelemetry/instrumentation/elasticsearch/rest/v7_0/RestClientWrapper.java b/instrumentation/elasticsearch/elasticsearch-rest-7.0/library/src/main/java/io/opentelemetry/instrumentation/elasticsearch/rest/v7_0/RestClientWrapper.java index db15873e195b..6fc97bf21098 100644 --- a/instrumentation/elasticsearch/elasticsearch-rest-7.0/library/src/main/java/io/opentelemetry/instrumentation/elasticsearch/rest/v7_0/RestClientWrapper.java +++ b/instrumentation/elasticsearch/elasticsearch-rest-7.0/library/src/main/java/io/opentelemetry/instrumentation/elasticsearch/rest/v7_0/RestClientWrapper.java @@ -14,8 +14,8 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.util.List; -import java.util.function.Function; import java.util.function.Supplier; +import java.util.function.UnaryOperator; import net.bytebuddy.ByteBuddy; import net.bytebuddy.description.modifier.Visibility; import net.bytebuddy.dynamic.loading.ClassLoadingStrategy; @@ -32,7 +32,7 @@ class RestClientWrapper { private static final Class proxyClass = createProxyClass(); private static final Field targetField = getTargetField(proxyClass); private static final Field instrumenterSupplierField = getInstrumenterSupplierField(proxyClass); - private static final Function proxyFactory = getProxyFactory(proxyClass); + private static final UnaryOperator proxyFactory = getProxyFactory(proxyClass); private static Class createProxyClass() { return new ByteBuddy() @@ -139,7 +139,7 @@ private static Instrumenter getInstrumenter( return supplier != null ? supplier.get() : null; } - private static Function getProxyFactory(Class clazz) { + private static UnaryOperator getProxyFactory(Class clazz) { for (Constructor constructor : clazz.getDeclaredConstructors()) { Class[] parameterTypes = constructor.getParameterTypes(); if (parameterTypes.length >= 3 diff --git a/instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/UnitConverter.java b/instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/UnitConverter.java index 8e4fbbf4da3f..f839cb9042a2 100644 --- a/instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/UnitConverter.java +++ b/instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/UnitConverter.java @@ -8,7 +8,7 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; -import java.util.function.Function; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; /** @@ -24,7 +24,7 @@ class UnitConverter { registerConversion("ns", "s", value -> value.doubleValue() / TimeUnit.SECONDS.toNanos(1)); } - private final Function convertingFunction; + private final UnaryOperator convertingFunction; /** * Get an instance of converter that is able to convert a value from a given source to a target @@ -66,7 +66,7 @@ public static UnitConverter getInstance(@Nullable String sourceUnit, String targ */ // visible for testing static void registerConversion( - String sourceUnit, String targetUnit, Function convertingFunction) { + String sourceUnit, String targetUnit, UnaryOperator convertingFunction) { if (sourceUnit.isEmpty()) { throw new IllegalArgumentException("Non empty sourceUnit must be provided"); } @@ -92,7 +92,7 @@ private static String buildConverterKey(String sourceUnit, String targetUnit) { * * @param convertingFunction an algorithm applied when converting value */ - UnitConverter(Function convertingFunction) { + UnitConverter(UnaryOperator convertingFunction) { this.convertingFunction = convertingFunction; } diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/context/InstrumentationApiContextBridging.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/context/InstrumentationApiContextBridging.java index eed3c4d281df..ae8222c8dfe1 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/context/InstrumentationApiContextBridging.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/context/InstrumentationApiContextBridging.java @@ -12,7 +12,7 @@ import java.lang.invoke.MethodType; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; final class InstrumentationApiContextBridging { @@ -199,13 +199,13 @@ final class InstrumentationApiContextBridging { } } - private static Function httpRouteStateConvert( + private static UnaryOperator httpRouteStateConvert( MethodHandle create, MethodHandle getMethod, MethodHandle getRoute, MethodHandle getUpdatedBySourceOrder, MethodHandle getSpan, - Function convertSpan) { + UnaryOperator convertSpan) { return httpRouteHolder -> { try { String method = (String) getMethod.invoke(httpRouteHolder); diff --git a/instrumentation/reactor/reactor-3.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactor/v3_1/ContextPropagationOperatorInstrumentationTest.java b/instrumentation/reactor/reactor-3.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactor/v3_1/ContextPropagationOperatorInstrumentationTest.java index 589b216236d8..87ae36736bb9 100644 --- a/instrumentation/reactor/reactor-3.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactor/v3_1/ContextPropagationOperatorInstrumentationTest.java +++ b/instrumentation/reactor/reactor-3.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactor/v3_1/ContextPropagationOperatorInstrumentationTest.java @@ -19,6 +19,7 @@ import java.lang.invoke.MethodHandles; import java.time.Duration; import java.util.function.Function; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -194,7 +195,7 @@ void storeContextForcesItToBecomeCurrent() { } private static class StoreOpenTelemetryContext - implements Function { + implements UnaryOperator { private final Span span; diff --git a/instrumentation/reactor/reactor-3.1/library/src/main/java/io/opentelemetry/instrumentation/reactor/v3_1/ContextPropagationOperator.java b/instrumentation/reactor/reactor-3.1/library/src/main/java/io/opentelemetry/instrumentation/reactor/v3_1/ContextPropagationOperator.java index ba2afc32978f..51044a219702 100644 --- a/instrumentation/reactor/reactor-3.1/library/src/main/java/io/opentelemetry/instrumentation/reactor/v3_1/ContextPropagationOperator.java +++ b/instrumentation/reactor/reactor-3.1/library/src/main/java/io/opentelemetry/instrumentation/reactor/v3_1/ContextPropagationOperator.java @@ -32,6 +32,7 @@ import java.lang.invoke.MethodHandles; import java.util.function.BiFunction; import java.util.function.Function; +import java.util.function.UnaryOperator; import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nullable; @@ -175,7 +176,7 @@ public void registerOnEachOperator() { } } - private static void registerScheduleHook(String key, Function function) { + private static void registerScheduleHook(String key, UnaryOperator function) { if (SCHEDULERS_HOOK_METHOD == null) { return; } @@ -252,7 +253,7 @@ private static T sneakyThrow(Throwable t) throws T { } private static class StoreOpenTelemetryContext - implements Function { + implements UnaryOperator { private final Context tracingContext; diff --git a/instrumentation/reactor/reactor-3.1/library/src/test/java/io/opentelemetry/instrumentation/reactor/v3_1/ReactorCoreTest.java b/instrumentation/reactor/reactor-3.1/library/src/test/java/io/opentelemetry/instrumentation/reactor/v3_1/ReactorCoreTest.java index cbc696656ab3..af468aa8a67a 100644 --- a/instrumentation/reactor/reactor-3.1/library/src/test/java/io/opentelemetry/instrumentation/reactor/v3_1/ReactorCoreTest.java +++ b/instrumentation/reactor/reactor-3.1/library/src/test/java/io/opentelemetry/instrumentation/reactor/v3_1/ReactorCoreTest.java @@ -25,6 +25,7 @@ import java.time.Duration; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Function; +import java.util.function.UnaryOperator; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -131,7 +132,7 @@ void fluxInNonBlockingPublisherAssembly() { (Flux) FLUX_CONTEXT_WRITE_METHOD.invoke( interim, - (Function) + (UnaryOperator) ctx -> { Context parent = ContextPropagationOperator.getOpenTelemetryContext( @@ -389,7 +390,7 @@ void doesNotOverrideInnerCurrentSpansWithThereIsOuterCurrent() { (Flux) FLUX_CONTEXT_WRITE_METHOD.invoke( interim, - (Function) + (UnaryOperator) context -> { // subscribers that know that their subscription can happen // ahead of time and in the 'wrong' context, has to clean up 'wrong' @@ -565,7 +566,7 @@ private Mono monoSpan(Mono mono, String spanName) { return (Mono) MONO_CONTEXT_WRITE_METHOD.invoke( interim, - (Function) + (UnaryOperator) ctx -> { Context parent = ContextPropagationOperator.getOpenTelemetryContext(ctx, Context.current()); diff --git a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/internal/MainJarPathFinder.java b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/internal/MainJarPathFinder.java index dec6f642deb4..71b6b7a8ee19 100644 --- a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/internal/MainJarPathFinder.java +++ b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/internal/MainJarPathFinder.java @@ -9,14 +9,14 @@ import java.nio.file.InvalidPathException; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; class MainJarPathFinder { private final Supplier getProcessHandleArguments; - private final Function getSystemProperty; + private final UnaryOperator getSystemProperty; private final Predicate fileExists; public MainJarPathFinder() { @@ -26,7 +26,7 @@ public MainJarPathFinder() { // visible for tests MainJarPathFinder( Supplier getProcessHandleArguments, - Function getSystemProperty, + UnaryOperator getSystemProperty, Predicate fileExists) { this.getProcessHandleArguments = getProcessHandleArguments; this.getSystemProperty = getSystemProperty; diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/JarServiceNameResourceExtractorTest.java b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/JarServiceNameResourceExtractorTest.java index 0a9596b0f1ce..a1aec5e9d454 100644 --- a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/JarServiceNameResourceExtractorTest.java +++ b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/JarServiceNameResourceExtractorTest.java @@ -12,8 +12,8 @@ import io.opentelemetry.sdk.resources.Resource; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.function.Function; import java.util.function.Predicate; +import java.util.function.UnaryOperator; import java.util.stream.Stream; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -29,7 +29,7 @@ class JarServiceNameResourceExtractorTest { @Test void extractResource_empty() { String[] processArgs = new String[0]; - Function getProperty = prop -> null; + UnaryOperator getProperty = prop -> null; Predicate fileExists = JarServiceNameResourceExtractorTest::failPath; JarServiceNameResourceExtractor serviceNameProvider = getExtractor(processArgs, getProperty, fileExists); @@ -40,7 +40,7 @@ void extractResource_empty() { } private static JarServiceNameResourceExtractor getExtractor( - String[] processArgs, Function getProperty, Predicate fileExists) { + String[] processArgs, UnaryOperator getProperty, Predicate fileExists) { return new JarServiceNameResourceExtractor( new MainJarPathFinder(() -> processArgs, getProperty, fileExists)); } @@ -100,7 +100,7 @@ static String[] getArgs(String jarName) { @ParameterizedTest @MethodSource("sunCommandLineArguments") void extractResource_sunCommandLine(String commandLine, Path jarPath) { - Function getProperty = + UnaryOperator getProperty = key -> "sun.java.command".equals(key) ? commandLine : null; Predicate fileExists = jarPath::equals; @@ -116,7 +116,7 @@ void extractResource_sunCommandLine(String commandLine, Path jarPath) { // https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7567 @Test void extractResource_sunCommandLineProblematicArgs() { - Function getProperty = + UnaryOperator getProperty = key -> key.equals("sun.java.command") ? "one C:/two" : null; Predicate fileExists = path -> false; diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/TypeTransformer.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/TypeTransformer.java index 7438e4b18f40..0d7e05a1dc0c 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/TypeTransformer.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/TypeTransformer.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.extension.instrumentation; -import java.util.function.Function; +import java.util.function.UnaryOperator; import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; @@ -25,7 +25,7 @@ public interface TypeTransformer { */ default void applyAdviceToMethod( ElementMatcher methodMatcher, String adviceClassName) { - applyAdviceToMethod(methodMatcher, Function.identity(), adviceClassName); + applyAdviceToMethod(methodMatcher, UnaryOperator.identity(), adviceClassName); } /** @@ -34,7 +34,7 @@ default void applyAdviceToMethod( */ void applyAdviceToMethod( ElementMatcher methodMatcher, - Function mappingCustomizer, + UnaryOperator mappingCustomizer, String adviceClassName); /** diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/TypeTransformerImpl.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/TypeTransformerImpl.java index 79dddf511b45..09025c2e5796 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/TypeTransformerImpl.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/TypeTransformerImpl.java @@ -9,7 +9,7 @@ import io.opentelemetry.javaagent.tooling.Utils; import io.opentelemetry.javaagent.tooling.bytebuddy.ExceptionHandlers; import io.opentelemetry.javaagent.tooling.instrumentation.indy.ForceDynamicallyTypedAssignReturnedFactory; -import java.util.function.Function; +import java.util.function.UnaryOperator; import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; @@ -31,7 +31,7 @@ final class TypeTransformerImpl implements TypeTransformer { @Override public void applyAdviceToMethod( ElementMatcher methodMatcher, - Function mappingCustomizer, + UnaryOperator mappingCustomizer, String adviceClassName) { agentBuilder = agentBuilder.transform( diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java index 45503746bdb4..0ac3f1a79af8 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java @@ -12,7 +12,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.function.BiFunction; -import java.util.function.Function; +import java.util.function.UnaryOperator; import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; @@ -51,7 +51,7 @@ public IndyTypeTransformerImpl( @Override public void applyAdviceToMethod( ElementMatcher methodMatcher, - Function mappingCustomizer, + UnaryOperator mappingCustomizer, String adviceClassName) { // default strategy used by AgentBuilder.Transformer.ForAdvice AgentBuilder.PoolStrategy poolStrategy = AgentBuilder.PoolStrategy.Default.FAST; diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/InstrumentationModuleClassLoader.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/InstrumentationModuleClassLoader.java index ef1dfeea6227..fe5740dce049 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/InstrumentationModuleClassLoader.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/InstrumentationModuleClassLoader.java @@ -25,7 +25,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Function; +import java.util.function.UnaryOperator; import java.util.stream.Collectors; import javax.annotation.Nullable; import net.bytebuddy.agent.builder.AgentBuilder; @@ -184,7 +184,7 @@ private static Set getModuleAdviceNames(InstrumentationModule module) { @Override public void applyAdviceToMethod( ElementMatcher methodMatcher, - Function mappingCustomizer, + UnaryOperator mappingCustomizer, String adviceClassName) { adviceNames.add(adviceClassName); } diff --git a/muzzle/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/generation/AdviceClassNameCollector.java b/muzzle/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/generation/AdviceClassNameCollector.java index 86896b0bb4d4..4a8b51ad330e 100644 --- a/muzzle/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/generation/AdviceClassNameCollector.java +++ b/muzzle/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/generation/AdviceClassNameCollector.java @@ -8,7 +8,7 @@ import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; import java.util.HashSet; import java.util.Set; -import java.util.function.Function; +import java.util.function.UnaryOperator; import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; @@ -20,7 +20,7 @@ final class AdviceClassNameCollector implements TypeTransformer { @Override public void applyAdviceToMethod( ElementMatcher methodMatcher, - Function mappingCustomizer, + UnaryOperator mappingCustomizer, String adviceClassName) { adviceClassNames.add(adviceClassName); }