From 6d5ec329d666dd385e79934d9c0a9a417667ddea Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 16 Nov 2020 18:46:59 -0800 Subject: [PATCH] Enable checkstyle for google style guide (#1641) --- .../io/opentelemetry/perftest/Worker.java | 6 +- .../perftest/jetty/JettyPerftest.java | 18 +- .../perf-test-default-settings.rc | 8 +- .../app/controllers/HomeController.scala | 24 +- .../app/controllers/Worker.scala | 8 +- .../play-perftest/conf/routes | 2 +- .../benchmark/classes/HttpClass.java | 13 +- docs/contributing/style-guideline.md | 18 +- gradle/checkstyle.gradle | 8 + gradle/enforcement/checkstyle.xml | 396 ++++++++++++++++++ gradle/java.gradle | 1 + gradle/spotbugs-exclude.xml | 33 +- .../instrumentation/api/config/Config.java | 23 +- .../apachecamel/CamelTracer.java | 6 +- .../apachecamel/SpanDecorator.java | 17 +- .../decorators/BaseSpanDecorator.java | 4 +- .../decorators/DbSpanDecorator.java | 86 ++-- .../decorators/HttpSpanDecorator.java | 6 +- .../decorators/KafkaSpanDecorator.java | 3 +- .../decorators/MessagingSpanDecorator.java | 31 +- .../v4_0/HostAndRequestAsHttpUriRequest.java | 14 +- .../v1_0/server/OpenTelemetryService.java | 3 +- .../v1_0/ApiGatewayProxyRequest.java | 4 +- .../v1_0/AwsLambdaMessageTracer.java | 3 +- .../awslambda/v1_0/AwsLambdaTracer.java | 3 +- .../v1_0/ParentContextExtractor.java | 2 +- ...ndler.java => TracingSqsEventHandler.java} | 8 +- ...ler.java => TracingSqsMessageHandler.java} | 9 +- .../awslambda/v1_0/WrappedLambda.java | 2 - .../v1_0/AwsLambdaSqsHandlerTest.groovy | 2 +- .../AwsLambdaSqsMessageHandlerTest.groovy | 6 +- .../v1_11/AwsClientInstrumentation.java | 4 +- .../awssdk/v1_11/TracingRequestHandler.java | 2 +- ...lientTest.groovy => Aws1ClientTest.groovy} | 8 +- ...lientTest.groovy => Aws0ClientTest.groovy} | 8 +- .../v2_2/TracingExecutionInterceptor.java | 2 +- .../CassandraClientInstrumentationModule.java | 1 - .../test/groovy/TraceAnnotationsTest.groovy | 8 +- .../test/annotation/SayTracedHello.java | 4 +- .../HttpUrlConnectionTracer.java | 4 +- .../ClassLoaderInstrumentation.java | 2 +- .../test/groovy/ResourceInjectionTest.groovy | 4 +- .../AbstractExecutorInstrumentation.java | 26 +- ...tandardExecutorsInstrumentationModule.java | 3 +- .../httpclient/HttpHeadersInjectAdapter.java | 2 +- .../jdbc/ConnectionInstrumentation.java | 6 +- .../jdbc/{DBInfo.java => DbInfo.java} | 14 +- .../jdbc/DriverInstrumentation.java | 6 +- ...rser.java => JdbcConnectionUrlParser.java} | 128 +++--- .../JdbcDataSourceInstrumentationModule.java | 44 +- .../jdbc/JdbcInstrumentationModule.java | 44 +- .../jdbc/{JDBCMaps.java => JdbcMaps.java} | 4 +- .../instrumentation/jdbc/JdbcTracer.java | 36 +- .../jdbc/{JDBCUtils.java => JdbcUtils.java} | 11 +- ...ovy => JdbcConnectionUrlParserTest.groovy} | 10 +- ....groovy => JdbcInstrumentationTest.groovy} | 24 +- .../{JMS2Test.groovy => Jms2Test.groovy} | 18 +- ...t.groovy => SpringListenerJms2Test.groovy} | 14 +- ...t.groovy => SpringTemplateJms2Test.groovy} | 12 +- .../jms2Test/groovy/listener/Config.groovy | 2 +- .../groovy/listener/TestListener.groovy | 2 +- .../jms/JmsInstrumentationModule.java | 10 +- ...=> JmsMessageConsumerInstrumentation.java} | 8 +- ...=> JmsMessageListenerInstrumentation.java} | 6 +- ...=> JmsMessageProducerInstrumentation.java} | 8 +- ...on.java => JmsSessionInstrumentation.java} | 6 +- .../jms/{JMSTracer.java => JmsTracer.java} | 20 +- .../{JMS1Test.groovy => Jms1Test.groovy} | 26 +- ...t.groovy => SpringListenerJms1Test.groovy} | 14 +- ...t.groovy => SpringTemplateJms1Test.groovy} | 18 +- .../test/groovy/listener/TestListener.groovy | 2 +- .../jsp/HttpJspPageInstrumentation.java | 2 +- .../JspCompilationContextInstrumentation.java | 2 +- .../jsp/JspInstrumentationModule.java | 2 +- .../jsp/{JSPTracer.java => JspTracer.java} | 10 +- ...vy => JspInstrumentationBasicTests.groovy} | 6 +- ... => JspInstrumentationForwardTests.groovy} | 6 +- .../kubernetesclient/KubernetesVerb.java | 3 +- .../lettuce/v4_0/InstrumentationPoints.java | 6 +- .../LettuceAbstractDatabaseClientTracer.java | 4 +- .../lettuce/v4_0/RedisConnectionAdvice.java | 4 +- .../lettuce/v5_0/ConnectionFutureAdvice.java | 4 +- .../LettuceAbstractDatabaseClientTracer.java | 4 +- .../lettuce/v5_0/LettuceAsyncBiFunction.java | 2 +- .../v5_0/LettuceInstrumentationUtil.java | 5 +- .../v1_2/LoggingEventInstrumentation.java | 2 + .../javaagent/logback-1.0-javaagent.gradle} | 4 +- .../v1_0}/LogbackInstrumentationModule.java | 8 +- .../logback/v1_0}/LoggerInstrumentation.java | 2 +- .../v1_0}/LoggingEventInstrumentation.java | 4 +- .../logback/v1_0}/LogbackTest.groovy | 4 +- .../javaagent/src/test/resources/logback.xml | 0 .../library/NOTICE.txt | 0 .../library/README.md | 4 +- .../library/logback-1.0-library.gradle} | 2 +- .../logback/v1_0}/LoggingEventWrapper.java | 2 +- .../logback/v1_0}/OpenTelemetryAppender.java | 4 +- .../logback/v1_0}/internal/UnionMap.java | 2 +- .../logback/v1_0}/LogbackTest.groovy | 2 +- .../v1_0}/internal/UnionMapTest.groovy | 2 +- .../library/src/test/resources/logback.xml | 10 +- .../testing/logback-1.0-testing.gradle} | 2 +- .../logback/v1_0}/AbstractLogbackTest.groovy | 4 +- ...thSpanAnnotationInstrumentationModule.java | 2 +- .../instrumentation/oshi/ProcessMetrics.java | 4 +- .../instrumentation/oshi/SystemMetrics.java | 4 +- .../playws/v1_0/AsyncHandlerWrapper.java | 2 +- .../v1_0/PlayWsInstrumentationModule.java | 4 +- ...entTest.groovy => PlayWsClientTest.groovy} | 8 +- .../playws/v2_0/AsyncHandlerWrapper.java | 2 +- .../v2_0/PlayWsInstrumentationModule.java | 4 +- ...entTest.groovy => PlayWsClientTest.groovy} | 8 +- .../playws/v2_1/AsyncHandlerWrapper.java | 2 +- .../v2_1/PlayWsInstrumentationModule.java | 4 +- ...entTest.groovy => PlayWsClientTest.groovy} | 8 +- ...entTracer.java => PlayWsClientTracer.java} | 6 +- ...ase.groovy => PlayWsClientTestBase.groovy} | 2 +- ...entTest.groovy => PlayWsClientTest.groovy} | 2 +- ...entTest.groovy => PlayWsClientTest.groovy} | 2 +- .../src/test/groovy/RabbitMQTest.groovy | 5 +- .../rmi/context/ContextPayload.java | 2 +- .../rmi/context/ContextPropagator.java | 4 +- .../RmiClientContextInstrumentation.java | 2 +- .../java/rx/__OpenTelemetryTracingUtil.java | 1 + .../src/slickTest/groovy/SlickTest.groovy | 4 +- .../ServletAndFilterChainInstrumentation.java | 1 + .../autoconfigure/TracerProperties.java | 9 +- .../jaeger/JaegerSpanExporterProperties.java | 2 +- .../LoggingSpanExporterProperties.java | 2 +- .../otlp/OtlpGrpcSpanExporterProperties.java | 2 +- .../zipkin/ZipkinSpanExporterProperties.java | 2 +- .../webclient/WebClientBeanPostProcessor.java | 4 +- .../TracerAutoConfigurationTest.java | 2 +- .../TraceAspectAutoConfigurationTest.java | 2 +- .../aspects/WithSpanAspectTest.java | 2 +- .../RestTemplateAutoConfigurationTest.java | 2 +- .../WebClientAutoConfigurationTest.java | 2 +- .../WebMvcFilterAutoConfigurationTest.java | 2 +- .../WebApplicationContextInstrumentation.java | 2 +- javaagent-api/javaagent-api.gradle | 4 - .../instrumentation/api/ContextStore.java | 10 +- .../api/InstrumentationContext.java | 2 +- .../api/Java8BytecodeBridge.java | 2 +- .../instrumentation/api/SpanWithScope.java | 6 +- .../api/concurrent/AdviceUtils.java | 4 +- .../api/db/SqlStatementInfo.java | 8 +- .../instrumentation/api/WeakMapTest.groovy | 2 +- .../javaagent/bootstrap/AgentClassLoader.java | 8 +- .../javaagent/bootstrap/AgentInitializer.java | 16 +- .../FieldBackedContextStoreAppliedMarker.java | 4 +- ...andler.java => InternalJarUrlHandler.java} | 14 +- .../InternalJarURLHandlerTest.groovy | 10 +- .../javaagent/spi/config/PropertySource.java | 6 +- .../javaagent/tooling/ClassLoaderMatcher.java | 3 +- .../javaagent/tooling/GuavaWeakCache.java | 12 +- .../javaagent/tooling/HelperInjector.java | 1 + .../tooling/InstrumentationModule.java | 6 +- .../tooling/TypeInstrumentation.java | 8 +- .../javaagent/tooling/Utils.java | 2 +- .../javaagent/tooling/VersionLogger.java | 1 - .../bytebuddy/AgentCachingPoolStrategy.java | 2 +- .../matcher/AgentElementMatchers.java | 2 +- .../matcher/SafeHasSuperTypeMatcher.java | 1 + .../tooling/context/FieldBackedProvider.java | 29 +- .../javaagent/tooling/muzzle/Reference.java | 2 +- .../muzzle/collector/ReferenceCollector.java | 4 +- .../matcher/HelperReferenceWrapper.java | 18 +- .../matcher/MuzzleGradlePluginUtil.java | 4 +- .../javaagent/typed/base/BaseTypedSpan.java | 36 -- .../javaagent/typed/base/BaseTypedTracer.java | 61 --- .../javaagent/typed/base/DelegatingSpan.java | 125 ------ .../typed/client/ClientTypedSpan.java | 25 -- .../typed/client/ClientTypedTracer.java | 23 - .../client/http/HttpClientTypedSpan.java | 17 - .../client/http/HttpClientTypedTracer.java | 27 -- .../typed/server/ServerTypedSpan.java | 25 -- .../typed/server/ServerTypedTracer.java | 24 -- .../server/http/HttpServerTypedSpan.java | 17 - .../server/http/HttpServerTypedTracer.java | 25 -- .../javaagent/test/HelperInjectionTest.groovy | 8 +- .../tooling/PeriodicSchedulingTest.groovy | 4 +- .../tooling/WeakConcurrentSupplierTest.groovy | 10 +- .../typed/TypedTracerDemonstration.java | 49 --- .../client/SampleHttpClientTypedSpan.java | 34 -- .../client/SampleHttpClientTypedTracer.java | 41 -- .../server/SampleHttpServerTypedSpan.java | 34 -- .../server/SampleHttpServerTypedTracer.java | 48 --- .../javaagent/test/HelperClass.java | 2 +- .../javaagent/OpenTelemetryAgent.java | 28 +- .../classloading/ClassLoadingTest.groovy | 4 +- .../javaagent/IntegrationTestUtils.java | 9 +- .../jvmbootstraptest/AgentLoadedChecker.java | 2 +- settings.gradle | 6 +- .../instrumentation/test/AgentTestRunner.java | 3 +- .../test/utils/ClasspathUtils.java | 2 - .../test/utils/ExceptionUtils.java | 4 +- .../context/FieldBackedProviderTest.groovy | 4 +- .../muzzle/ReferenceCollectorTest.groovy | 10 +- .../groovy/muzzle/ReferenceMatcherTest.groovy | 4 +- ...a => IbmResourceLevelInstrumentation.java} | 6 +- .../instrumentation/TestHelperClasses.java | 3 + .../java/muzzle/MuzzleWeakReferenceTest.java | 4 +- .../src/test/java/muzzle/TestClasses.java | 22 +- .../util/gc/{GCUtils.java => GcUtils.java} | 8 +- 204 files changed, 1158 insertions(+), 1361 deletions(-) create mode 100644 gradle/checkstyle.gradle create mode 100644 gradle/enforcement/checkstyle.xml rename instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/{TracingSQSEventHandler.java => TracingSqsEventHandler.java} (89%) rename instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/{TracingSQSMessageHandler.java => TracingSqsMessageHandler.java} (87%) rename instrumentation/aws-sdk/aws-sdk-1.11/src/test/groovy/{AWS1ClientTest.groovy => Aws1ClientTest.groovy} (99%) rename instrumentation/aws-sdk/aws-sdk-1.11/src/test_before_1_11_106/groovy/{AWS0ClientTest.groovy => Aws0ClientTest.groovy} (99%) rename instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/{DBInfo.java => DbInfo.java} (92%) rename instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/{JDBCConnectionUrlParser.java => JdbcConnectionUrlParser.java} (88%) rename instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/{JDBCMaps.java => JdbcMaps.java} (88%) rename instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/{JDBCUtils.java => JdbcUtils.java} (91%) rename instrumentation/jdbc/src/test/groovy/{JDBCConnectionUrlParserTest.groovy => JdbcConnectionUrlParserTest.groovy} (99%) rename instrumentation/jdbc/src/test/groovy/{JDBCInstrumentationTest.groovy => JdbcInstrumentationTest.groovy} (97%) rename instrumentation/jms-1.1/src/jms2Test/groovy/{JMS2Test.groovy => Jms2Test.groovy} (95%) rename instrumentation/jms-1.1/src/jms2Test/groovy/{SpringListenerJMS2Test.groovy => SpringListenerJms2Test.groovy} (66%) rename instrumentation/jms-1.1/src/jms2Test/groovy/{SpringTemplateJMS2Test.groovy => SpringTemplateJms2Test.groovy} (91%) rename instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/{JMSMessageConsumerInstrumentation.java => JmsMessageConsumerInstrumentation.java} (91%) rename instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/{JMSMessageListenerInstrumentation.java => JmsMessageListenerInstrumentation.java} (92%) rename instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/{JMSMessageProducerInstrumentation.java => JmsMessageProducerInstrumentation.java} (94%) rename instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/{JMSSessionInstrumentation.java => JmsSessionInstrumentation.java} (91%) rename instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/{JMSTracer.java => JmsTracer.java} (92%) rename instrumentation/jms-1.1/src/test/groovy/{JMS1Test.groovy => Jms1Test.groovy} (93%) rename instrumentation/jms-1.1/src/test/groovy/{SpringListenerJMS1Test.groovy => SpringListenerJms1Test.groovy} (68%) rename instrumentation/jms-1.1/src/test/groovy/{SpringTemplateJMS1Test.groovy => SpringTemplateJms1Test.groovy} (87%) rename instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/{JSPTracer.java => JspTracer.java} (91%) rename instrumentation/jsp-2.3/src/test/groovy/{JSPInstrumentationBasicTests.groovy => JspInstrumentationBasicTests.groovy} (99%) rename instrumentation/jsp-2.3/src/test/groovy/{JSPInstrumentationForwardTests.groovy => JspInstrumentationForwardTests.groovy} (99%) rename instrumentation/logback/{logback-1.0.0/javaagent/logback-1.0.0-javaagent.gradle => logback-1.0/javaagent/logback-1.0-javaagent.gradle} (84%) rename instrumentation/logback/{logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0 => logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0}/LogbackInstrumentationModule.java (74%) rename instrumentation/logback/{logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0 => logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0}/LoggerInstrumentation.java (96%) rename instrumentation/logback/{logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0 => logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0}/LoggingEventInstrumentation.java (95%) rename instrumentation/logback/{logback-1.0.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0 => logback-1.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0}/LogbackTest.groovy (61%) rename instrumentation/logback/{logback-1.0.0 => logback-1.0}/javaagent/src/test/resources/logback.xml (100%) rename instrumentation/logback/{logback-1.0.0 => logback-1.0}/library/NOTICE.txt (100%) rename instrumentation/logback/{logback-1.0.0 => logback-1.0}/library/README.md (95%) rename instrumentation/logback/{logback-1.0.0/library/logback-1.0.0-library.gradle => logback-1.0/library/logback-1.0-library.gradle} (96%) rename instrumentation/logback/{logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0 => logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0}/LoggingEventWrapper.java (97%) rename instrumentation/logback/{logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0 => logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0}/OpenTelemetryAppender.java (95%) rename instrumentation/logback/{logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0 => logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0}/internal/UnionMap.java (98%) rename instrumentation/logback/{logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0 => logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0}/LogbackTest.groovy (81%) rename instrumentation/logback/{logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0 => logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0}/internal/UnionMapTest.groovy (96%) rename instrumentation/logback/{logback-1.0.0 => logback-1.0}/library/src/test/resources/logback.xml (84%) rename instrumentation/logback/{logback-1.0.0/testing/logback-1.0.0-testing.gradle => logback-1.0/testing/logback-1.0-testing.gradle} (92%) rename instrumentation/logback/{logback-1.0.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0_0 => logback-1.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0}/AbstractLogbackTest.groovy (98%) rename instrumentation/play-ws/play-ws-1.0/src/test/groovy/{PlayWSClientTest.groovy => PlayWsClientTest.groovy} (94%) rename instrumentation/play-ws/play-ws-2.0/src/test/groovy/{PlayWSClientTest.groovy => PlayWsClientTest.groovy} (94%) rename instrumentation/play-ws/play-ws-2.1/src/test/groovy/{PlayWSClientTest.groovy => PlayWsClientTest.groovy} (94%) rename instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/{PlayWSClientTracer.java => PlayWsClientTracer.java} (89%) rename instrumentation/play-ws/play-ws-testing/src/main/groovy/{PlayWSClientTestBase.groovy => PlayWsClientTestBase.groovy} (96%) rename instrumentation/play/play-2.3/src/test/groovy/client/{PlayWSClientTest.groovy => PlayWsClientTest.groovy} (97%) rename instrumentation/play/play-2.4/src/test/groovy/client/{PlayWSClientTest.groovy => PlayWsClientTest.groovy} (96%) rename javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/{InternalJarURLHandler.java => InternalJarUrlHandler.java} (90%) delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedSpan.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedTracer.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/DelegatingSpan.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedSpan.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedTracer.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedSpan.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedTracer.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedSpan.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedTracer.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedSpan.java delete mode 100644 javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedTracer.java delete mode 100644 javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/TypedTracerDemonstration.java delete mode 100644 javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedSpan.java delete mode 100644 javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedTracer.java delete mode 100644 javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedSpan.java delete mode 100644 javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedTracer.java rename testing-common/src/test/java/{IBMResourceLevelInstrumentation.java => IbmResourceLevelInstrumentation.java} (89%) rename utils/test-utils/src/main/java/io/opentelemetry/instrumentation/util/gc/{GCUtils.java => GcUtils.java} (73%) diff --git a/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/Worker.java b/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/Worker.java index 59f2f155b7..3db94dc80b 100644 --- a/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/Worker.java +++ b/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/Worker.java @@ -16,16 +16,16 @@ public class Worker { private static final Tracer tracer = OpenTelemetry.getGlobalTracer("io.opentelemetry.auto"); /** Simulate work for the give number of milliseconds. */ - public static void doWork(long workTimeMS) { + public static void doWork(long workTimeMillis) { Span span = tracer.spanBuilder("work").startSpan(); try (Scope scope = span.makeCurrent()) { if (span != null) { - span.setAttribute("work-time", workTimeMS); + span.setAttribute("work-time", workTimeMillis); span.setAttribute("info", "interesting stuff"); span.setAttribute("additionalInfo", "interesting stuff"); } - long doneTimestamp = System.nanoTime() + TimeUnit.MILLISECONDS.toNanos(workTimeMS); + long doneTimestamp = System.nanoTime() + TimeUnit.MILLISECONDS.toNanos(workTimeMillis); while (System.nanoTime() < doneTimestamp) { // busy-wait to simulate work } diff --git a/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/jetty/JettyPerftest.java b/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/jetty/JettyPerftest.java index c36e65991b..5fe320b43e 100644 --- a/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/jetty/JettyPerftest.java +++ b/benchmark-integration/jetty-perftest/src/main/java/io/opentelemetry/perftest/jetty/JettyPerftest.java @@ -55,25 +55,25 @@ public class JettyPerftest { if (request.getParameter("error") != null) { throw new RuntimeException("some sync error"); } - String workVal = request.getParameter("workTimeMS"); - long workTimeMS = 0l; + String workVal = request.getParameter("workTimeMillis"); + long workTimeMillis = 0L; if (null != workVal) { - workTimeMS = Long.parseLong(workVal); + workTimeMillis = Long.parseLong(workVal); } - scheduleWork(workTimeMS); - response.getWriter().print("Did " + workTimeMS + "ms of work."); + scheduleWork(workTimeMillis); + response.getWriter().print("Did " + workTimeMillis + "ms of work."); } - private void scheduleWork(long workTimeMS) { + private void scheduleWork(long workTimeMillis) { Span span = tracer.spanBuilder("work").startSpan(); try (Scope scope = span.makeCurrent()) { if (span != null) { - span.setAttribute("work-time", workTimeMS); + span.setAttribute("work-time", workTimeMillis); span.setAttribute("info", "interesting stuff"); span.setAttribute("additionalInfo", "interesting stuff"); } - if (workTimeMS > 0) { - Worker.doWork(workTimeMS); + if (workTimeMillis > 0) { + Worker.doWork(workTimeMillis); } span.end(); } diff --git a/benchmark-integration/perf-test-default-settings.rc b/benchmark-integration/perf-test-default-settings.rc index 9d6f631451..db4a2b9a92 100644 --- a/benchmark-integration/perf-test-default-settings.rc +++ b/benchmark-integration/perf-test-default-settings.rc @@ -10,8 +10,8 @@ test_num_threads=5 # endpoionts to test declare -A endpoints endpoints['<1MS']='http://localhost:8080/work' -endpoints['1MS']='http://localhost:8080/work?workTimeMS=1' -endpoints['2MS']='http://localhost:8080/work?workTimeMS=2' -endpoints['5MS']='http://localhost:8080/work?workTimeMS=5' -endpoints['10MS']='http://localhost:8080/work?workTimeMS=10' +endpoints['1MS']='http://localhost:8080/work?workTimeMillis=1' +endpoints['2MS']='http://localhost:8080/work?workTimeMillis=2' +endpoints['5MS']='http://localhost:8080/work?workTimeMillis=5' +endpoints['10MS']='http://localhost:8080/work?workTimeMillis=10' test_order=( '<1MS' '1MS' '2MS' '5MS' '10MS' ) \ No newline at end of file diff --git a/benchmark-integration/play-perftest/app/controllers/HomeController.scala b/benchmark-integration/play-perftest/app/controllers/HomeController.scala index 4c546e902c..2adeddf4bf 100644 --- a/benchmark-integration/play-perftest/app/controllers/HomeController.scala +++ b/benchmark-integration/play-perftest/app/controllers/HomeController.scala @@ -23,23 +23,23 @@ import javax.inject.Inject import play.api.mvc._ /** - * This controller creates an `Action` to handle HTTP requests to the - * application's work page which does busy wait to simulate some work - */ + * This controller creates an `Action` to handle HTTP requests to the + * application's work page which does busy wait to simulate some work + */ class HomeController @Inject()(cc: ControllerComponents) - extends AbstractController(cc) { + extends AbstractController(cc) { val TRACER: Tracer = OpenTelemetry.getTracerProvider.get("io.opentelemetry.auto") /** - * Create an Action to perform busy wait - */ - def doGet(workTimeMS: Option[Long], error: Option[String]) = Action { + * Create an Action to perform busy wait + */ + def doGet(workTimeMillis: Option[Long], error: Option[String]) = Action { implicit request: Request[AnyContent] => error match { case Some(x) => throw new RuntimeException("some sync error") case None => { - var workTime = workTimeMS.getOrElse(0L) + var workTime = workTimeMillis.getOrElse(0L) scheduleWork(workTime) Ok("Did " + workTime + "ms of work.") } @@ -47,17 +47,17 @@ class HomeController @Inject()(cc: ControllerComponents) } - private def scheduleWork(workTimeMS: Long) { + private def scheduleWork(workTimeMillis: Long) { val span = tracer().spanBuilder("work").startSpan() val scope = tracer().withSpan(span) try { if (span != null) { - span.setAttribute("work-time", workTimeMS) + span.setAttribute("work-time", workTimeMillis) span.setAttribute("info", "interesting stuff") span.setAttribute("additionalInfo", "interesting stuff") } - if (workTimeMS > 0) { - Worker.doWork(workTimeMS) + if (workTimeMillis > 0) { + Worker.doWork(workTimeMillis) } } finally { span.end() diff --git a/benchmark-integration/play-perftest/app/controllers/Worker.scala b/benchmark-integration/play-perftest/app/controllers/Worker.scala index f1662cbf4d..d5a1022f19 100644 --- a/benchmark-integration/play-perftest/app/controllers/Worker.scala +++ b/benchmark-integration/play-perftest/app/controllers/Worker.scala @@ -24,19 +24,19 @@ object Worker { val TRACER: Tracer = OpenTelemetry.getTracerProvider.get("io.opentelemetry.auto") - def doWork(workTimeMS: Long) = { + def doWork(workTimeMillis: Long) = { val span = tracer().spanBuilder("work").startSpan() val scope = tracer().withSpan(span) try { if (span != null) { - span.setAttribute("work-time", workTimeMS) + span.setAttribute("work-time", workTimeMillis) span.setAttribute("info", "interesting stuff") span.setAttribute("additionalInfo", "interesting stuff") } val doneTimestamp = System.nanoTime + TimeUnit.MILLISECONDS.toNanos( - workTimeMS + workTimeMillis ) - while ({ + while ( { System.nanoTime < doneTimestamp }) { // busy-wait to simulate work diff --git a/benchmark-integration/play-perftest/conf/routes b/benchmark-integration/play-perftest/conf/routes index d0c8c856df..dced339022 100644 --- a/benchmark-integration/play-perftest/conf/routes +++ b/benchmark-integration/play-perftest/conf/routes @@ -4,4 +4,4 @@ # ~~~~ # An example controller showing a sample home page -GET /work controllers.HomeController.doGet(workTimeMS: Option[Long], error: Option[String]) +GET /work controllers.HomeController.doGet(workTimeMillis: Option[Long], error: Option[String]) diff --git a/benchmark/src/jmh/java/io/opentelemetry/benchmark/classes/HttpClass.java b/benchmark/src/jmh/java/io/opentelemetry/benchmark/classes/HttpClass.java index 5a9300bda2..8410704840 100644 --- a/benchmark/src/jmh/java/io/opentelemetry/benchmark/classes/HttpClass.java +++ b/benchmark/src/jmh/java/io/opentelemetry/benchmark/classes/HttpClass.java @@ -11,7 +11,6 @@ import com.google.api.client.http.HttpRequestFactory; import com.google.api.client.http.javanet.NetHttpTransport; import java.io.IOException; import java.net.InetSocketAddress; -import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -20,8 +19,8 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; public class HttpClass { - private String contextPath = "/path"; - private Integer port = 18888; + private final String contextPath = "/path"; + private final Integer port = 18888; public Server buildJettyServer() { System.setProperty("org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.StdErrLog"); @@ -38,11 +37,11 @@ public class HttpClass { @WebServlet public static class HttpClassServlet extends HttpServlet { @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { try { Thread.sleep(10); - } catch (Exception e) { + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } resp.setContentType("application/json"); resp.setStatus(HttpServletResponse.SC_OK); @@ -50,7 +49,7 @@ public class HttpClass { } } - private HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory(); + private final HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory(); public void executeRequest() throws IOException { String url = "http://localhost:" + port + contextPath; diff --git a/docs/contributing/style-guideline.md b/docs/contributing/style-guideline.md index ea21e78011..2b72d8631e 100644 --- a/docs/contributing/style-guideline.md +++ b/docs/contributing/style-guideline.md @@ -1,7 +1,10 @@ -### Style guideline +## Style guideline We follow the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html). -Our build will fail if source code is not formatted according to that style. + +### Auto-formatting + +The build will fail if the source code is not formatted according to the google java style. The main goal is to avoid extensive reformatting caused by different IDEs having different opinion about how things should be formatted by establishing. @@ -38,3 +41,14 @@ As additional convenience for IntelliJ users, we provide `.editorconfig` file. IntelliJ will automatically use it to adjust its code formatting settings. It does not support all required rules, so you still have to run `spotlessApply` from time to time. + +### Additional checks + +The build uses checkstyle to verify some parts of the Google Java Style Guide that cannot be handled +by auto-formatting. + +To run these checks locally: + +``` +./gradlew checkstyleMain checkstyleTest +``` diff --git a/gradle/checkstyle.gradle b/gradle/checkstyle.gradle new file mode 100644 index 0000000000..3e232a2073 --- /dev/null +++ b/gradle/checkstyle.gradle @@ -0,0 +1,8 @@ +apply plugin: "checkstyle" + +checkstyle { + configFile = rootProject.file('gradle/enforcement/checkstyle.xml') + // this version should match the version of google_checks.xml used as basis for above configuration + toolVersion = "8.37" + maxWarnings = 0 +} diff --git a/gradle/enforcement/checkstyle.xml b/gradle/enforcement/checkstyle.xml new file mode 100644 index 0000000000..c4026123ba --- /dev/null +++ b/gradle/enforcement/checkstyle.xml @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gradle/java.gradle b/gradle/java.gradle index 35ccc6db75..424290a765 100644 --- a/gradle/java.gradle +++ b/gradle/java.gradle @@ -7,6 +7,7 @@ apply plugin: 'org.gradle.test-retry' apply from: "$rootDir/gradle/spotless.gradle" apply from: "$rootDir/gradle/codenarc.gradle" apply from: "$rootDir/gradle/spotbugs.gradle" +apply from: "$rootDir/gradle/checkstyle.gradle" afterEvaluate { if (findProperty('mavenGroupId') == 'io.opentelemetry.javaagent.instrumentation') { diff --git a/gradle/spotbugs-exclude.xml b/gradle/spotbugs-exclude.xml index a2fef792a9..f7ce738a42 100644 --- a/gradle/spotbugs-exclude.xml +++ b/gradle/spotbugs-exclude.xml @@ -1,51 +1,56 @@ - + + + - + - - + + + - + + + - + + - + + - + + - + + params="io.opentelemetry.api.trace.Span,java.lang.String,java.lang.String,int" + returns="void"/> diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java index 3a384c0dd0..f43d201777 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java @@ -53,7 +53,8 @@ public abstract class Config { abstract Map getAllProperties(); /** - * @return A string property value or null if a property with name {@code name} did not exist. + * Returns a string property value or null if a property with name {@code name} did not exist. + * * @see #getProperty(String, String) */ @Nullable @@ -80,8 +81,9 @@ public abstract class Config { } /** - * @return A boolean property value or {@code defaultValue} if a property with name {@code name} - * did not exist. + * Returns a boolean property value or {@code defaultValue} if a property with name {@code name} + * did not exist. + * * @see #getProperty(String, String) */ public boolean getBooleanProperty(String name, boolean defaultValue) { @@ -89,8 +91,9 @@ public abstract class Config { } /** - * @return A list-of-strings property value or empty list if a property with name {@code name} did - * not exist. + * Returns a list-of-strings property value or empty list if a property with name {@code name} did + * not exist. + * * @see #getProperty(String, String) */ public List getListProperty(String name) { @@ -98,8 +101,9 @@ public abstract class Config { } /** - * @return A list-of-strings property value or {@code defaultValue} if a property with name {@code - * name} did not exist. + * Returns a list-of-strings property value or {@code defaultValue} if a property with name {@code + * name} did not exist. + * * @see #getProperty(String, String) */ public List getListProperty(String name, List defaultValue) { @@ -107,8 +111,9 @@ public abstract class Config { } /** - * @return A map-of-strings property value or empty map if a property with name {@code name} did - * not exist. + * Returns a map-of-strings property value or empty map if a property with name {@code name} did + * not exist. + * * @see #getProperty(String, String) */ public Map getMapProperty(String name) { diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelTracer.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelTracer.java index 9806cb290c..d81ee2072a 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelTracer.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelTracer.java @@ -48,9 +48,9 @@ class CamelTracer extends BaseTracer { String component = ""; String uri = endpoint.getEndpointUri(); - String splitURI[] = StringHelper.splitOnCharacter(uri, ":", 2); - if (splitURI[1] != null) { - component = splitURI[0]; + String[] splitUri = StringHelper.splitOnCharacter(uri, ":", 2); + if (splitUri[1] != null) { + component = splitUri[0]; } return registry.forComponent(component); } diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/SpanDecorator.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/SpanDecorator.java index 838d3e4a80..6ea3b751b5 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/SpanDecorator.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/SpanDecorator.java @@ -39,8 +39,7 @@ public interface SpanDecorator { boolean shouldStartNewSpan(); /** - * This method returns the operation name to use with the Span representing this exchange and - * endpoint. + * Returns the operation name to use with the Span representing this exchange and endpoint. * * @param exchange The exchange * @param endpoint The endpoint @@ -68,19 +67,9 @@ public interface SpanDecorator { */ void post(Span span, Exchange exchange, Endpoint endpoint); - /** - * This method returns the 'span.kind' value for use when the component is initiating a - * communication. - * - * @return The kind - */ + /** Returns the 'span.kind' value for use when the component is initiating a communication. */ Span.Kind getInitiatorSpanKind(); - /** - * This method returns the 'span.kind' value for use when the component is receiving a - * communication. - * - * @return The kind - */ + /** Returns the 'span.kind' value for use when the component is receiving a communication. */ Span.Kind getReceiverSpanKind(); } diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/BaseSpanDecorator.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/BaseSpanDecorator.java index 66469aab0e..701cebd890 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/BaseSpanDecorator.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/BaseSpanDecorator.java @@ -86,8 +86,8 @@ class BaseSpanDecorator implements SpanDecorator { @Override public String getOperationName( Exchange exchange, Endpoint endpoint, CamelDirection camelDirection) { - String[] splitURI = StringHelper.splitOnCharacter(endpoint.getEndpointUri(), ":", 2); - return (splitURI.length > 0 ? splitURI[0] : DEFAULT_OPERATION_NAME); + String[] splitUri = StringHelper.splitOnCharacter(endpoint.getEndpointUri(), ":", 2); + return (splitUri.length > 0 ? splitUri[0] : DEFAULT_OPERATION_NAME); } @Override diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java index 2ef0085e04..51c4a5a23f 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java @@ -48,77 +48,69 @@ class DbSpanDecorator extends BaseSpanDecorator { switch (component) { case "mongodb": case "elasticsearch": - { - Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); - if (queryParameters.containsKey("operation")) { - return queryParameters.get("operation"); - } + Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); + if (queryParameters.containsKey("operation")) { + return queryParameters.get("operation"); } + return super.getOperationName(exchange, endpoint, camelDirection); + default: + return super.getOperationName(exchange, endpoint, camelDirection); } - return super.getOperationName(exchange, endpoint, camelDirection); } private String getStatement(Exchange exchange, Endpoint endpoint) { switch (component) { case "mongodb": - { - Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); - return queryParameters.toString(); - } + Map mongoParameters = toQueryParameters(endpoint.getEndpointUri()); + return mongoParameters.toString(); case "cql": - { - Object cql = exchange.getIn().getHeader("CamelCqlQuery"); - if (cql != null) { - return cql.toString(); - } else { - Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); - if (queryParameters.containsKey("cql")) { - return queryParameters.get("cql"); - } - } + Object cqlObj = exchange.getIn().getHeader("CamelCqlQuery"); + if (cqlObj != null) { + return cqlObj.toString(); } + Map cqlParameters = toQueryParameters(endpoint.getEndpointUri()); + if (cqlParameters.containsKey("cql")) { + return cqlParameters.get("cql"); + } + return null; case "jdbc": - { - Object body = exchange.getIn().getBody(); - if (body instanceof String) { - return (String) body; - } + Object body = exchange.getIn().getBody(); + if (body instanceof String) { + return (String) body; } + return null; case "sql": - { - Object sqlquery = exchange.getIn().getHeader("CamelSqlQuery"); - if (sqlquery instanceof String) { - return (String) sqlquery; - } + Object sqlquery = exchange.getIn().getHeader("CamelSqlQuery"); + if (sqlquery instanceof String) { + return (String) sqlquery; } + return null; + default: + return null; } - return null; } private String getDbName(Endpoint endpoint) { switch (component) { case "mongodb": - { - Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); - return queryParameters.get("database"); - } + Map mongoParameters = toQueryParameters(endpoint.getEndpointUri()); + return mongoParameters.get("database"); case "cql": - { - URI uri = URI.create(endpoint.getEndpointUri()); - if (uri.getPath() != null && uri.getPath().length() > 0) { - // Strip leading '/' from path - return uri.getPath().substring(1); - } + URI uri = URI.create(endpoint.getEndpointUri()); + if (uri.getPath() != null && uri.getPath().length() > 0) { + // Strip leading '/' from path + return uri.getPath().substring(1); } + return null; case "elasticsearch": - { - Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); - if (queryParameters.containsKey("indexName")) { - return queryParameters.get("indexName"); - } + Map elasticsearchParameters = toQueryParameters(endpoint.getEndpointUri()); + if (elasticsearchParameters.containsKey("indexName")) { + return elasticsearchParameters.get("indexName"); } + return null; + default: + return null; } - return null; } @Override diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/HttpSpanDecorator.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/HttpSpanDecorator.java index 6f5315d5a9..58cd91ba14 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/HttpSpanDecorator.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/HttpSpanDecorator.java @@ -80,7 +80,7 @@ class HttpSpanDecorator extends BaseSpanDecorator { public void pre(Span span, Exchange exchange, Endpoint endpoint, CamelDirection camelDirection) { super.pre(span, exchange, endpoint, camelDirection); - String httpUrl = getHttpURL(exchange, endpoint); + String httpUrl = getHttpUrl(exchange, endpoint); if (httpUrl != null) { span.setAttribute(SemanticAttributes.HTTP_URL, httpUrl); } @@ -100,7 +100,7 @@ class HttpSpanDecorator extends BaseSpanDecorator { @Nullable protected String getPath(Exchange exchange, Endpoint endpoint) { - String httpUrl = getHttpURL(exchange, endpoint); + String httpUrl = getHttpUrl(exchange, endpoint); try { URL url = new URL(httpUrl); return url.getPath(); @@ -120,7 +120,7 @@ class HttpSpanDecorator extends BaseSpanDecorator { } } - protected String getHttpURL(Exchange exchange, Endpoint endpoint) { + protected String getHttpUrl(Exchange exchange, Endpoint endpoint) { Object url = exchange.getIn().getHeader(Exchange.HTTP_URL); if (url instanceof String) { return (String) url; diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java index abdf0b250a..eba42bba0c 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java @@ -81,12 +81,11 @@ class KafkaSpanDecorator extends MessagingSpanDecorator { } /** - * Extracts header value from the exchange for given header + * Extracts header value from the exchange for given header. * * @param exchange the {@link Exchange} * @param header the header name * @param type the class type of the exchange header - * @return */ private String getValue(final Exchange exchange, final String header, Class type) { T value = exchange.getIn().getHeader(header, type); diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/MessagingSpanDecorator.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/MessagingSpanDecorator.java index 5947f0f767..e13fa578c0 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/MessagingSpanDecorator.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/MessagingSpanDecorator.java @@ -44,9 +44,8 @@ class MessagingSpanDecorator extends BaseSpanDecorator { public String getOperationName( Exchange exchange, Endpoint endpoint, CamelDirection camelDirection) { - switch (component) { - case "mqtt": - return stripSchemeAndOptions(endpoint); + if ("mqtt".equals(component)) { + return stripSchemeAndOptions(endpoint); } return getDestination(exchange, endpoint); } @@ -78,22 +77,19 @@ class MessagingSpanDecorator extends BaseSpanDecorator { case "rabbitmq": return (String) exchange.getIn().getHeader("rabbitmq.EXCHANGE_NAME"); case "stomp": - { - String destination = stripSchemeAndOptions(endpoint); - if (destination.startsWith("queue:")) { - destination = destination.substring("queue:".length()); - } - return destination; + String destination = stripSchemeAndOptions(endpoint); + if (destination.startsWith("queue:")) { + destination = destination.substring("queue:".length()); } + return destination; case "mqtt": - { - Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); - return (queryParameters.containsKey("subscribeTopicNames") - ? queryParameters.get("subscribeTopicNames") - : queryParameters.get("publishTopicName")); - } + Map queryParameters = toQueryParameters(endpoint.getEndpointUri()); + return (queryParameters.containsKey("subscribeTopicNames") + ? queryParameters.get("subscribeTopicNames") + : queryParameters.get("publishTopicName")); + default: + return stripSchemeAndOptions(endpoint); } - return stripSchemeAndOptions(endpoint); } @Override @@ -121,7 +117,8 @@ class MessagingSpanDecorator extends BaseSpanDecorator { return (String) exchange.getIn().getHeader("CamelIronMQMessageId"); case "jms": return (String) exchange.getIn().getHeader("JMSMessageID"); + default: + return null; } - return null; } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HostAndRequestAsHttpUriRequest.java b/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HostAndRequestAsHttpUriRequest.java index e5837c0d80..0a3fc3f1a0 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HostAndRequestAsHttpUriRequest.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HostAndRequestAsHttpUriRequest.java @@ -14,13 +14,13 @@ import org.apache.http.RequestLine; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.message.AbstractHttpMessage; -/** Wraps HttpHost and HttpRequest into a HttpUriRequest for decorators and injectors */ +/** Wraps HttpHost and HttpRequest into a HttpUriRequest for decorators and injectors. */ public class HostAndRequestAsHttpUriRequest extends AbstractHttpMessage implements HttpUriRequest { private final String method; private final RequestLine requestLine; private final ProtocolVersion protocolVersion; - private final java.net.URI URI; + private final java.net.URI uri; private final HttpRequest actualRequest; @@ -30,13 +30,13 @@ public class HostAndRequestAsHttpUriRequest extends AbstractHttpMessage implemen requestLine = httpRequest.getRequestLine(); protocolVersion = requestLine.getProtocolVersion(); - URI calculatedURI; + URI calculatedUri; try { - calculatedURI = new URI(httpHost.toURI() + httpRequest.getRequestLine().getUri()); + calculatedUri = new URI(httpHost.toURI() + httpRequest.getRequestLine().getUri()); } catch (URISyntaxException e) { - calculatedURI = null; + calculatedUri = null; } - URI = calculatedURI; + uri = calculatedUri; actualRequest = httpRequest; } @@ -72,7 +72,7 @@ public class HostAndRequestAsHttpUriRequest extends AbstractHttpMessage implemen @Override public java.net.URI getURI() { - return URI; + return uri; } public HttpRequest getActualRequest() { diff --git a/instrumentation/armeria-1.0/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_0/server/OpenTelemetryService.java b/instrumentation/armeria-1.0/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_0/server/OpenTelemetryService.java index 937ba90d2b..bae8f0ce94 100644 --- a/instrumentation/armeria-1.0/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_0/server/OpenTelemetryService.java +++ b/instrumentation/armeria-1.0/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_0/server/OpenTelemetryService.java @@ -95,8 +95,9 @@ public class OpenTelemetryService extends SimpleDecoratingHttpService { return paths.get(paths.size() - 1); case REGEX_WITH_PREFIX: return paths.get(1) + paths.get(0); + default: + return null; } - return null; } private static class Decorator implements Function { diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ApiGatewayProxyRequest.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ApiGatewayProxyRequest.java index 94c60e9424..bf566c9320 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ApiGatewayProxyRequest.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ApiGatewayProxyRequest.java @@ -20,10 +20,10 @@ abstract class ApiGatewayProxyRequest { private static boolean noHttpPropagationNeeded() { List fields = OpenTelemetry.getGlobalPropagators().getTextMapPropagator().fields(); - return (fields.isEmpty() || xRayPropagationFieldsOnly(fields)); + return (fields.isEmpty() || xrayPropagationFieldsOnly(fields)); } - private static boolean xRayPropagationFieldsOnly(List fields) { + private static boolean xrayPropagationFieldsOnly(List fields) { // ugly but faster than typical convert-to-set-and-check-contains-only return (fields.size() == 1) && (ParentContextExtractor.AWS_TRACE_HEADER_PROPAGATOR_KEY.equals(fields.get(0))); diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaMessageTracer.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaMessageTracer.java index 1fd67aed0e..f63626f40f 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaMessageTracer.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaMessageTracer.java @@ -68,6 +68,7 @@ public class AwsLambdaMessageTracer extends BaseTracer { return span.startSpan(); } + @Override public Scope startScope(Span span) { return span.makeCurrent(); } @@ -76,7 +77,7 @@ public class AwsLambdaMessageTracer extends BaseTracer { String parentHeader = message.getAttributes().get(AWS_TRACE_HEADER_SQS_ATTRIBUTE_KEY); if (parentHeader != null) { SpanContext parentCtx = - Span.fromContext(ParentContextExtractor.fromXRayHeader(parentHeader)).getSpanContext(); + Span.fromContext(ParentContextExtractor.fromXrayHeader(parentHeader)).getSpanContext(); if (parentCtx.isValid()) { span.addLink(parentCtx); } diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaTracer.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaTracer.java index b3679bc8c9..67a2362e56 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaTracer.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/AwsLambdaTracer.java @@ -40,7 +40,7 @@ public class AwsLambdaTracer extends BaseTracer { io.opentelemetry.context.Context parentContext = null; String parentTraceHeader = System.getenv(AWS_TRACE_HEADER_ENV_KEY); if (parentTraceHeader != null) { - parentContext = ParentContextExtractor.fromXRayHeader(parentTraceHeader); + parentContext = ParentContextExtractor.fromXrayHeader(parentTraceHeader); } if (!isValid(parentContext) && (headers != null)) { // try http @@ -69,6 +69,7 @@ public class AwsLambdaTracer extends BaseTracer { } /** Creates new scoped context with the given span. */ + @Override public Scope startScope(Span span) { // TODO we could do this in one go, but TracingContextUtils.CONTEXT_SPAN_KEY is private io.opentelemetry.context.Context newContext = diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ParentContextExtractor.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ParentContextExtractor.java index 3b2e6f2687..0babce288c 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ParentContextExtractor.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/ParentContextExtractor.java @@ -38,7 +38,7 @@ public class ParentContextExtractor { static final String AWS_TRACE_HEADER_PROPAGATOR_KEY = "X-Amzn-Trace-Id"; - static Context fromXRayHeader(String parentHeader) { + static Context fromXrayHeader(String parentHeader) { return OpenTelemetry.getGlobalPropagators() .getTextMapPropagator() .extract( diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingSQSEventHandler.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingSqsEventHandler.java similarity index 89% rename from instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingSQSEventHandler.java rename to instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingSqsEventHandler.java index c331a5c3ce..78463221c3 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingSQSEventHandler.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingSqsEventHandler.java @@ -13,19 +13,19 @@ import io.opentelemetry.context.Scope; import io.opentelemetry.sdk.OpenTelemetrySdk; import java.util.concurrent.TimeUnit; -public abstract class TracingSQSEventHandler extends TracingRequestHandler { +public abstract class TracingSqsEventHandler extends TracingRequestHandler { private final AwsLambdaMessageTracer tracer; /** Creates a new {@link TracingRequestHandler} which traces using the default {@link Tracer}. */ - protected TracingSQSEventHandler() { + protected TracingSqsEventHandler() { this.tracer = new AwsLambdaMessageTracer(); } /** * Creates a new {@link TracingRequestHandler} which traces using the specified {@link Tracer}. */ - protected TracingSQSEventHandler(Tracer tracer) { + protected TracingSqsEventHandler(Tracer tracer) { super(tracer); this.tracer = new AwsLambdaMessageTracer(tracer); } @@ -34,7 +34,7 @@ public abstract class TracingSQSEventHandler extends TracingRequestHandler, String> transformers() { return singletonMap( - isConstructor(), AwsClientInstrumentation.class.getName() + "$AWSClientAdvice"); + isConstructor(), AwsClientInstrumentation.class.getName() + "$AwsClientAdvice"); } - public static class AWSClientAdvice { + public static class AwsClientAdvice { // Since we're instrumenting the constructor, we can't add onThrowable. @Advice.OnMethodExit(suppress = Throwable.class) public static void addHandler( diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/TracingRequestHandler.java b/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/TracingRequestHandler.java index 0745e3db5a..80f631fbb1 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/TracingRequestHandler.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/TracingRequestHandler.java @@ -17,7 +17,7 @@ import io.opentelemetry.context.Scope; import io.opentelemetry.javaagent.instrumentation.api.ContextStore; import io.opentelemetry.javaagent.instrumentation.api.SpanWithScope; -/** Tracing Request Handler */ +/** Tracing Request Handler. */ public class TracingRequestHandler extends RequestHandler2 { private final ContextStore contextStore; diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/src/test/groovy/AWS1ClientTest.groovy b/instrumentation/aws-sdk/aws-sdk-1.11/src/test/groovy/Aws1ClientTest.groovy similarity index 99% rename from instrumentation/aws-sdk/aws-sdk-1.11/src/test/groovy/AWS1ClientTest.groovy rename to instrumentation/aws-sdk/aws-sdk-1.11/src/test/groovy/Aws1ClientTest.groovy index d617a56695..ccb0adc8ed 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/src/test/groovy/AWS1ClientTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-1.11/src/test/groovy/Aws1ClientTest.groovy @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ +import static io.opentelemetry.api.trace.Span.Kind.CLIENT import static io.opentelemetry.instrumentation.test.server.http.TestHttpServer.httpServer import static io.opentelemetry.instrumentation.test.utils.PortUtils.UNUSABLE_PORT -import static io.opentelemetry.api.trace.Span.Kind.CLIENT import com.amazonaws.AmazonClientException import com.amazonaws.AmazonWebServiceClient @@ -37,15 +37,15 @@ import com.amazonaws.services.s3.AmazonS3ClientBuilder import com.amazonaws.services.sqs.AmazonSQSClientBuilder import com.amazonaws.services.sqs.model.CreateQueueRequest import com.amazonaws.services.sqs.model.SendMessageRequest -import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer -import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.api.trace.Span import io.opentelemetry.api.trace.attributes.SemanticAttributes +import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer +import io.opentelemetry.instrumentation.test.AgentTestRunner import java.util.concurrent.atomic.AtomicReference import spock.lang.AutoCleanup import spock.lang.Shared -class AWS1ClientTest extends AgentTestRunner { +class Aws1ClientTest extends AgentTestRunner { private static final CREDENTIALS_PROVIDER_CHAIN = new AWSCredentialsProviderChain( new EnvironmentVariableCredentialsProvider(), diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/src/test_before_1_11_106/groovy/AWS0ClientTest.groovy b/instrumentation/aws-sdk/aws-sdk-1.11/src/test_before_1_11_106/groovy/Aws0ClientTest.groovy similarity index 99% rename from instrumentation/aws-sdk/aws-sdk-1.11/src/test_before_1_11_106/groovy/AWS0ClientTest.groovy rename to instrumentation/aws-sdk/aws-sdk-1.11/src/test_before_1_11_106/groovy/Aws0ClientTest.groovy index 29340d427c..7289309ad3 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/src/test_before_1_11_106/groovy/AWS0ClientTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-1.11/src/test_before_1_11_106/groovy/Aws0ClientTest.groovy @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ +import static io.opentelemetry.api.trace.Span.Kind.CLIENT import static io.opentelemetry.instrumentation.test.server.http.TestHttpServer.httpServer import static io.opentelemetry.instrumentation.test.utils.PortUtils.UNUSABLE_PORT -import static io.opentelemetry.api.trace.Span.Kind.CLIENT import com.amazonaws.AmazonClientException import com.amazonaws.ClientConfiguration @@ -24,15 +24,15 @@ import com.amazonaws.services.rds.AmazonRDSClient import com.amazonaws.services.rds.model.DeleteOptionGroupRequest import com.amazonaws.services.s3.AmazonS3Client import com.amazonaws.services.s3.S3ClientOptions -import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer -import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.api.trace.Span import io.opentelemetry.api.trace.attributes.SemanticAttributes +import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer +import io.opentelemetry.instrumentation.test.AgentTestRunner import java.util.concurrent.atomic.AtomicReference import spock.lang.AutoCleanup import spock.lang.Shared -class AWS0ClientTest extends AgentTestRunner { +class Aws0ClientTest extends AgentTestRunner { private static final CREDENTIALS_PROVIDER_CHAIN = new AWSCredentialsProviderChain( new EnvironmentVariableCredentialsProvider(), diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java index 47c6a3c39d..497c446175 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java @@ -24,7 +24,7 @@ import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.interceptor.ExecutionInterceptor; import software.amazon.awssdk.core.interceptor.SdkExecutionAttribute; -/** AWS request execution interceptor */ +/** AWS request execution interceptor. */ final class TracingExecutionInterceptor implements ExecutionInterceptor { static final ExecutionAttribute CONTEXT_ATTRIBUTE = diff --git a/instrumentation/cassandra/cassandra-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraClientInstrumentationModule.java b/instrumentation/cassandra/cassandra-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraClientInstrumentationModule.java index 201fe72a8c..e3a05624ac 100644 --- a/instrumentation/cassandra/cassandra-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraClientInstrumentationModule.java +++ b/instrumentation/cassandra/cassandra-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraClientInstrumentationModule.java @@ -68,7 +68,6 @@ public class CassandraClientInstrumentationModule extends InstrumentationModule * contribution is a simple wrapper, so we just have to wrap the new session. * * @param session The fresh session to patch. This session is replaced with new session - * @throws Exception */ @Advice.OnMethodExit(suppress = Throwable.class) public static void injectTracingSession(@Advice.Return(readOnly = false) Session session) { diff --git a/instrumentation/external-annotations/src/test/groovy/TraceAnnotationsTest.groovy b/instrumentation/external-annotations/src/test/groovy/TraceAnnotationsTest.groovy index 87664f07da..453ebd316a 100644 --- a/instrumentation/external-annotations/src/test/groovy/TraceAnnotationsTest.groovy +++ b/instrumentation/external-annotations/src/test/groovy/TraceAnnotationsTest.groovy @@ -33,13 +33,13 @@ class TraceAnnotationsTest extends AgentTestRunner { def "test complex case annotations"() { when: // Test new trace with 2 children spans - SayTracedHello.sayHELLOsayHA() + SayTracedHello.sayHelloSayHa() then: assertTraces(1) { trace(0, 3) { span(0) { - name "SayTracedHello.sayHELLOsayHA" + name "SayTracedHello.sayHelloSayHa" hasNoParent() errored false attributes { @@ -70,7 +70,7 @@ class TraceAnnotationsTest extends AgentTestRunner { setup: Throwable error = null try { - SayTracedHello.sayERROR() + SayTracedHello.sayError() } catch (final Throwable ex) { error = ex } @@ -79,7 +79,7 @@ class TraceAnnotationsTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - name "SayTracedHello.sayERROR" + name "SayTracedHello.sayError" errored true errorEvent(error.class) } diff --git a/instrumentation/external-annotations/src/test/java/io/opentelemetry/test/annotation/SayTracedHello.java b/instrumentation/external-annotations/src/test/java/io/opentelemetry/test/annotation/SayTracedHello.java index 465175d5bc..9b2993dd47 100644 --- a/instrumentation/external-annotations/src/test/java/io/opentelemetry/test/annotation/SayTracedHello.java +++ b/instrumentation/external-annotations/src/test/java/io/opentelemetry/test/annotation/SayTracedHello.java @@ -75,13 +75,13 @@ public class SayTracedHello { } @io.opentracing.contrib.dropwizard.Trace - public static String sayHELLOsayHA() { + public static String sayHelloSayHa() { Span.current().setAttribute("myattr", "test2"); return sayHello() + sayHello(); } @io.opentracing.contrib.dropwizard.Trace - public static String sayERROR() { + public static String sayError() { throw new RuntimeException(); } diff --git a/instrumentation/http-url-connection/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlConnectionTracer.java b/instrumentation/http-url-connection/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlConnectionTracer.java index 83af1cc669..218caeca98 100644 --- a/instrumentation/http-url-connection/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlConnectionTracer.java +++ b/instrumentation/http-url-connection/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlConnectionTracer.java @@ -38,8 +38,8 @@ public class HttpUrlConnectionTracer } @Override - protected String requestHeader(HttpURLConnection httpURLConnection, String name) { - return httpURLConnection.getRequestProperty(name); + protected String requestHeader(HttpURLConnection httpUrlConnection, String name) { + return httpUrlConnection.getRequestProperty(name); } @Override diff --git a/instrumentation/java-classloader/src/main/java/io/opentelemetry/javaagent/instrumentation/javaclassloader/ClassLoaderInstrumentation.java b/instrumentation/java-classloader/src/main/java/io/opentelemetry/javaagent/instrumentation/javaclassloader/ClassLoaderInstrumentation.java index db7473f818..7537916681 100644 --- a/instrumentation/java-classloader/src/main/java/io/opentelemetry/javaagent/instrumentation/javaclassloader/ClassLoaderInstrumentation.java +++ b/instrumentation/java-classloader/src/main/java/io/opentelemetry/javaagent/instrumentation/javaclassloader/ClassLoaderInstrumentation.java @@ -88,7 +88,7 @@ final class ClassLoaderInstrumentation implements TypeInstrumentation { if (name.startsWith(prefix)) { try { return Class.forName(name, false, null); - } catch (ClassNotFoundException e) { + } catch (ClassNotFoundException ignored) { } } } diff --git a/instrumentation/java-classloader/src/test/groovy/ResourceInjectionTest.groovy b/instrumentation/java-classloader/src/test/groovy/ResourceInjectionTest.groovy index 1f012b9b1e..ab0b324b9b 100644 --- a/instrumentation/java-classloader/src/test/groovy/ResourceInjectionTest.groovy +++ b/instrumentation/java-classloader/src/test/groovy/ResourceInjectionTest.groovy @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import static io.opentelemetry.instrumentation.util.gc.GCUtils.awaitGC +import static io.opentelemetry.instrumentation.util.gc.GcUtils.awaitGc import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.javaagent.tooling.HelperInjector @@ -40,7 +40,7 @@ class ResourceInjectionTest extends AgentTestRunner { def ref = new WeakReference(emptyLoader.get()) emptyLoader.set(null) - awaitGC(ref) + awaitGc(ref) then: "HelperInjector doesn't prevent it from being collected" null == ref.get() diff --git a/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/AbstractExecutorInstrumentation.java b/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/AbstractExecutorInstrumentation.java index 4007258bf9..c5bc4696f8 100644 --- a/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/AbstractExecutorInstrumentation.java +++ b/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/AbstractExecutorInstrumentation.java @@ -26,27 +26,30 @@ abstract class AbstractExecutorInstrumentation implements TypeInstrumentation { private static final Logger log = LoggerFactory.getLogger(AbstractExecutorInstrumentation.class); private static final String TRACE_EXECUTORS_CONFIG = "otel.trace.executors"; - private final boolean TRACE_ALL_EXECUTORS = + + // hopefully these configuration properties can be static after + // https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/1345 + private final boolean traceAllExecutors = Config.get().getBooleanProperty("otel.trace.executors.all", false); /** * Only apply executor instrumentation to allowed executors. To apply to all executors, use * override setting above. */ - private final Collection ALLOWED_EXECUTORS; + private final Collection allowedExecutors; /** * Some frameworks have their executors defined as anon classes inside other classes. Referencing * anon classes by name would be fragile, so instead we will use list of class prefix names. Since * checking this list is more expensive (O(n)) we should try to keep it short. */ - private final Collection ALLOWED_EXECUTORS_PREFIXES; + private final Collection allowedExecutorsPrefixes; AbstractExecutorInstrumentation() { - if (TRACE_ALL_EXECUTORS) { + if (traceAllExecutors) { log.info("Tracing all executors enabled."); - ALLOWED_EXECUTORS = Collections.emptyList(); - ALLOWED_EXECUTORS_PREFIXES = Collections.emptyList(); + allowedExecutors = Collections.emptyList(); + allowedExecutorsPrefixes = Collections.emptyList(); } else { String[] allowed = { "akka.actor.ActorSystemImpl$$anon$1", @@ -94,11 +97,10 @@ abstract class AbstractExecutorInstrumentation implements TypeInstrumentation { Set executors = new HashSet<>(Config.get().getListProperty(TRACE_EXECUTORS_CONFIG)); executors.addAll(Arrays.asList(allowed)); - ALLOWED_EXECUTORS = Collections.unmodifiableSet(executors); + allowedExecutors = Collections.unmodifiableSet(executors); String[] allowedPrefixes = {"slick.util.AsyncExecutor$"}; - ALLOWED_EXECUTORS_PREFIXES = - Collections.unmodifiableCollection(Arrays.asList(allowedPrefixes)); + allowedExecutorsPrefixes = Collections.unmodifiableCollection(Arrays.asList(allowedPrefixes)); } } @@ -107,17 +109,17 @@ abstract class AbstractExecutorInstrumentation implements TypeInstrumentation { ElementMatcher.Junction matcher = any(); final ElementMatcher.Junction hasExecutorInterfaceMatcher = implementsInterface(named(Executor.class.getName())); - if (!TRACE_ALL_EXECUTORS) { + if (!traceAllExecutors) { matcher = matcher.and( new ElementMatcher() { @Override public boolean matches(TypeDescription target) { - boolean allowed = ALLOWED_EXECUTORS.contains(target.getName()); + boolean allowed = allowedExecutors.contains(target.getName()); // Check for possible prefixes match only if not allowed already if (!allowed) { - for (String name : ALLOWED_EXECUTORS_PREFIXES) { + for (String name : allowedExecutorsPrefixes) { if (target.getName().startsWith(name)) { allowed = true; break; diff --git a/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/NonStandardExecutorsInstrumentationModule.java b/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/NonStandardExecutorsInstrumentationModule.java index 4920c0d441..c3f968da9e 100644 --- a/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/NonStandardExecutorsInstrumentationModule.java +++ b/instrumentation/java-concurrent/src/main/java/io/opentelemetry/javaagent/instrumentation/javaconcurrent/NonStandardExecutorsInstrumentationModule.java @@ -43,7 +43,8 @@ public final class NonStandardExecutorsInstrumentationModule extends Instrumenta public Map, String> transformers() { Map, String> transformers = new HashMap<>(); - transformers.put( // org.eclipse.jetty.util.thread.QueuedThreadPool + transformers.put( + // org.eclipse.jetty.util.thread.QueuedThreadPool named("dispatch").and(takesArguments(1)).and(takesArgument(0, Runnable.class)), JavaExecutorInstrumentation.class.getName() + "$SetExecuteRunnableStateAdvice"); return transformers; diff --git a/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpHeadersInjectAdapter.java b/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpHeadersInjectAdapter.java index 349f8778a2..8f15d52cbb 100644 --- a/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpHeadersInjectAdapter.java +++ b/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpHeadersInjectAdapter.java @@ -8,7 +8,7 @@ package io.opentelemetry.javaagent.instrumentation.httpclient; import io.opentelemetry.context.propagation.TextMapPropagator; import java.net.http.HttpRequest; -/** Context propagation is implemented via {@link HttpHeadersInstrumentation} */ +/** Context propagation is implemented via {@link HttpHeadersInstrumentation}. */ public class HttpHeadersInjectAdapter implements TextMapPropagator.Setter { public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter(); diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java index 30756cc79d..82ff870944 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java @@ -47,11 +47,11 @@ final class ConnectionInstrumentation implements TypeInstrumentation { public static class ConnectionPrepareAdvice { @Advice.OnMethodExit(suppress = Throwable.class) - public static void addDBInfo( + public static void addDbInfo( @Advice.Argument(0) String sql, @Advice.Return PreparedStatement statement) { - SqlStatementInfo normalizedSql = JDBCUtils.normalizeAndExtractInfo(sql); + SqlStatementInfo normalizedSql = JdbcUtils.normalizeAndExtractInfo(sql); if (normalizedSql != null) { - JDBCMaps.preparedStatements.put(statement, normalizedSql); + JdbcMaps.preparedStatements.put(statement, normalizedSql); } } } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DBInfo.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DbInfo.java similarity index 92% rename from instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DBInfo.java rename to instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DbInfo.java index 0ae346becf..ccbda08e78 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DBInfo.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DbInfo.java @@ -7,9 +7,9 @@ package io.opentelemetry.javaagent.instrumentation.jdbc; import java.util.Objects; -public class DBInfo { +public class DbInfo { - public static final DBInfo DEFAULT = new Builder().build(); + public static final DbInfo DEFAULT = new Builder().build(); private final String system; private final String subtype; @@ -20,7 +20,7 @@ public class DBInfo { private final String host; private final Integer port; - public DBInfo( + public DbInfo( String system, String subtype, String shortUrl, @@ -88,10 +88,10 @@ public class DBInfo { if (this == o) { return true; } - if (!(o instanceof DBInfo)) { + if (!(o instanceof DbInfo)) { return false; } - DBInfo dbInfo = (DBInfo) o; + DbInfo dbInfo = (DbInfo) o; return Objects.equals(system, dbInfo.system) && Objects.equals(subtype, dbInfo.subtype) && Objects.equals(shortUrl, dbInfo.shortUrl) @@ -157,8 +157,8 @@ public class DBInfo { return this; } - public DBInfo build() { - return new DBInfo(system, subtype, shortUrl, user, name, db, host, port); + public DbInfo build() { + return new DbInfo(system, subtype, shortUrl, user, name, db, host, port); } } } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java index 79a63eb70a..8b03989814 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java @@ -46,7 +46,7 @@ final class DriverInstrumentation implements TypeInstrumentation { public static class DriverAdvice { @Advice.OnMethodExit(suppress = Throwable.class) - public static void addDBInfo( + public static void addDbInfo( @Advice.Argument(0) String url, @Advice.Argument(1) Properties props, @Advice.Return Connection connection) { @@ -54,8 +54,8 @@ final class DriverInstrumentation implements TypeInstrumentation { // Exception was probably thrown. return; } - DBInfo dbInfo = JDBCConnectionUrlParser.parse(url, props); - JDBCMaps.connectionInfo.put(connection, dbInfo); + DbInfo dbInfo = JdbcConnectionUrlParser.parse(url, props); + JdbcMaps.connectionInfo.put(connection, dbInfo); } } } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCConnectionUrlParser.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcConnectionUrlParser.java similarity index 88% rename from instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCConnectionUrlParser.java rename to instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcConnectionUrlParser.java index e0e74ccf7b..01c825c033 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCConnectionUrlParser.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcConnectionUrlParser.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jdbc; -import static io.opentelemetry.javaagent.instrumentation.jdbc.DBInfo.DEFAULT; +import static io.opentelemetry.javaagent.instrumentation.jdbc.DbInfo.DEFAULT; import static java.util.regex.Pattern.CASE_INSENSITIVE; import io.opentelemetry.javaagent.instrumentation.api.db.DbSystem; @@ -26,10 +26,10 @@ import org.slf4j.LoggerFactory; * Structured as an enum instead of a class hierarchy to allow iterating through the parsers * automatically without having to maintain a separate list of parsers. */ -public enum JDBCConnectionUrlParser { +public enum JdbcConnectionUrlParser { GENERIC_URL_LIKE() { @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { try { // Attempt generic parsing URI uri = new URI(jdbcUrl); @@ -64,13 +64,10 @@ public enum JDBCConnectionUrlParser { } }, - /** - * http://jtds.sourceforge.net/faq.html#urlFormat - * jdbc:jtds:://[:][/][;=[;...]] - */ + // see http://jtds.sourceforge.net/faq.html#urlFormat JTDS_URL_LIKE() { @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { String serverName = ""; Integer port = null; @@ -116,7 +113,7 @@ public enum JDBCConnectionUrlParser { MODIFIED_URL_LIKE() { // Source: Regular Expressions Cookbook 2nd edition - 8.17. // Matches Standard, Mixed or Compressed notation in a wider body of text - private final Pattern IPv6 = + private final Pattern ipv6 = Pattern.compile( // Non Compressed "(?:(?:(?:[A-F0-9]{1,4}:){6}" @@ -143,7 +140,7 @@ public enum JDBCConnectionUrlParser { CASE_INSENSITIVE); @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { String type; String serverName = ""; Integer port = null; @@ -188,7 +185,7 @@ public enum JDBCConnectionUrlParser { serverName = serverName.substring(0, instanceLoc); } - Matcher ipv6Matcher = IPv6.matcher(serverName); + Matcher ipv6Matcher = ipv6.matcher(serverName); boolean isIpv6 = ipv6Matcher.find(); int portLoc = -1; @@ -239,8 +236,8 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 5432; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { - DBInfo dbInfo = builder.build(); + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { + DbInfo dbInfo = builder.build(); if (dbInfo.getHost() == null) { builder.host(DEFAULT_HOST); } @@ -256,8 +253,8 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 3306; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { - DBInfo dbInfo = builder.build(); + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { + DbInfo dbInfo = builder.build(); if (dbInfo.getHost() == null) { builder.host(DEFAULT_HOST); } @@ -293,6 +290,7 @@ public enum JDBCConnectionUrlParser { try { builder.port(Integer.parseInt(jdbcUrl.substring(portLoc + 1, dbLoc))); } catch (NumberFormatException e) { + log.debug(e.getMessage(), e); } } else { hostEndLoc = dbLoc; @@ -306,7 +304,7 @@ public enum JDBCConnectionUrlParser { MARIA_SUBPROTO() { @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { int hostEndLoc; int clusterSepLoc = jdbcUrl.indexOf(","); int ipv6End = jdbcUrl.startsWith("[") ? jdbcUrl.indexOf("]") : -1; @@ -333,6 +331,7 @@ public enum JDBCConnectionUrlParser { try { builder.port(Integer.parseInt(jdbcUrl.substring(portLoc + 1, portEndLoc))); } catch (NumberFormatException e) { + log.debug(e.getMessage(), e); } } else { hostEndLoc = clusterSepLoc > 0 ? clusterSepLoc : dbLoc; @@ -348,27 +347,27 @@ public enum JDBCConnectionUrlParser { }, MARIA_ADDRESS() { - private final Pattern HOST_REGEX = Pattern.compile("\\(\\s*host\\s*=\\s*([^ )]+)\\s*\\)"); - private final Pattern PORT_REGEX = Pattern.compile("\\(\\s*port\\s*=\\s*([\\d]+)\\s*\\)"); - private final Pattern USER_REGEX = Pattern.compile("\\(\\s*user\\s*=\\s*([^ )]+)\\s*\\)"); + private final Pattern hostPattern = Pattern.compile("\\(\\s*host\\s*=\\s*([^ )]+)\\s*\\)"); + private final Pattern portPattern = Pattern.compile("\\(\\s*port\\s*=\\s*([\\d]+)\\s*\\)"); + private final Pattern userPattern = Pattern.compile("\\(\\s*user\\s*=\\s*([^ )]+)\\s*\\)"); @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { int addressEnd = jdbcUrl.indexOf(",address="); if (addressEnd > 0) { jdbcUrl = jdbcUrl.substring(0, addressEnd); } - Matcher hostMatcher = HOST_REGEX.matcher(jdbcUrl); + Matcher hostMatcher = hostPattern.matcher(jdbcUrl); if (hostMatcher.find()) { builder.host(hostMatcher.group(1)); } - Matcher portMatcher = PORT_REGEX.matcher(jdbcUrl); + Matcher portMatcher = portPattern.matcher(jdbcUrl); if (portMatcher.find()) { builder.port(Integer.parseInt(portMatcher.group(1))); } - Matcher userMatcher = USER_REGEX.matcher(jdbcUrl); + Matcher userMatcher = userPattern.matcher(jdbcUrl); if (userMatcher.find()) { builder.user(userMatcher.group(1)); } @@ -381,8 +380,8 @@ public enum JDBCConnectionUrlParser { private static final String DEFAULT_HOST = "localhost"; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { - DBInfo dbInfo = builder.build(); + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { + DbInfo dbInfo = builder.build(); if (dbInfo.getHost() == null) { builder.host(DEFAULT_HOST); } @@ -395,8 +394,8 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 1433; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { - DBInfo dbInfo = builder.build(); + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { + DbInfo dbInfo = builder.build(); if (dbInfo.getHost() == null) { builder.host(DEFAULT_HOST); } @@ -423,8 +422,8 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 50000; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { - DBInfo dbInfo = builder.build(); + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { + DbInfo dbInfo = builder.build(); if (dbInfo.getPort() == null) { builder.port(DEFAULT_PORT); } @@ -436,13 +435,13 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 1521; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { int typeEndIndex = jdbcUrl.indexOf(":", "oracle:".length()); String subtype = jdbcUrl.substring("oracle:".length(), typeEndIndex); jdbcUrl = jdbcUrl.substring(typeEndIndex + 1); builder.subtype(subtype); - DBInfo dbInfo = builder.build(); + DbInfo dbInfo = builder.build(); if (dbInfo.getPort() == null) { builder.port(DEFAULT_PORT); } @@ -457,7 +456,7 @@ public enum JDBCConnectionUrlParser { ORACLE_CONNECT_INFO() { @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { String host; Integer port; @@ -481,6 +480,7 @@ public enum JDBCConnectionUrlParser { try { parsedPort = Integer.parseInt(portOrInstance); } catch (NumberFormatException e) { + log.debug(e.getMessage(), e); } if (parsedPort == null) { port = null; @@ -518,7 +518,7 @@ public enum JDBCConnectionUrlParser { ORACLE_AT() { @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { if (jdbcUrl.contains("@(description")) { return ORACLE_AT_DESCRIPTION.doParse(jdbcUrl, builder); } @@ -554,13 +554,13 @@ public enum JDBCConnectionUrlParser { * defined in the first block. (It would locate data from subsequent address blocks. */ ORACLE_AT_DESCRIPTION() { - private final Pattern HOST_REGEX = Pattern.compile("\\(\\s*host\\s*=\\s*([^ )]+)\\s*\\)"); - private final Pattern PORT_REGEX = Pattern.compile("\\(\\s*port\\s*=\\s*([\\d]+)\\s*\\)"); - private final Pattern INSTANCE_REGEX = + private final Pattern hostPattern = Pattern.compile("\\(\\s*host\\s*=\\s*([^ )]+)\\s*\\)"); + private final Pattern portPattern = Pattern.compile("\\(\\s*port\\s*=\\s*([\\d]+)\\s*\\)"); + private final Pattern instancePattern = Pattern.compile("\\(\\s*service_name\\s*=\\s*([^ )]+)\\s*\\)"); @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { String[] atSplit = jdbcUrl.split("@", 2); int userInfoLoc = atSplit[0].indexOf("/"); @@ -568,17 +568,17 @@ public enum JDBCConnectionUrlParser { builder.user(atSplit[0].substring(0, userInfoLoc)); } - Matcher hostMatcher = HOST_REGEX.matcher(atSplit[1]); + Matcher hostMatcher = hostPattern.matcher(atSplit[1]); if (hostMatcher.find()) { builder.host(hostMatcher.group(1)); } - Matcher portMatcher = PORT_REGEX.matcher(atSplit[1]); + Matcher portMatcher = portPattern.matcher(atSplit[1]); if (portMatcher.find()) { builder.port(Integer.parseInt(portMatcher.group(1))); } - Matcher instanceMatcher = INSTANCE_REGEX.matcher(atSplit[1]); + Matcher instanceMatcher = instancePattern.matcher(atSplit[1]); if (instanceMatcher.find()) { builder.name(instanceMatcher.group(1)); } @@ -591,7 +591,7 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 8082; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { String instance; String h2Url = jdbcUrl.substring("h2:".length()); @@ -620,13 +620,13 @@ public enum JDBCConnectionUrlParser { instance = h2Url.substring("zip:".length()); } } else if (h2Url.startsWith("tcp:")) { - DBInfo dbInfo = builder.build(); + DbInfo dbInfo = builder.build(); if (dbInfo.getPort() == null) { builder.port(DEFAULT_PORT); } return MODIFIED_URL_LIKE.doParse(jdbcUrl, builder).system(DbSystem.H2).subtype("tcp"); } else if (h2Url.startsWith("ssl:")) { - DBInfo dbInfo = builder.build(); + DbInfo dbInfo = builder.build(); if (dbInfo.getPort() == null) { builder.port(DEFAULT_PORT); } @@ -652,9 +652,9 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 9001; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { String instance = null; - DBInfo dbInfo = builder.build(); + DbInfo dbInfo = builder.build(); if (dbInfo.getUser() == null) { builder.user(DEFAULT_USER); } @@ -710,11 +710,11 @@ public enum JDBCConnectionUrlParser { private static final int DEFAULT_PORT = 1527; @Override - DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder) { String instance = null; String host = null; - DBInfo dbInfo = builder.build(); + DbInfo dbInfo = builder.build(); if (dbInfo.getUser() == null) { builder.user(DEFAULT_USER); } @@ -788,12 +788,12 @@ public enum JDBCConnectionUrlParser { } }; - private static final Logger log = LoggerFactory.getLogger(JDBCConnectionUrlParser.class); + private static final Logger log = LoggerFactory.getLogger(JdbcConnectionUrlParser.class); - private static final Map typeParsers = new HashMap<>(); + private static final Map typeParsers = new HashMap<>(); static { - for (JDBCConnectionUrlParser parser : JDBCConnectionUrlParser.values()) { + for (JdbcConnectionUrlParser parser : JdbcConnectionUrlParser.values()) { for (String key : parser.typeKeys) { typeParsers.put(key, parser); } @@ -802,13 +802,13 @@ public enum JDBCConnectionUrlParser { private final String[] typeKeys; - JDBCConnectionUrlParser(String... typeKeys) { + JdbcConnectionUrlParser(String... typeKeys) { this.typeKeys = typeKeys; } - abstract DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder); + abstract DbInfo.Builder doParse(String jdbcUrl, DbInfo.Builder builder); - public static DBInfo parse(String connectionUrl, Properties props) { + public static DbInfo parse(String connectionUrl, Properties props) { if (connectionUrl == null) { return DEFAULT; } @@ -829,7 +829,7 @@ public enum JDBCConnectionUrlParser { String type = jdbcUrl.substring(0, typeLoc); String system = toDbSystem(type); - DBInfo.Builder parsedProps = DEFAULT.toBuilder().system(system); + DbInfo.Builder parsedProps = DEFAULT.toBuilder().system(system); populateStandardProperties(parsedProps, props); try { @@ -844,8 +844,8 @@ public enum JDBCConnectionUrlParser { } } - private static DBInfo withUrl(DBInfo.Builder builder, String type) { - DBInfo info = builder.build(); + private static DbInfo withUrl(DbInfo.Builder builder, String type) { + DbInfo info = builder.build(); StringBuilder url = new StringBuilder(); url.append(type); url.append(':'); @@ -872,28 +872,28 @@ public enum JDBCConnectionUrlParser { if (query == null || query.isEmpty()) { return Collections.emptyMap(); } - Map query_pairs = new LinkedHashMap<>(); + Map queryPairs = new LinkedHashMap<>(); String[] pairs = query.split(separator); for (String pair : pairs) { try { int idx = pair.indexOf("="); String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair; - if (!query_pairs.containsKey(key)) { + if (!queryPairs.containsKey(key)) { String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), "UTF-8") : null; - query_pairs.put(key, value); + queryPairs.put(key, value); } } catch (UnsupportedEncodingException e) { // Ignore. } } - return query_pairs; + return queryPairs; } private static void populateStandardProperties( - DBInfo.Builder builder, Map props) { + DbInfo.Builder builder, Map props) { if (props != null && !props.isEmpty()) { if (props.containsKey("user")) { builder.user((String) props.get("user")); @@ -933,10 +933,8 @@ public enum JDBCConnectionUrlParser { } } - /** - * see {@link specification} - */ + // see + // https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/database.md private static String toDbSystem(String type) { switch (type) { case "as400": // IBM AS400 Database diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcDataSourceInstrumentationModule.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcDataSourceInstrumentationModule.java index 5439fe2f84..cf0c779ab0 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcDataSourceInstrumentationModule.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcDataSourceInstrumentationModule.java @@ -36,28 +36,28 @@ public final class JdbcDataSourceInstrumentationModule extends InstrumentationMo public String[] helperClassNames() { return new String[] { packageName + ".DataSourceTracer", - packageName + ".DBInfo", - packageName + ".DBInfo$Builder", - packageName + ".JDBCConnectionUrlParser", - packageName + ".JDBCConnectionUrlParser$1", - packageName + ".JDBCConnectionUrlParser$2", - packageName + ".JDBCConnectionUrlParser$3", - packageName + ".JDBCConnectionUrlParser$4", - packageName + ".JDBCConnectionUrlParser$5", - packageName + ".JDBCConnectionUrlParser$6", - packageName + ".JDBCConnectionUrlParser$7", - packageName + ".JDBCConnectionUrlParser$8", - packageName + ".JDBCConnectionUrlParser$9", - packageName + ".JDBCConnectionUrlParser$10", - packageName + ".JDBCConnectionUrlParser$11", - packageName + ".JDBCConnectionUrlParser$12", - packageName + ".JDBCConnectionUrlParser$13", - packageName + ".JDBCConnectionUrlParser$14", - packageName + ".JDBCConnectionUrlParser$15", - packageName + ".JDBCConnectionUrlParser$16", - packageName + ".JDBCConnectionUrlParser$17", - packageName + ".JDBCMaps", - packageName + ".JDBCUtils", + packageName + ".DbInfo", + packageName + ".DbInfo$Builder", + packageName + ".JdbcConnectionUrlParser", + packageName + ".JdbcConnectionUrlParser$1", + packageName + ".JdbcConnectionUrlParser$2", + packageName + ".JdbcConnectionUrlParser$3", + packageName + ".JdbcConnectionUrlParser$4", + packageName + ".JdbcConnectionUrlParser$5", + packageName + ".JdbcConnectionUrlParser$6", + packageName + ".JdbcConnectionUrlParser$7", + packageName + ".JdbcConnectionUrlParser$8", + packageName + ".JdbcConnectionUrlParser$9", + packageName + ".JdbcConnectionUrlParser$10", + packageName + ".JdbcConnectionUrlParser$11", + packageName + ".JdbcConnectionUrlParser$12", + packageName + ".JdbcConnectionUrlParser$13", + packageName + ".JdbcConnectionUrlParser$14", + packageName + ".JdbcConnectionUrlParser$15", + packageName + ".JdbcConnectionUrlParser$16", + packageName + ".JdbcConnectionUrlParser$17", + packageName + ".JdbcMaps", + packageName + ".JdbcUtils", }; } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcInstrumentationModule.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcInstrumentationModule.java index 910ea5ed78..3e5530f5e4 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcInstrumentationModule.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcInstrumentationModule.java @@ -21,29 +21,29 @@ public class JdbcInstrumentationModule extends InstrumentationModule { @Override public String[] helperClassNames() { return new String[] { - packageName + ".DBInfo", - packageName + ".DBInfo$Builder", - packageName + ".JDBCConnectionUrlParser", - packageName + ".JDBCConnectionUrlParser$1", - packageName + ".JDBCConnectionUrlParser$2", - packageName + ".JDBCConnectionUrlParser$3", - packageName + ".JDBCConnectionUrlParser$4", - packageName + ".JDBCConnectionUrlParser$5", - packageName + ".JDBCConnectionUrlParser$6", - packageName + ".JDBCConnectionUrlParser$7", - packageName + ".JDBCConnectionUrlParser$8", - packageName + ".JDBCConnectionUrlParser$9", - packageName + ".JDBCConnectionUrlParser$10", - packageName + ".JDBCConnectionUrlParser$11", - packageName + ".JDBCConnectionUrlParser$12", - packageName + ".JDBCConnectionUrlParser$13", - packageName + ".JDBCConnectionUrlParser$14", - packageName + ".JDBCConnectionUrlParser$15", - packageName + ".JDBCConnectionUrlParser$16", - packageName + ".JDBCConnectionUrlParser$17", - packageName + ".JDBCMaps", + packageName + ".DbInfo", + packageName + ".DbInfo$Builder", + packageName + ".JdbcConnectionUrlParser", + packageName + ".JdbcConnectionUrlParser$1", + packageName + ".JdbcConnectionUrlParser$2", + packageName + ".JdbcConnectionUrlParser$3", + packageName + ".JdbcConnectionUrlParser$4", + packageName + ".JdbcConnectionUrlParser$5", + packageName + ".JdbcConnectionUrlParser$6", + packageName + ".JdbcConnectionUrlParser$7", + packageName + ".JdbcConnectionUrlParser$8", + packageName + ".JdbcConnectionUrlParser$9", + packageName + ".JdbcConnectionUrlParser$10", + packageName + ".JdbcConnectionUrlParser$11", + packageName + ".JdbcConnectionUrlParser$12", + packageName + ".JdbcConnectionUrlParser$13", + packageName + ".JdbcConnectionUrlParser$14", + packageName + ".JdbcConnectionUrlParser$15", + packageName + ".JdbcConnectionUrlParser$16", + packageName + ".JdbcConnectionUrlParser$17", + packageName + ".JdbcMaps", packageName + ".JdbcTracer", - packageName + ".JDBCUtils", + packageName + ".JdbcUtils", }; } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCMaps.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcMaps.java similarity index 88% rename from instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCMaps.java rename to instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcMaps.java index ac2a941934..7d55428931 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCMaps.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcMaps.java @@ -17,8 +17,8 @@ import java.sql.PreparedStatement; * *

Should be injected into the bootstrap classpath. */ -public class JDBCMaps { - public static final WeakMap connectionInfo = newWeakMap(); +public class JdbcMaps { + public static final WeakMap connectionInfo = newWeakMap(); public static final WeakMap preparedStatements = newWeakMap(); } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcTracer.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcTracer.java index 9059cf6f12..08fe72d211 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcTracer.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcTracer.java @@ -5,8 +5,8 @@ package io.opentelemetry.javaagent.instrumentation.jdbc; -import static io.opentelemetry.javaagent.instrumentation.jdbc.JDBCUtils.connectionFromStatement; -import static io.opentelemetry.javaagent.instrumentation.jdbc.JDBCUtils.normalizeAndExtractInfo; +import static io.opentelemetry.javaagent.instrumentation.jdbc.JdbcUtils.connectionFromStatement; +import static io.opentelemetry.javaagent.instrumentation.jdbc.JdbcUtils.normalizeAndExtractInfo; import io.opentelemetry.api.trace.Span; import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer; @@ -20,7 +20,7 @@ import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; -public class JdbcTracer extends DatabaseClientTracer { +public class JdbcTracer extends DatabaseClientTracer { private static final JdbcTracer TRACER = new JdbcTracer(); public static JdbcTracer tracer() { @@ -33,17 +33,17 @@ public class JdbcTracer extends DatabaseClientTracer { } @Override - protected String dbSystem(DBInfo info) { + protected String dbSystem(DbInfo info) { return info.getSystem(); } @Override - protected String dbUser(DBInfo info) { + protected String dbUser(DbInfo info) { return info.getUser(); } @Override - protected String dbName(DBInfo info) { + protected String dbName(DbInfo info) { if (info.getName() != null) { return info.getName(); } else { @@ -53,12 +53,12 @@ public class JdbcTracer extends DatabaseClientTracer { // TODO find a way to implement @Override - protected InetSocketAddress peerAddress(DBInfo dbInfo) { + protected InetSocketAddress peerAddress(DbInfo dbInfo) { return null; } @Override - protected String dbConnectionString(DBInfo info) { + protected String dbConnectionString(DbInfo info) { return info.getShortUrl(); } @@ -67,7 +67,7 @@ public class JdbcTracer extends DatabaseClientTracer { } public Span startSpan(PreparedStatement statement) { - return startSpan(statement, JDBCMaps.preparedStatements.get(statement)); + return startSpan(statement, JdbcMaps.preparedStatements.get(statement)); } public Span startSpan(Statement statement, String query) { @@ -80,7 +80,7 @@ public class JdbcTracer extends DatabaseClientTracer { return null; } - DBInfo dbInfo = extractDbInfo(connection); + DbInfo dbInfo = extractDbInfo(connection); return startSpan(dbInfo, queryInfo); } @@ -91,7 +91,7 @@ public class JdbcTracer extends DatabaseClientTracer { } @Override - protected String spanName(DBInfo connection, SqlStatementInfo query, String normalizedQuery) { + protected String spanName(DbInfo connection, SqlStatementInfo query, String normalizedQuery) { String dbName = dbName(connection); if (query.getOperation() == null) { return dbName == null ? DB_QUERY : dbName; @@ -111,8 +111,8 @@ public class JdbcTracer extends DatabaseClientTracer { return name.toString(); } - private DBInfo extractDbInfo(Connection connection) { - DBInfo dbInfo = JDBCMaps.connectionInfo.get(connection); + private DbInfo extractDbInfo(Connection connection) { + DbInfo dbInfo = JdbcMaps.connectionInfo.get(connection); /* * Logic to get the DBInfo from a JDBC Connection, if the connection was not created via * Driver.connect, or it has never seen before, the connectionInfo map will return null and will @@ -127,18 +127,18 @@ public class JdbcTracer extends DatabaseClientTracer { String url = metaData.getURL(); if (url != null) { try { - dbInfo = JDBCConnectionUrlParser.parse(url, connection.getClientInfo()); + dbInfo = JdbcConnectionUrlParser.parse(url, connection.getClientInfo()); } catch (Throwable ex) { // getClientInfo is likely not allowed. - dbInfo = JDBCConnectionUrlParser.parse(url, null); + dbInfo = JdbcConnectionUrlParser.parse(url, null); } } else { - dbInfo = DBInfo.DEFAULT; + dbInfo = DbInfo.DEFAULT; } } catch (SQLException se) { - dbInfo = DBInfo.DEFAULT; + dbInfo = DbInfo.DEFAULT; } - JDBCMaps.connectionInfo.put(connection, dbInfo); + JdbcMaps.connectionInfo.put(connection, dbInfo); } } return dbInfo; diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCUtils.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcUtils.java similarity index 91% rename from instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCUtils.java rename to instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcUtils.java index 643b9a675b..8d68a68bd3 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JDBCUtils.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/JdbcUtils.java @@ -17,18 +17,15 @@ import java.sql.Statement; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public abstract class JDBCUtils { +public abstract class JdbcUtils { - private static final Logger log = LoggerFactory.getLogger(JDBCUtils.class); + private static final Logger log = LoggerFactory.getLogger(JdbcUtils.class); private static final boolean NORMALIZATION_ENABLED = isQueryNormalizationEnabled("jdbc"); private static Field c3poField = null; - /** - * @param statement - * @return the unwrapped connection or null if exception was thrown. - */ + /** Returns the unwrapped connection or null if exception was thrown. */ public static Connection connectionFromStatement(Statement statement) { Connection connection; try { @@ -72,7 +69,7 @@ public abstract class JDBCUtils { return connection; } - /** @return null if the sql could not be normalized for any reason */ + /** Returns null if the sql could not be normalized for any reason. */ public static String normalizeSql(String sql) { if (!NORMALIZATION_ENABLED) { return sql; diff --git a/instrumentation/jdbc/src/test/groovy/JDBCConnectionUrlParserTest.groovy b/instrumentation/jdbc/src/test/groovy/JdbcConnectionUrlParserTest.groovy similarity index 99% rename from instrumentation/jdbc/src/test/groovy/JDBCConnectionUrlParserTest.groovy rename to instrumentation/jdbc/src/test/groovy/JdbcConnectionUrlParserTest.groovy index a413a3c67d..6c89df9be2 100644 --- a/instrumentation/jdbc/src/test/groovy/JDBCConnectionUrlParserTest.groovy +++ b/instrumentation/jdbc/src/test/groovy/JdbcConnectionUrlParserTest.groovy @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -import static io.opentelemetry.javaagent.instrumentation.jdbc.JDBCConnectionUrlParser.parse +import static io.opentelemetry.javaagent.instrumentation.jdbc.JdbcConnectionUrlParser.parse -import io.opentelemetry.javaagent.instrumentation.jdbc.DBInfo +import io.opentelemetry.javaagent.instrumentation.jdbc.DbInfo import spock.lang.Shared import spock.lang.Specification -class JDBCConnectionUrlParserTest extends Specification { +class JdbcConnectionUrlParserTest extends Specification { @Shared def stdProps = { @@ -29,7 +29,7 @@ class JDBCConnectionUrlParserTest extends Specification { def "invalid url returns default"() { expect: - parse(url, null) == DBInfo.DEFAULT + parse(url, null) == DbInfo.DEFAULT where: url | _ @@ -200,6 +200,6 @@ class JDBCConnectionUrlParserTest extends Specification { "jdbc:derby:jar:/derbydb;user=derbyuser;password=pw" | null | "derby:jar:" | "derby" | "jar" | "derbyuser" | null | null | "/derbydb" | null "jdbc:derby:jar:(~/path/to/db.jar)/other/derbydb;user=derbyuser;password=pw" | null | "derby:jar:" | "derby" | "jar" | "derbyuser" | null | null | "(~/path/to/db.jar)/other/derbydb" | null - expected = new DBInfo.Builder().system(system).subtype(subtype).user(user).name(name).db(db).host(host).port(port).shortUrl(shortUrl).build() + expected = new DbInfo.Builder().system(system).subtype(subtype).user(user).name(name).db(db).host(host).port(port).shortUrl(shortUrl).build() } } diff --git a/instrumentation/jdbc/src/test/groovy/JDBCInstrumentationTest.groovy b/instrumentation/jdbc/src/test/groovy/JdbcInstrumentationTest.groovy similarity index 97% rename from instrumentation/jdbc/src/test/groovy/JDBCInstrumentationTest.groovy rename to instrumentation/jdbc/src/test/groovy/JdbcInstrumentationTest.groovy index 8ae5697dfa..a52558a61c 100644 --- a/instrumentation/jdbc/src/test/groovy/JDBCInstrumentationTest.groovy +++ b/instrumentation/jdbc/src/test/groovy/JdbcInstrumentationTest.groovy @@ -13,7 +13,7 @@ import com.zaxxer.hikari.HikariDataSource import io.opentelemetry.api.trace.attributes.SemanticAttributes import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.utils.ConfigUtils -import io.opentelemetry.javaagent.instrumentation.jdbc.JDBCUtils +import io.opentelemetry.javaagent.instrumentation.jdbc.JdbcUtils import java.sql.CallableStatement import java.sql.Connection import java.sql.PreparedStatement @@ -30,7 +30,7 @@ import spock.lang.Unroll import test.TestConnection import test.TestDriver -class JDBCInstrumentationTest extends AgentTestRunner { +class JdbcInstrumentationTest extends AgentTestRunner { static final PREVIOUS_CONFIG = ConfigUtils.updateConfigAndResetInstrumentation { it.setProperty("otel.instrumentation.jdbc-datasource.enabled", "true") } @@ -194,7 +194,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { if (username != null) { "$SemanticAttributes.DB_USER.key" username } - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" url } } @@ -250,7 +250,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { if (username != null) { "$SemanticAttributes.DB_USER.key" username } - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" url } } @@ -298,7 +298,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { if (username != null) { "$SemanticAttributes.DB_USER.key" username } - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" url } } @@ -346,7 +346,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { if (username != null) { "$SemanticAttributes.DB_USER.key" username } - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" url } } @@ -394,7 +394,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { if (username != null) { "$SemanticAttributes.DB_USER.key" username } - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" url } } @@ -445,7 +445,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { if (username != null) { "$SemanticAttributes.DB_USER.key" username } - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" url } } @@ -507,7 +507,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { if (username != null) { "$SemanticAttributes.DB_USER.key" username } - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" url } } @@ -602,7 +602,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { errored false attributes { "$SemanticAttributes.DB_SYSTEM.key" "testdb" - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" "testdb://localhost" } } @@ -641,7 +641,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { attributes { "$SemanticAttributes.DB_SYSTEM.key" "testdb" "$SemanticAttributes.DB_NAME.key" databaseName - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" "testdb://localhost" } } @@ -698,7 +698,7 @@ class JDBCInstrumentationTest extends AgentTestRunner { "$SemanticAttributes.DB_SYSTEM.key" "hsqldb" "$SemanticAttributes.DB_NAME.key" dbNameLower "$SemanticAttributes.DB_USER.key" "SA" - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(query) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(query) "$SemanticAttributes.DB_CONNECTION_STRING.key" "hsqldb:mem:" } } diff --git a/instrumentation/jms-1.1/src/jms2Test/groovy/JMS2Test.groovy b/instrumentation/jms-1.1/src/jms2Test/groovy/Jms2Test.groovy similarity index 95% rename from instrumentation/jms-1.1/src/jms2Test/groovy/JMS2Test.groovy rename to instrumentation/jms-1.1/src/jms2Test/groovy/Jms2Test.groovy index b20c49ce5c..9a2914f155 100644 --- a/instrumentation/jms-1.1/src/jms2Test/groovy/JMS2Test.groovy +++ b/instrumentation/jms-1.1/src/jms2Test/groovy/Jms2Test.groovy @@ -7,11 +7,11 @@ import static io.opentelemetry.api.trace.Span.Kind.CONSUMER import static io.opentelemetry.api.trace.Span.Kind.PRODUCER import com.google.common.io.Files +import io.opentelemetry.api.trace.attributes.SemanticAttributes import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.asserts.TraceAssert -import io.opentelemetry.javaagent.instrumentation.jms.JMSTracer +import io.opentelemetry.javaagent.instrumentation.jms.JmsTracer import io.opentelemetry.sdk.trace.data.SpanData -import io.opentelemetry.api.trace.attributes.SemanticAttributes import java.util.concurrent.CountDownLatch import java.util.concurrent.atomic.AtomicReference import javax.jms.Message @@ -32,7 +32,7 @@ import org.hornetq.core.server.HornetQServers import org.hornetq.jms.client.HornetQTextMessage import spock.lang.Shared -class JMS2Test extends AgentTestRunner { +class Jms2Test extends AgentTestRunner { @Shared HornetQServer server @Shared @@ -110,8 +110,8 @@ class JMS2Test extends AgentTestRunner { destination | destinationType | destinationName session.createQueue("someQueue") | "queue" | "someQueue" session.createTopic("someTopic") | "topic" | "someTopic" - session.createTemporaryQueue() | "queue" | JMSTracer.TEMP_DESTINATION_NAME - session.createTemporaryTopic() | "topic" | JMSTracer.TEMP_DESTINATION_NAME + session.createTemporaryQueue() | "queue" | JmsTracer.TEMP_DESTINATION_NAME + session.createTemporaryTopic() | "topic" | JmsTracer.TEMP_DESTINATION_NAME } def "sending to a MessageListener on #destinationName #destinationType generates a span"() { @@ -149,8 +149,8 @@ class JMS2Test extends AgentTestRunner { destination | destinationType | destinationName session.createQueue("someQueue") | "queue" | "someQueue" session.createTopic("someTopic") | "topic" | "someTopic" - session.createTemporaryQueue() | "queue" | JMSTracer.TEMP_DESTINATION_NAME - session.createTemporaryTopic() | "topic" | JMSTracer.TEMP_DESTINATION_NAME + session.createTemporaryQueue() | "queue" | JmsTracer.TEMP_DESTINATION_NAME + session.createTemporaryTopic() | "topic" | JmsTracer.TEMP_DESTINATION_NAME } def "failing to receive message with receiveNoWait on #destinationName #destinationType works"() { @@ -234,7 +234,7 @@ class JMS2Test extends AgentTestRunner { "${SemanticAttributes.MESSAGING_SYSTEM.key}" "jms" "${SemanticAttributes.MESSAGING_DESTINATION.key}" destinationName "${SemanticAttributes.MESSAGING_DESTINATION_KIND.key}" destinationType - if (destinationName == JMSTracer.TEMP_DESTINATION_NAME) { + if (destinationName == JmsTracer.TEMP_DESTINATION_NAME) { "${SemanticAttributes.MESSAGING_TEMP_DESTINATION.key}" true } } @@ -263,7 +263,7 @@ class JMS2Test extends AgentTestRunner { //In some tests we don't know exact messageId, so we pass "" and verify just the existence of the attribute "${SemanticAttributes.MESSAGING_MESSAGE_ID.key}" { it == messageId || messageId == "" } } - if (destinationName == JMSTracer.TEMP_DESTINATION_NAME) { + if (destinationName == JmsTracer.TEMP_DESTINATION_NAME) { "${SemanticAttributes.MESSAGING_TEMP_DESTINATION.key}" true } } diff --git a/instrumentation/jms-1.1/src/jms2Test/groovy/SpringListenerJMS2Test.groovy b/instrumentation/jms-1.1/src/jms2Test/groovy/SpringListenerJms2Test.groovy similarity index 66% rename from instrumentation/jms-1.1/src/jms2Test/groovy/SpringListenerJMS2Test.groovy rename to instrumentation/jms-1.1/src/jms2Test/groovy/SpringListenerJms2Test.groovy index 27cf49eff1..b9a32cab80 100644 --- a/instrumentation/jms-1.1/src/jms2Test/groovy/SpringListenerJMS2Test.groovy +++ b/instrumentation/jms-1.1/src/jms2Test/groovy/SpringListenerJms2Test.groovy @@ -3,8 +3,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import static JMS2Test.consumerSpan -import static JMS2Test.producerSpan +import static Jms2Test.consumerSpan +import static Jms2Test.producerSpan import io.opentelemetry.instrumentation.test.AgentTestRunner import javax.jms.ConnectionFactory @@ -12,22 +12,22 @@ import listener.Config import org.springframework.context.annotation.AnnotationConfigApplicationContext import org.springframework.jms.core.JmsTemplate -class SpringListenerJMS2Test extends AgentTestRunner { +class SpringListenerJms2Test extends AgentTestRunner { def "receiving message in spring listener generates spans"() { setup: def context = new AnnotationConfigApplicationContext(Config) def factory = context.getBean(ConnectionFactory) def template = new JmsTemplate(factory) - template.convertAndSend("SpringListenerJMS2", "a message") + template.convertAndSend("SpringListenerJms2", "a message") expect: assertTraces(2) { trace(0, 2) { - producerSpan(it, 0, "queue", "SpringListenerJMS2") - consumerSpan(it, 1, "queue", "SpringListenerJMS2", "", span(0), "process") + producerSpan(it, 0, "queue", "SpringListenerJms2") + consumerSpan(it, 1, "queue", "SpringListenerJms2", "", span(0), "process") } trace(1, 1) { - consumerSpan(it, 0, "queue", "SpringListenerJMS2", "", null, "receive") + consumerSpan(it, 0, "queue", "SpringListenerJms2", "", null, "receive") } } diff --git a/instrumentation/jms-1.1/src/jms2Test/groovy/SpringTemplateJMS2Test.groovy b/instrumentation/jms-1.1/src/jms2Test/groovy/SpringTemplateJms2Test.groovy similarity index 91% rename from instrumentation/jms-1.1/src/jms2Test/groovy/SpringTemplateJMS2Test.groovy rename to instrumentation/jms-1.1/src/jms2Test/groovy/SpringTemplateJms2Test.groovy index d38b41f8df..f6c41a4aa8 100644 --- a/instrumentation/jms-1.1/src/jms2Test/groovy/SpringTemplateJMS2Test.groovy +++ b/instrumentation/jms-1.1/src/jms2Test/groovy/SpringTemplateJms2Test.groovy @@ -3,8 +3,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import static JMS2Test.consumerSpan -import static JMS2Test.producerSpan +import static Jms2Test.consumerSpan +import static Jms2Test.producerSpan import com.google.common.io.Files import io.opentelemetry.instrumentation.test.AgentTestRunner @@ -26,7 +26,7 @@ import org.hornetq.core.server.HornetQServers import org.springframework.jms.core.JmsTemplate import spock.lang.Shared -class SpringTemplateJMS2Test extends AgentTestRunner { +class SpringTemplateJms2Test extends AgentTestRunner { @Shared HornetQServer server @Shared @@ -56,7 +56,7 @@ class SpringTemplateJMS2Test extends AgentTestRunner { def serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(InVMConnectorFactory.name)) def sf = serverLocator.createSessionFactory() def clientSession = sf.createSession(false, false, false) - clientSession.createQueue("jms.queue.SpringTemplateJMS2", "jms.queue.SpringTemplateJMS2", true) + clientSession.createQueue("jms.queue.SpringTemplateJms2", "jms.queue.SpringTemplateJms2", true) clientSession.close() sf.close() serverLocator.close() @@ -95,7 +95,7 @@ class SpringTemplateJMS2Test extends AgentTestRunner { where: destination | destinationType | destinationName - session.createQueue("SpringTemplateJMS2") | "queue" | "SpringTemplateJMS2" + session.createQueue("SpringTemplateJms2") | "queue" | "SpringTemplateJms2" } def "send and receive message generates spans"() { @@ -134,6 +134,6 @@ class SpringTemplateJMS2Test extends AgentTestRunner { where: destination | destinationType | destinationName - session.createQueue("SpringTemplateJMS2") | "queue" | "SpringTemplateJMS2" + session.createQueue("SpringTemplateJms2") | "queue" | "SpringTemplateJms2" } } diff --git a/instrumentation/jms-1.1/src/jms2Test/groovy/listener/Config.groovy b/instrumentation/jms-1.1/src/jms2Test/groovy/listener/Config.groovy index eabe780b60..1f4f95ede3 100644 --- a/instrumentation/jms-1.1/src/jms2Test/groovy/listener/Config.groovy +++ b/instrumentation/jms-1.1/src/jms2Test/groovy/listener/Config.groovy @@ -53,7 +53,7 @@ class Config { def serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(InVMConnectorFactory.name)) def sf = serverLocator.createSessionFactory() def clientSession = sf.createSession(false, false, false) - clientSession.createQueue("jms.queue.SpringListenerJMS2", "jms.queue.SpringListenerJMS2", true) + clientSession.createQueue("jms.queue.SpringListenerJms2", "jms.queue.SpringListenerJms2", true) clientSession.close() sf.close() serverLocator.close() diff --git a/instrumentation/jms-1.1/src/jms2Test/groovy/listener/TestListener.groovy b/instrumentation/jms-1.1/src/jms2Test/groovy/listener/TestListener.groovy index 878ffc3e3a..229dc0b907 100644 --- a/instrumentation/jms-1.1/src/jms2Test/groovy/listener/TestListener.groovy +++ b/instrumentation/jms-1.1/src/jms2Test/groovy/listener/TestListener.groovy @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component @Component class TestListener { - @JmsListener(destination = "SpringListenerJMS2", containerFactory = "containerFactory") + @JmsListener(destination = "SpringListenerJms2", containerFactory = "containerFactory") void receiveMessage(String message) { println "received: " + message } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsInstrumentationModule.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsInstrumentationModule.java index c15b9cb7b2..6a8df50727 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsInstrumentationModule.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsInstrumentationModule.java @@ -24,7 +24,7 @@ public class JmsInstrumentationModule extends InstrumentationModule { public String[] helperClassNames() { return new String[] { packageName + ".MessageDestination", - packageName + ".JMSTracer", + packageName + ".JmsTracer", packageName + ".MessageExtractAdapter", packageName + ".MessageInjectAdapter" }; @@ -33,10 +33,10 @@ public class JmsInstrumentationModule extends InstrumentationModule { @Override public List typeInstrumentations() { return asList( - new JMSMessageConsumerInstrumentation(), - new JMSMessageListenerInstrumentation(), - new JMSMessageProducerInstrumentation(), - new JMSSessionInstrumentation()); + new JmsMessageConsumerInstrumentation(), + new JmsMessageListenerInstrumentation(), + new JmsMessageProducerInstrumentation(), + new JmsSessionInstrumentation()); } @Override diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageConsumerInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageConsumerInstrumentation.java similarity index 91% rename from instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageConsumerInstrumentation.java rename to instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageConsumerInstrumentation.java index 6cfaf3a011..77e85bebd2 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageConsumerInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageConsumerInstrumentation.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jms; -import static io.opentelemetry.javaagent.instrumentation.jms.JMSTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.jms.JmsTracer.tracer; import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.implementsInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; @@ -24,7 +24,7 @@ import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; -final class JMSMessageConsumerInstrumentation implements TypeInstrumentation { +final class JmsMessageConsumerInstrumentation implements TypeInstrumentation { @Override public ElementMatcher classLoaderMatcher() { @@ -42,10 +42,10 @@ final class JMSMessageConsumerInstrumentation implements TypeInstrumentation { Map, String> transformers = new HashMap<>(); transformers.put( named("receive").and(takesArguments(0).or(takesArguments(1))).and(isPublic()), - JMSMessageConsumerInstrumentation.class.getName() + "$ConsumerAdvice"); + JmsMessageConsumerInstrumentation.class.getName() + "$ConsumerAdvice"); transformers.put( named("receiveNoWait").and(takesArguments(0)).and(isPublic()), - JMSMessageConsumerInstrumentation.class.getName() + "$ConsumerAdvice"); + JmsMessageConsumerInstrumentation.class.getName() + "$ConsumerAdvice"); return transformers; } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageListenerInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageListenerInstrumentation.java similarity index 92% rename from instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageListenerInstrumentation.java rename to instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageListenerInstrumentation.java index ce425614d1..34aebd0d4e 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageListenerInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageListenerInstrumentation.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jms; -import static io.opentelemetry.javaagent.instrumentation.jms.JMSTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.jms.JmsTracer.tracer; import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.implementsInterface; import static java.util.Collections.singletonMap; @@ -23,7 +23,7 @@ import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; -final class JMSMessageListenerInstrumentation implements TypeInstrumentation { +final class JmsMessageListenerInstrumentation implements TypeInstrumentation { @Override public ElementMatcher classLoaderMatcher() { @@ -40,7 +40,7 @@ final class JMSMessageListenerInstrumentation implements TypeInstrumentation { public Map, String> transformers() { return singletonMap( named("onMessage").and(takesArgument(0, named("javax.jms.Message"))).and(isPublic()), - JMSMessageListenerInstrumentation.class.getName() + "$MessageListenerAdvice"); + JmsMessageListenerInstrumentation.class.getName() + "$MessageListenerAdvice"); } public static class MessageListenerAdvice { diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageProducerInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageProducerInstrumentation.java similarity index 94% rename from instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageProducerInstrumentation.java rename to instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageProducerInstrumentation.java index f8cd721b30..a1451a5337 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSMessageProducerInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageProducerInstrumentation.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jms; -import static io.opentelemetry.javaagent.instrumentation.jms.JMSTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.jms.JmsTracer.tracer; import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.implementsInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; @@ -27,7 +27,7 @@ import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; -final class JMSMessageProducerInstrumentation implements TypeInstrumentation { +final class JmsMessageProducerInstrumentation implements TypeInstrumentation { @Override public ElementMatcher classLoaderMatcher() { @@ -45,13 +45,13 @@ final class JMSMessageProducerInstrumentation implements TypeInstrumentation { Map, String> transformers = new HashMap<>(); transformers.put( named("send").and(takesArgument(0, named("javax.jms.Message"))).and(isPublic()), - JMSMessageProducerInstrumentation.class.getName() + "$ProducerAdvice"); + JmsMessageProducerInstrumentation.class.getName() + "$ProducerAdvice"); transformers.put( named("send") .and(takesArgument(0, named("javax.jms.Destination"))) .and(takesArgument(1, named("javax.jms.Message"))) .and(isPublic()), - JMSMessageProducerInstrumentation.class.getName() + "$ProducerWithDestinationAdvice"); + JmsMessageProducerInstrumentation.class.getName() + "$ProducerWithDestinationAdvice"); return transformers; } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSSessionInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSessionInstrumentation.java similarity index 91% rename from instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSSessionInstrumentation.java rename to instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSessionInstrumentation.java index 31576bfea4..82333dffb3 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSSessionInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSessionInstrumentation.java @@ -22,7 +22,7 @@ import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; -final class JMSSessionInstrumentation implements TypeInstrumentation { +final class JmsSessionInstrumentation implements TypeInstrumentation { @Override public ElementMatcher classLoaderMatcher() { @@ -41,7 +41,7 @@ final class JMSSessionInstrumentation implements TypeInstrumentation { named("createConsumer") .and(takesArgument(0, named("javax.jms.Destination"))) .and(isPublic()), - JMSSessionInstrumentation.class.getName() + "$ConsumerAdvice"); + JmsSessionInstrumentation.class.getName() + "$ConsumerAdvice"); } public static class ConsumerAdvice { @@ -49,7 +49,7 @@ final class JMSSessionInstrumentation implements TypeInstrumentation { @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class) public static void onExit( @Advice.Argument(0) Destination destination, @Advice.Return MessageConsumer consumer) { - MessageDestination messageDestination = JMSTracer.extractMessageDestination(destination); + MessageDestination messageDestination = JmsTracer.extractMessageDestination(destination); InstrumentationContext.get(MessageConsumer.class, MessageDestination.class) .put(consumer, messageDestination); } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSTracer.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsTracer.java similarity index 92% rename from instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSTracer.java rename to instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsTracer.java index 595704d04e..b069862e1f 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JMSTracer.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsTracer.java @@ -29,15 +29,15 @@ import javax.jms.Topic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class JMSTracer extends BaseTracer { - private static final Logger log = LoggerFactory.getLogger(JMSTracer.class); +public class JmsTracer extends BaseTracer { + private static final Logger log = LoggerFactory.getLogger(JmsTracer.class); // From the spec public static final String TEMP_DESTINATION_NAME = "(temporary)"; - private static final JMSTracer TRACER = new JMSTracer(); + private static final JmsTracer TRACER = new JmsTracer(); - public static JMSTracer tracer() { + public static JmsTracer tracer() { return TRACER; } @@ -143,18 +143,18 @@ public class JMSTracer extends BaseTracer { if (message != null) { try { - String messageID = message.getJMSMessageID(); - if (messageID != null) { - span.setAttribute(SemanticAttributes.MESSAGING_MESSAGE_ID, messageID); + String messageId = message.getJMSMessageID(); + if (messageId != null) { + span.setAttribute(SemanticAttributes.MESSAGING_MESSAGE_ID, messageId); } } catch (Exception e) { log.debug("Failure getting JMS message id", e); } try { - String correlationID = message.getJMSCorrelationID(); - if (correlationID != null) { - span.setAttribute(SemanticAttributes.MESSAGING_CONVERSATION_ID, correlationID); + String correlationId = message.getJMSCorrelationID(); + if (correlationId != null) { + span.setAttribute(SemanticAttributes.MESSAGING_CONVERSATION_ID, correlationId); } } catch (Exception e) { log.debug("Failure getting JMS correlation id", e); diff --git a/instrumentation/jms-1.1/src/test/groovy/JMS1Test.groovy b/instrumentation/jms-1.1/src/test/groovy/Jms1Test.groovy similarity index 93% rename from instrumentation/jms-1.1/src/test/groovy/JMS1Test.groovy rename to instrumentation/jms-1.1/src/test/groovy/Jms1Test.groovy index b2e2db8730..b5a3a4b453 100644 --- a/instrumentation/jms-1.1/src/test/groovy/JMS1Test.groovy +++ b/instrumentation/jms-1.1/src/test/groovy/Jms1Test.groovy @@ -6,11 +6,11 @@ import static io.opentelemetry.api.trace.Span.Kind.CONSUMER import static io.opentelemetry.api.trace.Span.Kind.PRODUCER +import io.opentelemetry.api.trace.attributes.SemanticAttributes import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.asserts.TraceAssert -import io.opentelemetry.javaagent.instrumentation.jms.JMSTracer +import io.opentelemetry.javaagent.instrumentation.jms.JmsTracer import io.opentelemetry.sdk.trace.data.SpanData -import io.opentelemetry.api.trace.attributes.SemanticAttributes import java.util.concurrent.CountDownLatch import java.util.concurrent.atomic.AtomicReference import javax.jms.Connection @@ -28,9 +28,9 @@ import spock.lang.Requires import spock.lang.Shared @Requires({ "true" != System.getenv("CIRCLECI") }) -class JMS1Test extends AgentTestRunner { +class Jms1Test extends AgentTestRunner { - private static final Logger logger = LoggerFactory.getLogger(JMS1Test) + private static final Logger logger = LoggerFactory.getLogger(Jms1Test) private static final GenericContainer broker = new GenericContainer("rmohr/activemq") .withExposedPorts(61616, 8161) @@ -85,8 +85,8 @@ class JMS1Test extends AgentTestRunner { destination | destinationType | destinationName session.createQueue("someQueue") | "queue" | "someQueue" session.createTopic("someTopic") | "topic" | "someTopic" - session.createTemporaryQueue() | "queue" | JMSTracer.TEMP_DESTINATION_NAME - session.createTemporaryTopic() | "topic" | JMSTracer.TEMP_DESTINATION_NAME + session.createTemporaryQueue() | "queue" | JmsTracer.TEMP_DESTINATION_NAME + session.createTemporaryTopic() | "topic" | JmsTracer.TEMP_DESTINATION_NAME } def "sending to a MessageListener on #destinationName #destinationType generates a span"() { @@ -124,8 +124,8 @@ class JMS1Test extends AgentTestRunner { destination | destinationType | destinationName session.createQueue("someQueue") | "queue" | "someQueue" session.createTopic("someTopic") | "topic" | "someTopic" - session.createTemporaryQueue() | "queue" | JMSTracer.TEMP_DESTINATION_NAME - session.createTemporaryTopic() | "topic" | JMSTracer.TEMP_DESTINATION_NAME + session.createTemporaryQueue() | "queue" | JmsTracer.TEMP_DESTINATION_NAME + session.createTemporaryTopic() | "topic" | JmsTracer.TEMP_DESTINATION_NAME } def "failing to receive message with receiveNoWait on #destinationName #destinationType works"() { @@ -235,7 +235,7 @@ class JMS1Test extends AgentTestRunner { "${SemanticAttributes.MESSAGING_DESTINATION_KIND.key}" destinationType "${SemanticAttributes.MESSAGING_MESSAGE_ID.key}" receivedMessage.getJMSMessageID() "${SemanticAttributes.MESSAGING_OPERATION.key}" "receive" - if (destinationName == JMSTracer.TEMP_DESTINATION_NAME) { + if (destinationName == JmsTracer.TEMP_DESTINATION_NAME) { "${SemanticAttributes.MESSAGING_TEMP_DESTINATION.key}" true } } @@ -251,8 +251,8 @@ class JMS1Test extends AgentTestRunner { destination | destinationType | destinationName session.createQueue("someQueue") | "queue" | "someQueue" session.createTopic("someTopic") | "topic" | "someTopic" - session.createTemporaryQueue() | "queue" | JMSTracer.TEMP_DESTINATION_NAME - session.createTemporaryTopic() | "topic" | JMSTracer.TEMP_DESTINATION_NAME + session.createTemporaryQueue() | "queue" | JmsTracer.TEMP_DESTINATION_NAME + session.createTemporaryTopic() | "topic" | JmsTracer.TEMP_DESTINATION_NAME } static producerSpan(TraceAssert trace, int index, String destinationType, String destinationName) { @@ -265,7 +265,7 @@ class JMS1Test extends AgentTestRunner { "${SemanticAttributes.MESSAGING_SYSTEM.key}" "jms" "${SemanticAttributes.MESSAGING_DESTINATION.key}" destinationName "${SemanticAttributes.MESSAGING_DESTINATION_KIND.key}" destinationType - if (destinationName == JMSTracer.TEMP_DESTINATION_NAME) { + if (destinationName == JmsTracer.TEMP_DESTINATION_NAME) { "${SemanticAttributes.MESSAGING_TEMP_DESTINATION.key}" true } } @@ -294,7 +294,7 @@ class JMS1Test extends AgentTestRunner { //In some tests we don't know exact messageId, so we pass "" and verify just the existence of the attribute "${SemanticAttributes.MESSAGING_MESSAGE_ID.key}" { it == messageId || messageId == "" } } - if (destinationName == JMSTracer.TEMP_DESTINATION_NAME) { + if (destinationName == JmsTracer.TEMP_DESTINATION_NAME) { "${SemanticAttributes.MESSAGING_TEMP_DESTINATION.key}" true } } diff --git a/instrumentation/jms-1.1/src/test/groovy/SpringListenerJMS1Test.groovy b/instrumentation/jms-1.1/src/test/groovy/SpringListenerJms1Test.groovy similarity index 68% rename from instrumentation/jms-1.1/src/test/groovy/SpringListenerJMS1Test.groovy rename to instrumentation/jms-1.1/src/test/groovy/SpringListenerJms1Test.groovy index b258f9d80f..3b4eec1eba 100644 --- a/instrumentation/jms-1.1/src/test/groovy/SpringListenerJMS1Test.groovy +++ b/instrumentation/jms-1.1/src/test/groovy/SpringListenerJms1Test.groovy @@ -3,8 +3,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import static JMS1Test.consumerSpan -import static JMS1Test.producerSpan +import static Jms1Test.consumerSpan +import static Jms1Test.producerSpan import io.opentelemetry.instrumentation.test.AgentTestRunner import javax.jms.ConnectionFactory @@ -14,23 +14,23 @@ import org.springframework.jms.core.JmsTemplate import spock.lang.Requires @Requires({ "true" != System.getenv("CIRCLECI") }) -class SpringListenerJMS1Test extends AgentTestRunner { +class SpringListenerJms1Test extends AgentTestRunner { def "receiving message in spring listener generates spans"() { setup: def context = new AnnotationConfigApplicationContext(Config) def factory = context.getBean(ConnectionFactory) def template = new JmsTemplate(factory) - template.convertAndSend("SpringListenerJMS1", "a message") + template.convertAndSend("SpringListenerJms1", "a message") expect: assertTraces(2) { trace(0, 2) { - producerSpan(it, 0, "queue", "SpringListenerJMS1") - consumerSpan(it, 1, "queue", "SpringListenerJMS1", "", span(0), "process") + producerSpan(it, 0, "queue", "SpringListenerJms1") + consumerSpan(it, 1, "queue", "SpringListenerJms1", "", span(0), "process") } trace(1, 1) { - consumerSpan(it, 0, "queue", "SpringListenerJMS1", "", null, "receive") + consumerSpan(it, 0, "queue", "SpringListenerJms1", "", null, "receive") } } diff --git a/instrumentation/jms-1.1/src/test/groovy/SpringTemplateJMS1Test.groovy b/instrumentation/jms-1.1/src/test/groovy/SpringTemplateJms1Test.groovy similarity index 87% rename from instrumentation/jms-1.1/src/test/groovy/SpringTemplateJMS1Test.groovy rename to instrumentation/jms-1.1/src/test/groovy/SpringTemplateJms1Test.groovy index 2e3a0fe095..a7270f3eed 100644 --- a/instrumentation/jms-1.1/src/test/groovy/SpringTemplateJMS1Test.groovy +++ b/instrumentation/jms-1.1/src/test/groovy/SpringTemplateJms1Test.groovy @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -import static JMS1Test.consumerSpan -import static JMS1Test.producerSpan +import static Jms1Test.consumerSpan +import static Jms1Test.producerSpan import com.google.common.base.Stopwatch import io.opentelemetry.instrumentation.test.AgentTestRunner -import io.opentelemetry.javaagent.instrumentation.jms.JMSTracer +import io.opentelemetry.javaagent.instrumentation.jms.JmsTracer import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicReference import javax.jms.Connection @@ -24,8 +24,8 @@ import spock.lang.Requires import spock.lang.Shared @Requires({ "true" != System.getenv("CIRCLECI") }) -class SpringTemplateJMS1Test extends AgentTestRunner { - private static final Logger logger = LoggerFactory.getLogger(SpringTemplateJMS1Test) +class SpringTemplateJms1Test extends AgentTestRunner { + private static final Logger logger = LoggerFactory.getLogger(SpringTemplateJms1Test) private static final GenericContainer broker = new GenericContainer("rmohr/activemq") .withExposedPorts(61616, 8161) @@ -73,7 +73,7 @@ class SpringTemplateJMS1Test extends AgentTestRunner { where: destination | destinationType | destinationName - session.createQueue("SpringTemplateJMS1") | "queue" | "SpringTemplateJMS1" + session.createQueue("SpringTemplateJms1") | "queue" | "SpringTemplateJms1" } def "send and receive message generates spans"() { @@ -108,15 +108,15 @@ class SpringTemplateJMS1Test extends AgentTestRunner { } trace(2, 1) { // receive doesn't propagate the trace, so this is a root - producerSpan(it, 0, "queue", JMSTracer.TEMP_DESTINATION_NAME) + producerSpan(it, 0, "queue", JmsTracer.TEMP_DESTINATION_NAME) } trace(3, 1) { - consumerSpan(it, 0, "queue", JMSTracer.TEMP_DESTINATION_NAME, receivedMessage.getJMSMessageID(), null, "receive") + consumerSpan(it, 0, "queue", JmsTracer.TEMP_DESTINATION_NAME, receivedMessage.getJMSMessageID(), null, "receive") } } where: destination | destinationType | destinationName - session.createQueue("SpringTemplateJMS1") | "queue" | "SpringTemplateJMS1" + session.createQueue("SpringTemplateJms1") | "queue" | "SpringTemplateJms1" } } diff --git a/instrumentation/jms-1.1/src/test/groovy/listener/TestListener.groovy b/instrumentation/jms-1.1/src/test/groovy/listener/TestListener.groovy index 3969cd964f..2d76748830 100644 --- a/instrumentation/jms-1.1/src/test/groovy/listener/TestListener.groovy +++ b/instrumentation/jms-1.1/src/test/groovy/listener/TestListener.groovy @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component @Component class TestListener { - @JmsListener(destination = "SpringListenerJMS1", containerFactory = "containerFactory") + @JmsListener(destination = "SpringListenerJms1", containerFactory = "containerFactory") void receiveMessage(String message) { println "received: " + message } diff --git a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java index 332d8c2708..49333e80cb 100644 --- a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java +++ b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jsp; -import static io.opentelemetry.javaagent.instrumentation.jsp.JSPTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.jsp.JspTracer.tracer; import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.implementsInterface; import static java.util.Collections.singletonMap; diff --git a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspCompilationContextInstrumentation.java b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspCompilationContextInstrumentation.java index 02f39b1d87..61caa5802d 100644 --- a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspCompilationContextInstrumentation.java +++ b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspCompilationContextInstrumentation.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jsp; -import static io.opentelemetry.javaagent.instrumentation.jsp.JSPTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.jsp.JspTracer.tracer; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspInstrumentationModule.java b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspInstrumentationModule.java index 93fe96f9d9..412e4a9db9 100644 --- a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspInstrumentationModule.java +++ b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspInstrumentationModule.java @@ -21,7 +21,7 @@ public class JspInstrumentationModule extends InstrumentationModule { @Override public String[] helperClassNames() { return new String[] { - packageName + ".JSPTracer", + packageName + ".JspTracer", }; } diff --git a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JSPTracer.java b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspTracer.java similarity index 91% rename from instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JSPTracer.java rename to instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspTracer.java index 0e8a9ff6e5..13c1f518cf 100644 --- a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JSPTracer.java +++ b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/JspTracer.java @@ -17,10 +17,10 @@ import org.apache.jasper.JspCompilationContext; import org.apache.jasper.compiler.Compiler; import org.slf4j.LoggerFactory; -public class JSPTracer extends BaseTracer { - private static final JSPTracer TRACER = new JSPTracer(); +public class JspTracer extends BaseTracer { + private static final JspTracer TRACER = new JspTracer(); - public static JSPTracer tracer() { + public static JspTracer tracer() { return TRACER; } @@ -68,9 +68,9 @@ public class JSPTracer extends BaseTracer { try { span.setAttribute( "jsp.requestURL", (new URI(req.getRequestURL().toString())).normalize().toString()); - } catch (URISyntaxException uriSE) { + } catch (URISyntaxException e) { LoggerFactory.getLogger(HttpJspPage.class) - .warn("Failed to get and normalize request URL: " + uriSE.getMessage()); + .warn("Failed to get and normalize request URL: " + e.getMessage()); } } diff --git a/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy b/instrumentation/jsp-2.3/src/test/groovy/JspInstrumentationBasicTests.groovy similarity index 99% rename from instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy rename to instrumentation/jsp-2.3/src/test/groovy/JspInstrumentationBasicTests.groovy index 7b03a55afc..15cc9b4e1d 100644 --- a/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy +++ b/instrumentation/jsp-2.3/src/test/groovy/JspInstrumentationBasicTests.groovy @@ -6,10 +6,10 @@ import static io.opentelemetry.api.trace.Span.Kind.SERVER import com.google.common.io.Files +import io.opentelemetry.api.trace.attributes.SemanticAttributes import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.utils.OkHttpUtils import io.opentelemetry.instrumentation.test.utils.PortUtils -import io.opentelemetry.api.trace.attributes.SemanticAttributes import okhttp3.MultipartBody import okhttp3.OkHttpClient import okhttp3.Request @@ -22,7 +22,7 @@ import spock.lang.Shared import spock.lang.Unroll //TODO should this be HttpServerTest? -class JSPInstrumentationBasicTests extends AgentTestRunner { +class JspInstrumentationBasicTests extends AgentTestRunner { static { // skip jar scanning using environment variables: @@ -68,7 +68,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { baseUrl = "http://localhost:$port/$jspWebappContext" appContext = tomcatServer.addWebapp("/$jspWebappContext", - JSPInstrumentationBasicTests.getResource("/webapps/jsptest").getPath()) + JspInstrumentationBasicTests.getResource("/webapps/jsptest").getPath()) tomcatServer.start() System.out.println( diff --git a/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy b/instrumentation/jsp-2.3/src/test/groovy/JspInstrumentationForwardTests.groovy similarity index 99% rename from instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy rename to instrumentation/jsp-2.3/src/test/groovy/JspInstrumentationForwardTests.groovy index c94a1372a6..005992a289 100644 --- a/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy +++ b/instrumentation/jsp-2.3/src/test/groovy/JspInstrumentationForwardTests.groovy @@ -6,10 +6,10 @@ import static io.opentelemetry.api.trace.Span.Kind.SERVER import com.google.common.io.Files +import io.opentelemetry.api.trace.attributes.SemanticAttributes import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.utils.OkHttpUtils import io.opentelemetry.instrumentation.test.utils.PortUtils -import io.opentelemetry.api.trace.attributes.SemanticAttributes import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response @@ -19,7 +19,7 @@ import org.apache.jasper.JasperException import spock.lang.Shared import spock.lang.Unroll -class JSPInstrumentationForwardTests extends AgentTestRunner { +class JspInstrumentationForwardTests extends AgentTestRunner { static { // skip jar scanning using environment variables: @@ -66,7 +66,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { baseUrl = "http://localhost:$port/$jspWebappContext" appContext = tomcatServer.addWebapp("/$jspWebappContext", - JSPInstrumentationForwardTests.getResource("/webapps/jsptest").getPath()) + JspInstrumentationForwardTests.getResource("/webapps/jsptest").getPath()) tomcatServer.start() System.out.println( diff --git a/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesVerb.java b/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesVerb.java index 5211c13441..8d65b8282e 100644 --- a/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesVerb.java +++ b/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesVerb.java @@ -43,8 +43,9 @@ public enum KubernetesVerb { return DELETE_COLLECTION; } return DELETE; + default: + throw new IllegalArgumentException("invalid HTTP verb for kubernetes client"); } - throw new IllegalArgumentException("invalid HTTP verb for kubernetes client"); } public String value() { diff --git a/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/InstrumentationPoints.java b/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/InstrumentationPoints.java index 0343f915ab..b81cbef1cc 100644 --- a/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/InstrumentationPoints.java +++ b/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/InstrumentationPoints.java @@ -57,8 +57,8 @@ public final class InstrumentationPoints { spanWithScope.closeScope(); } - public static SpanWithScope beforeConnect(RedisURI redisURI) { - Span span = LettuceConnectionDatabaseClientTracer.tracer().startSpan(redisURI, "CONNECT"); + public static SpanWithScope beforeConnect(RedisURI redisUri) { + Span span = LettuceConnectionDatabaseClientTracer.tracer().startSpan(redisUri, "CONNECT"); return new SpanWithScope(span, LettuceConnectionDatabaseClientTracer.tracer().startScope(span)); } @@ -75,7 +75,7 @@ public final class InstrumentationPoints { /** * Determines whether a redis command should finish its relevant span early (as soon as tags are * added and the command is executed) because these commands have no return values/call backs, so - * we must close the span early in order to provide info for the users + * we must close the span early in order to provide info for the users. * * @return false if the span should finish early (the command will not have a return value) */ diff --git a/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAbstractDatabaseClientTracer.java b/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAbstractDatabaseClientTracer.java index 150f0c17d0..16b81a8d75 100644 --- a/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAbstractDatabaseClientTracer.java +++ b/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAbstractDatabaseClientTracer.java @@ -21,8 +21,8 @@ public abstract class LettuceAbstractDatabaseClientTracer } @Override - protected InetSocketAddress peerAddress(RedisURI redisURI) { - return new InetSocketAddress(redisURI.getHost(), redisURI.getPort()); + protected InetSocketAddress peerAddress(RedisURI redisUri) { + return new InetSocketAddress(redisUri.getHost(), redisUri.getPort()); } @Override diff --git a/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/RedisConnectionAdvice.java b/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/RedisConnectionAdvice.java index cb3c6600aa..3abc55e7c1 100644 --- a/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/RedisConnectionAdvice.java +++ b/instrumentation/lettuce/lettuce-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/RedisConnectionAdvice.java @@ -12,8 +12,8 @@ import net.bytebuddy.asm.Advice; public class RedisConnectionAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) - public static SpanWithScope onEnter(@Advice.Argument(1) RedisURI redisURI) { - return InstrumentationPoints.beforeConnect(redisURI); + public static SpanWithScope onEnter(@Advice.Argument(1) RedisURI redisUri) { + return InstrumentationPoints.beforeConnect(redisUri); } @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class) diff --git a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/ConnectionFutureAdvice.java b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/ConnectionFutureAdvice.java index 178a2adb8b..140d7964b9 100644 --- a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/ConnectionFutureAdvice.java +++ b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/ConnectionFutureAdvice.java @@ -17,10 +17,10 @@ public class ConnectionFutureAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static void onEnter( - @Advice.Argument(1) RedisURI redisURI, + @Advice.Argument(1) RedisURI redisUri, @Advice.Local("otelSpan") Span span, @Advice.Local("otelScope") Scope scope) { - span = tracer().startSpan(redisURI, "CONNECT"); + span = tracer().startSpan(redisUri, "CONNECT"); scope = tracer().startScope(span); } diff --git a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAbstractDatabaseClientTracer.java b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAbstractDatabaseClientTracer.java index 5aec5f5b06..261eca56f7 100644 --- a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAbstractDatabaseClientTracer.java +++ b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAbstractDatabaseClientTracer.java @@ -25,8 +25,8 @@ public abstract class LettuceAbstractDatabaseClientTracer } @Override - protected InetSocketAddress peerAddress(RedisURI redisURI) { - return new InetSocketAddress(redisURI.getHost(), redisURI.getPort()); + protected InetSocketAddress peerAddress(RedisURI redisUri) { + return new InetSocketAddress(redisUri.getHost(), redisUri.getPort()); } @Override diff --git a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncBiFunction.java b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncBiFunction.java index 5863696093..689655d0dc 100644 --- a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncBiFunction.java +++ b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncBiFunction.java @@ -13,7 +13,7 @@ import java.util.function.BiFunction; /** * Callback class to close the span on an error or a success in the RedisFuture returned by the - * lettuce async API + * lettuce async API. * * @param the normal completion result * @param the error diff --git a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceInstrumentationUtil.java b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceInstrumentationUtil.java index 1fc2a965d1..2c19a24285 100644 --- a/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceInstrumentationUtil.java +++ b/instrumentation/lettuce/lettuce-5.0/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceInstrumentationUtil.java @@ -21,9 +21,8 @@ public class LettuceInstrumentationUtil { /** * Determines whether a redis command should finish its relevant span early (as soon as tags are * added and the command is executed) because these commands have no return values/call backs, so - * we must close the span early in order to provide info for the users + * we must close the span early in order to provide info for the users. * - * @param command * @return false if the span should finish early (the command will not have a return value) */ public static boolean expectsResponse(RedisCommand command) { @@ -32,7 +31,7 @@ public class LettuceInstrumentationUtil { } /** - * Retrieves the actual redis command name from a RedisCommand object + * Retrieves the actual redis command name from a RedisCommand object. * * @param command the lettuce RedisCommand object * @return the redis command as a string diff --git a/instrumentation/log4j/log4j-1.2/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v1_2/LoggingEventInstrumentation.java b/instrumentation/log4j/log4j-1.2/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v1_2/LoggingEventInstrumentation.java index 0ed98fb010..de217de544 100644 --- a/instrumentation/log4j/log4j-1.2/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v1_2/LoggingEventInstrumentation.java +++ b/instrumentation/log4j/log4j-1.2/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v1_2/LoggingEventInstrumentation.java @@ -81,6 +81,8 @@ final class LoggingEventInstrumentation implements TypeInstrumentation { case SAMPLED: value = Boolean.toString(spanContext.isSampled()); break; + default: + // do nothing } } } diff --git a/instrumentation/logback/logback-1.0.0/javaagent/logback-1.0.0-javaagent.gradle b/instrumentation/logback/logback-1.0/javaagent/logback-1.0-javaagent.gradle similarity index 84% rename from instrumentation/logback/logback-1.0.0/javaagent/logback-1.0.0-javaagent.gradle rename to instrumentation/logback/logback-1.0/javaagent/logback-1.0-javaagent.gradle index 395579f259..fae82d934d 100644 --- a/instrumentation/logback/logback-1.0.0/javaagent/logback-1.0.0-javaagent.gradle +++ b/instrumentation/logback/logback-1.0/javaagent/logback-1.0-javaagent.gradle @@ -9,11 +9,11 @@ muzzle { } dependencies { - implementation project(':instrumentation:logback:logback-1.0.0:library') + implementation project(':instrumentation:logback:logback-1.0:library') library group: 'ch.qos.logback', name: 'logback-classic', version: '1.0.0' - testImplementation project(':instrumentation:logback:logback-1.0.0:testing') + testImplementation project(':instrumentation:logback:logback-1.0:testing') // 1.3+ contains breaking changes, check back after it stabilizes. latestDepTestLibrary group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.+' diff --git a/instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LogbackInstrumentationModule.java b/instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LogbackInstrumentationModule.java similarity index 74% rename from instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LogbackInstrumentationModule.java rename to instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LogbackInstrumentationModule.java index 7ef554947a..00f13c7919 100644 --- a/instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LogbackInstrumentationModule.java +++ b/instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LogbackInstrumentationModule.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.logback.v1_0_0; +package io.opentelemetry.javaagent.instrumentation.logback.v1_0; import static java.util.Arrays.asList; import static java.util.Collections.singletonMap; @@ -24,9 +24,9 @@ public class LogbackInstrumentationModule extends InstrumentationModule { @Override public String[] helperClassNames() { return new String[] { - "io.opentelemetry.instrumentation.logback.v1_0_0.internal.UnionMap", - "io.opentelemetry.instrumentation.logback.v1_0_0.internal.UnionMap$ConcatenatedSet", - "io.opentelemetry.instrumentation.logback.v1_0_0.internal.UnionMap$ConcatenatedSet$ConcatenatedSetIterator" + "io.opentelemetry.instrumentation.logback.v1_0.internal.UnionMap", + "io.opentelemetry.instrumentation.logback.v1_0.internal.UnionMap$ConcatenatedSet", + "io.opentelemetry.instrumentation.logback.v1_0.internal.UnionMap$ConcatenatedSet$ConcatenatedSetIterator" }; } diff --git a/instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LoggerInstrumentation.java b/instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LoggerInstrumentation.java similarity index 96% rename from instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LoggerInstrumentation.java rename to instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LoggerInstrumentation.java index 9131a4ca48..c7f5f5131d 100644 --- a/instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LoggerInstrumentation.java +++ b/instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LoggerInstrumentation.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.logback.v1_0_0; +package io.opentelemetry.javaagent.instrumentation.logback.v1_0; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LoggingEventInstrumentation.java b/instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LoggingEventInstrumentation.java similarity index 95% rename from instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LoggingEventInstrumentation.java rename to instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LoggingEventInstrumentation.java index b1edf0f71d..a5441aefe5 100644 --- a/instrumentation/logback/logback-1.0.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LoggingEventInstrumentation.java +++ b/instrumentation/logback/logback-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LoggingEventInstrumentation.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.logback.v1_0_0; +package io.opentelemetry.javaagent.instrumentation.logback.v1_0; import static io.opentelemetry.instrumentation.api.log.LoggingContextConstants.SAMPLED; import static io.opentelemetry.instrumentation.api.log.LoggingContextConstants.SPAN_ID; @@ -18,7 +18,7 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments; import ch.qos.logback.classic.spi.ILoggingEvent; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanContext; -import io.opentelemetry.instrumentation.logback.v1_0_0.internal.UnionMap; +import io.opentelemetry.instrumentation.logback.v1_0.internal.UnionMap; import io.opentelemetry.javaagent.instrumentation.api.InstrumentationContext; import io.opentelemetry.javaagent.tooling.TypeInstrumentation; import java.util.HashMap; diff --git a/instrumentation/logback/logback-1.0.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LogbackTest.groovy b/instrumentation/logback/logback-1.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LogbackTest.groovy similarity index 61% rename from instrumentation/logback/logback-1.0.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LogbackTest.groovy rename to instrumentation/logback/logback-1.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LogbackTest.groovy index bfe9c6abdf..dfb90d6167 100644 --- a/instrumentation/logback/logback-1.0.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0_0/LogbackTest.groovy +++ b/instrumentation/logback/logback-1.0/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/logback/v1_0/LogbackTest.groovy @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.logback.v1_0_0 +package io.opentelemetry.javaagent.instrumentation.logback.v1_0 -import io.opentelemetry.instrumentation.logback.v1_0_0.AbstractLogbackTest +import io.opentelemetry.instrumentation.logback.v1_0.AbstractLogbackTest import io.opentelemetry.instrumentation.test.AgentTestTrait class LogbackTest extends AbstractLogbackTest implements AgentTestTrait { diff --git a/instrumentation/logback/logback-1.0.0/javaagent/src/test/resources/logback.xml b/instrumentation/logback/logback-1.0/javaagent/src/test/resources/logback.xml similarity index 100% rename from instrumentation/logback/logback-1.0.0/javaagent/src/test/resources/logback.xml rename to instrumentation/logback/logback-1.0/javaagent/src/test/resources/logback.xml diff --git a/instrumentation/logback/logback-1.0.0/library/NOTICE.txt b/instrumentation/logback/logback-1.0/library/NOTICE.txt similarity index 100% rename from instrumentation/logback/logback-1.0.0/library/NOTICE.txt rename to instrumentation/logback/logback-1.0/library/NOTICE.txt diff --git a/instrumentation/logback/logback-1.0.0/library/README.md b/instrumentation/logback/logback-1.0/library/README.md similarity index 95% rename from instrumentation/logback/logback-1.0.0/library/README.md rename to instrumentation/logback/logback-1.0/library/README.md index be8eef5ad8..80cc9bd6b4 100644 --- a/instrumentation/logback/logback-1.0.0/library/README.md +++ b/instrumentation/logback/logback-1.0/library/README.md @@ -23,7 +23,7 @@ To use it, add the module to your application's runtime classpath and add the ap ```kotlin dependencies { - runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-logback-1.0.0:0.8.0-SNAPSHOT") + runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-logback-1.0:0.8.0-SNAPSHOT") } ``` @@ -39,7 +39,7 @@ dependencies { - + ... diff --git a/instrumentation/logback/logback-1.0.0/library/logback-1.0.0-library.gradle b/instrumentation/logback/logback-1.0/library/logback-1.0-library.gradle similarity index 96% rename from instrumentation/logback/logback-1.0.0/library/logback-1.0.0-library.gradle rename to instrumentation/logback/logback-1.0/library/logback-1.0-library.gradle index 3c0737d4da..709a6c427a 100644 --- a/instrumentation/logback/logback-1.0.0/library/logback-1.0.0-library.gradle +++ b/instrumentation/logback/logback-1.0/library/logback-1.0-library.gradle @@ -3,7 +3,7 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { library group: 'ch.qos.logback', name: 'logback-classic', version: '1.0.0' - testImplementation project(':instrumentation:logback:logback-1.0.0:testing') + testImplementation project(':instrumentation:logback:logback-1.0:testing') // 1.3+ contains breaking changes, check back after it stabilizes. latestDepTestLibrary group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.+' diff --git a/instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/LoggingEventWrapper.java b/instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/LoggingEventWrapper.java similarity index 97% rename from instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/LoggingEventWrapper.java rename to instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/LoggingEventWrapper.java index a9d7819cd1..b27e34bdea 100644 --- a/instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/LoggingEventWrapper.java +++ b/instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/LoggingEventWrapper.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.logback.v1_0_0; +package io.opentelemetry.instrumentation.logback.v1_0; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.spi.ILoggingEvent; diff --git a/instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/OpenTelemetryAppender.java b/instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/OpenTelemetryAppender.java similarity index 95% rename from instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/OpenTelemetryAppender.java rename to instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/OpenTelemetryAppender.java index 33821d11d8..1d06a821f4 100644 --- a/instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/OpenTelemetryAppender.java +++ b/instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/OpenTelemetryAppender.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.logback.v1_0_0; +package io.opentelemetry.instrumentation.logback.v1_0; import static io.opentelemetry.instrumentation.api.log.LoggingContextConstants.SAMPLED; import static io.opentelemetry.instrumentation.api.log.LoggingContextConstants.SPAN_ID; @@ -16,7 +16,7 @@ import ch.qos.logback.core.spi.AppenderAttachable; import ch.qos.logback.core.spi.AppenderAttachableImpl; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanContext; -import io.opentelemetry.instrumentation.logback.v1_0_0.internal.UnionMap; +import io.opentelemetry.instrumentation.logback.v1_0.internal.UnionMap; import java.util.HashMap; import java.util.Iterator; import java.util.Map; diff --git a/instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/internal/UnionMap.java b/instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/internal/UnionMap.java similarity index 98% rename from instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/internal/UnionMap.java rename to instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/internal/UnionMap.java index 51990ae902..64ad3a77d3 100644 --- a/instrumentation/logback/logback-1.0.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0_0/internal/UnionMap.java +++ b/instrumentation/logback/logback-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/v1_0/internal/UnionMap.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.logback.v1_0_0.internal; +package io.opentelemetry.instrumentation.logback.v1_0.internal; import java.util.AbstractMap; import java.util.AbstractSet; diff --git a/instrumentation/logback/logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/LogbackTest.groovy b/instrumentation/logback/logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0/LogbackTest.groovy similarity index 81% rename from instrumentation/logback/logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/LogbackTest.groovy rename to instrumentation/logback/logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0/LogbackTest.groovy index 4367972123..b654288901 100644 --- a/instrumentation/logback/logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/LogbackTest.groovy +++ b/instrumentation/logback/logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0/LogbackTest.groovy @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.logback.v1_0_0 +package io.opentelemetry.instrumentation.logback.v1_0 import io.opentelemetry.instrumentation.test.InstrumentationTestTrait diff --git a/instrumentation/logback/logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/internal/UnionMapTest.groovy b/instrumentation/logback/logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0/internal/UnionMapTest.groovy similarity index 96% rename from instrumentation/logback/logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/internal/UnionMapTest.groovy rename to instrumentation/logback/logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0/internal/UnionMapTest.groovy index 2dc8ed7758..e5a86b777c 100644 --- a/instrumentation/logback/logback-1.0.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/internal/UnionMapTest.groovy +++ b/instrumentation/logback/logback-1.0/library/src/test/groovy/io/opentelemetry/instrumentation/logback/v1_0/internal/UnionMapTest.groovy @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.logback.v1_0_0.internal +package io.opentelemetry.instrumentation.logback.v1_0.internal import spock.lang.Specification diff --git a/instrumentation/logback/logback-1.0.0/library/src/test/resources/logback.xml b/instrumentation/logback/logback-1.0/library/src/test/resources/logback.xml similarity index 84% rename from instrumentation/logback/logback-1.0.0/library/src/test/resources/logback.xml rename to instrumentation/logback/logback-1.0/library/src/test/resources/logback.xml index db4f7ca70b..564fcd9be7 100644 --- a/instrumentation/logback/logback-1.0.0/library/src/test/resources/logback.xml +++ b/instrumentation/logback/logback-1.0/library/src/test/resources/logback.xml @@ -16,14 +16,14 @@ --> - + - - + + - - + + \ No newline at end of file diff --git a/instrumentation/logback/logback-1.0.0/testing/logback-1.0.0-testing.gradle b/instrumentation/logback/logback-1.0/testing/logback-1.0-testing.gradle similarity index 92% rename from instrumentation/logback/logback-1.0.0/testing/logback-1.0.0-testing.gradle rename to instrumentation/logback/logback-1.0/testing/logback-1.0-testing.gradle index 268e0409f7..39badc1425 100644 --- a/instrumentation/logback/logback-1.0.0/testing/logback-1.0.0-testing.gradle +++ b/instrumentation/logback/logback-1.0/testing/logback-1.0-testing.gradle @@ -17,7 +17,7 @@ apply from: "$rootDir/gradle/java.gradle" dependencies { - compileOnly project(":instrumentation:logback:logback-1.0.0:library") + compileOnly project(":instrumentation:logback:logback-1.0:library") api project(':testing-common') diff --git a/instrumentation/logback/logback-1.0.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/AbstractLogbackTest.groovy b/instrumentation/logback/logback-1.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0/AbstractLogbackTest.groovy similarity index 98% rename from instrumentation/logback/logback-1.0.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/AbstractLogbackTest.groovy rename to instrumentation/logback/logback-1.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0/AbstractLogbackTest.groovy index 51de04be79..e41765ed50 100644 --- a/instrumentation/logback/logback-1.0.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0_0/AbstractLogbackTest.groovy +++ b/instrumentation/logback/logback-1.0/testing/src/main/groovy/io/opentelemetry/instrumentation/logback/v1_0/AbstractLogbackTest.groovy @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.logback.v1_0_0 +package io.opentelemetry.instrumentation.logback.v1_0 import ch.qos.logback.classic.spi.ILoggingEvent import ch.qos.logback.core.read.ListAppender +import io.opentelemetry.api.trace.Span import io.opentelemetry.instrumentation.test.InstrumentationSpecification import io.opentelemetry.instrumentation.test.utils.TraceUtils -import io.opentelemetry.api.trace.Span import org.slf4j.Logger import org.slf4j.LoggerFactory import spock.lang.Shared diff --git a/instrumentation/opentelemetry-api-beta/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/anotations/WithSpanAnnotationInstrumentationModule.java b/instrumentation/opentelemetry-api-beta/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/anotations/WithSpanAnnotationInstrumentationModule.java index 6a2523be10..a17b6d8a20 100644 --- a/instrumentation/opentelemetry-api-beta/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/anotations/WithSpanAnnotationInstrumentationModule.java +++ b/instrumentation/opentelemetry-api-beta/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/anotations/WithSpanAnnotationInstrumentationModule.java @@ -55,7 +55,7 @@ public final class WithSpanAnnotationInstrumentationModule extends Instrumentati private static final class AnnotatedMethodInstrumentation implements TypeInstrumentation { private final ElementMatcher.Junction annotatedMethodMatcher; - /** This matcher matches all methods that should be excluded from transformation */ + // this matcher matches all methods that should be excluded from transformation private final ElementMatcher.Junction excludedMethodsMatcher; AnnotatedMethodInstrumentation() { diff --git a/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/ProcessMetrics.java b/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/ProcessMetrics.java index cd00371437..c7a81deb8e 100644 --- a/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/ProcessMetrics.java +++ b/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/ProcessMetrics.java @@ -15,13 +15,13 @@ import oshi.SystemInfo; import oshi.software.os.OSProcess; import oshi.software.os.OperatingSystem; -/** Java Runtime Metrics Utility */ +/** Java Runtime Metrics Utility. */ public class ProcessMetrics { private static final String TYPE_LABEL_KEY = "type"; private ProcessMetrics() {} - /** Register observers for java runtime metrics */ + /** Register observers for java runtime metrics. */ public static void registerObservers() { Meter meter = OpenTelemetry.getGlobalMeterProvider().get(ProcessMetrics.class.getName()); SystemInfo systemInfo = new SystemInfo(); diff --git a/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/SystemMetrics.java b/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/SystemMetrics.java index f62b310bef..a9e8e9a8bb 100644 --- a/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/SystemMetrics.java +++ b/instrumentation/oshi/library/src/main/java/io/opentelemetry/instrumentation/oshi/SystemMetrics.java @@ -17,13 +17,13 @@ import oshi.hardware.HWDiskStore; import oshi.hardware.HardwareAbstractionLayer; import oshi.hardware.NetworkIF; -/** System Metrics Utility */ +/** System Metrics Utility. */ public class SystemMetrics { private static final String TYPE_LABEL_KEY = "type"; private SystemMetrics() {} - /** Register observers for system metrics */ + /** Register observers for system metrics. */ public static void registerObservers() { Meter meter = OpenTelemetry.getGlobalMeterProvider().get(SystemMetrics.class.getName()); SystemInfo systemInfo = new SystemInfo(); diff --git a/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/AsyncHandlerWrapper.java b/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/AsyncHandlerWrapper.java index 7d5b33b59d..effaa5a133 100644 --- a/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/AsyncHandlerWrapper.java +++ b/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/AsyncHandlerWrapper.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.playws.v1_0; -import static io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer.tracer; import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; diff --git a/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/PlayWsInstrumentationModule.java b/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/PlayWsInstrumentationModule.java index b9d7347fb8..1172aa7ab3 100644 --- a/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/PlayWsInstrumentationModule.java +++ b/instrumentation/play-ws/play-ws-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v1_0/PlayWsInstrumentationModule.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.playws.v1_0; -import static io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer.tracer; import static java.util.Collections.singletonList; import com.google.auto.service.AutoService; @@ -32,7 +32,7 @@ public class PlayWsInstrumentationModule extends InstrumentationModule { @Override public String[] helperClassNames() { return new String[] { - "io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer", + "io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer", "io.opentelemetry.javaagent.instrumentation.playws.HeadersInjectAdapter", packageName + ".AsyncHandlerWrapper", packageName + ".StreamedAsyncHandlerWrapper" diff --git a/instrumentation/play-ws/play-ws-1.0/src/test/groovy/PlayWSClientTest.groovy b/instrumentation/play-ws/play-ws-1.0/src/test/groovy/PlayWsClientTest.groovy similarity index 94% rename from instrumentation/play-ws/play-ws-1.0/src/test/groovy/PlayWSClientTest.groovy rename to instrumentation/play-ws/play-ws-1.0/src/test/groovy/PlayWsClientTest.groovy index 2c5a0f935b..7c094dd73a 100644 --- a/instrumentation/play-ws/play-ws-1.0/src/test/groovy/PlayWSClientTest.groovy +++ b/instrumentation/play-ws/play-ws-1.0/src/test/groovy/PlayWsClientTest.groovy @@ -15,7 +15,7 @@ import scala.concurrent.Future import scala.concurrent.duration.Duration import spock.lang.Shared -class PlayJavaWSClientTest extends PlayWSClientTestBase { +class PlayJavaWsClientTest extends PlayWsClientTestBase { @Shared StandaloneWSClient wsClient @@ -41,7 +41,7 @@ class PlayJavaWSClientTest extends PlayWSClientTestBase { } } -class PlayJavaStreamedWSClientTest extends PlayWSClientTestBase { +class PlayJavaStreamedWsClientTest extends PlayWsClientTestBase { @Shared StandaloneWSClient wsClient @@ -70,7 +70,7 @@ class PlayJavaStreamedWSClientTest extends PlayWSClientTestBase { } } -class PlayScalaWSClientTest extends PlayWSClientTestBase { +class PlayScalaWsClientTest extends PlayWsClientTestBase { @Shared play.api.libs.ws.StandaloneWSClient wsClient @@ -100,7 +100,7 @@ class PlayScalaWSClientTest extends PlayWSClientTestBase { } } -class PlayScalaStreamedWSClientTest extends PlayWSClientTestBase { +class PlayScalaStreamedWsClientTest extends PlayWsClientTestBase { @Shared play.api.libs.ws.StandaloneWSClient wsClient diff --git a/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/AsyncHandlerWrapper.java b/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/AsyncHandlerWrapper.java index c606412505..b0422cc93a 100644 --- a/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/AsyncHandlerWrapper.java +++ b/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/AsyncHandlerWrapper.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.playws.v2_0; -import static io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer.tracer; import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; diff --git a/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/PlayWsInstrumentationModule.java b/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/PlayWsInstrumentationModule.java index 07a884f82c..d3a02ab15b 100644 --- a/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/PlayWsInstrumentationModule.java +++ b/instrumentation/play-ws/play-ws-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_0/PlayWsInstrumentationModule.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.playws.v2_0; -import static io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer.tracer; import static java.util.Collections.singletonList; import com.google.auto.service.AutoService; @@ -30,7 +30,7 @@ public class PlayWsInstrumentationModule extends InstrumentationModule { @Override public String[] helperClassNames() { return new String[] { - "io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer", + "io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer", "io.opentelemetry.javaagent.instrumentation.playws.HeadersInjectAdapter", packageName + ".AsyncHandlerWrapper", packageName + ".StreamedAsyncHandlerWrapper" diff --git a/instrumentation/play-ws/play-ws-2.0/src/test/groovy/PlayWSClientTest.groovy b/instrumentation/play-ws/play-ws-2.0/src/test/groovy/PlayWsClientTest.groovy similarity index 94% rename from instrumentation/play-ws/play-ws-2.0/src/test/groovy/PlayWSClientTest.groovy rename to instrumentation/play-ws/play-ws-2.0/src/test/groovy/PlayWsClientTest.groovy index f243728e42..908cd50bb0 100644 --- a/instrumentation/play-ws/play-ws-2.0/src/test/groovy/PlayWSClientTest.groovy +++ b/instrumentation/play-ws/play-ws-2.0/src/test/groovy/PlayWsClientTest.groovy @@ -17,7 +17,7 @@ import spock.lang.Shared import spock.lang.Timeout @Timeout(5) -class PlayJavaWSClientTest extends PlayWSClientTestBase { +class PlayJavaWsClientTest extends PlayWsClientTestBase { @Shared StandaloneWSClient wsClient @@ -44,7 +44,7 @@ class PlayJavaWSClientTest extends PlayWSClientTestBase { } @Timeout(5) -class PlayJavaStreamedWSClientTest extends PlayWSClientTestBase { +class PlayJavaStreamedWsClientTest extends PlayWsClientTestBase { @Shared StandaloneWSClient wsClient @@ -74,7 +74,7 @@ class PlayJavaStreamedWSClientTest extends PlayWSClientTestBase { } @Timeout(5) -class PlayScalaWSClientTest extends PlayWSClientTestBase { +class PlayScalaWsClientTest extends PlayWsClientTestBase { @Shared play.api.libs.ws.StandaloneWSClient wsClient @@ -105,7 +105,7 @@ class PlayScalaWSClientTest extends PlayWSClientTestBase { } @Timeout(5) -class PlayScalaStreamedWSClientTest extends PlayWSClientTestBase { +class PlayScalaStreamedWsClientTest extends PlayWsClientTestBase { @Shared play.api.libs.ws.StandaloneWSClient wsClient diff --git a/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/AsyncHandlerWrapper.java b/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/AsyncHandlerWrapper.java index 0b475801a0..e3bf596988 100644 --- a/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/AsyncHandlerWrapper.java +++ b/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/AsyncHandlerWrapper.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.playws.v2_1; -import static io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer.tracer; import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; diff --git a/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/PlayWsInstrumentationModule.java b/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/PlayWsInstrumentationModule.java index 3c9cbe1e30..5b7ba37513 100644 --- a/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/PlayWsInstrumentationModule.java +++ b/instrumentation/play-ws/play-ws-2.1/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/v2_1/PlayWsInstrumentationModule.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.playws.v2_1; -import static io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer.tracer; +import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer.tracer; import static java.util.Collections.singletonList; import com.google.auto.service.AutoService; @@ -30,7 +30,7 @@ public class PlayWsInstrumentationModule extends InstrumentationModule { @Override public String[] helperClassNames() { return new String[] { - "io.opentelemetry.javaagent.instrumentation.playws.PlayWSClientTracer", + "io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientTracer", "io.opentelemetry.javaagent.instrumentation.playws.HeadersInjectAdapter", packageName + ".AsyncHandlerWrapper", packageName + ".StreamedAsyncHandlerWrapper" diff --git a/instrumentation/play-ws/play-ws-2.1/src/test/groovy/PlayWSClientTest.groovy b/instrumentation/play-ws/play-ws-2.1/src/test/groovy/PlayWsClientTest.groovy similarity index 94% rename from instrumentation/play-ws/play-ws-2.1/src/test/groovy/PlayWSClientTest.groovy rename to instrumentation/play-ws/play-ws-2.1/src/test/groovy/PlayWsClientTest.groovy index 2c5a0f935b..7c094dd73a 100644 --- a/instrumentation/play-ws/play-ws-2.1/src/test/groovy/PlayWSClientTest.groovy +++ b/instrumentation/play-ws/play-ws-2.1/src/test/groovy/PlayWsClientTest.groovy @@ -15,7 +15,7 @@ import scala.concurrent.Future import scala.concurrent.duration.Duration import spock.lang.Shared -class PlayJavaWSClientTest extends PlayWSClientTestBase { +class PlayJavaWsClientTest extends PlayWsClientTestBase { @Shared StandaloneWSClient wsClient @@ -41,7 +41,7 @@ class PlayJavaWSClientTest extends PlayWSClientTestBase { } } -class PlayJavaStreamedWSClientTest extends PlayWSClientTestBase { +class PlayJavaStreamedWsClientTest extends PlayWsClientTestBase { @Shared StandaloneWSClient wsClient @@ -70,7 +70,7 @@ class PlayJavaStreamedWSClientTest extends PlayWSClientTestBase { } } -class PlayScalaWSClientTest extends PlayWSClientTestBase { +class PlayScalaWsClientTest extends PlayWsClientTestBase { @Shared play.api.libs.ws.StandaloneWSClient wsClient @@ -100,7 +100,7 @@ class PlayScalaWSClientTest extends PlayWSClientTestBase { } } -class PlayScalaStreamedWSClientTest extends PlayWSClientTestBase { +class PlayScalaStreamedWsClientTest extends PlayWsClientTestBase { @Shared play.api.libs.ws.StandaloneWSClient wsClient diff --git a/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWSClientTracer.java b/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientTracer.java similarity index 89% rename from instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWSClientTracer.java rename to instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientTracer.java index 20dbd42fe6..651dd76b07 100644 --- a/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWSClientTracer.java +++ b/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientTracer.java @@ -15,10 +15,10 @@ import play.shaded.ahc.io.netty.handler.codec.http.HttpHeaders; import play.shaded.ahc.org.asynchttpclient.Request; import play.shaded.ahc.org.asynchttpclient.Response; -public class PlayWSClientTracer extends HttpClientTracer { - private static final PlayWSClientTracer TRACER = new PlayWSClientTracer(); +public class PlayWsClientTracer extends HttpClientTracer { + private static final PlayWsClientTracer TRACER = new PlayWsClientTracer(); - public static PlayWSClientTracer tracer() { + public static PlayWsClientTracer tracer() { return TRACER; } diff --git a/instrumentation/play-ws/play-ws-testing/src/main/groovy/PlayWSClientTestBase.groovy b/instrumentation/play-ws/play-ws-testing/src/main/groovy/PlayWsClientTestBase.groovy similarity index 96% rename from instrumentation/play-ws/play-ws-testing/src/main/groovy/PlayWSClientTestBase.groovy rename to instrumentation/play-ws/play-ws-testing/src/main/groovy/PlayWsClientTestBase.groovy index b98f2ecd47..b484db026e 100644 --- a/instrumentation/play-ws/play-ws-testing/src/main/groovy/PlayWSClientTestBase.groovy +++ b/instrumentation/play-ws/play-ws-testing/src/main/groovy/PlayWsClientTestBase.groovy @@ -13,7 +13,7 @@ import play.shaded.ahc.org.asynchttpclient.DefaultAsyncHttpClient import play.shaded.ahc.org.asynchttpclient.DefaultAsyncHttpClientConfig import spock.lang.Shared -abstract class PlayWSClientTestBase extends HttpClientTest { +abstract class PlayWsClientTestBase extends HttpClientTest { @Shared ActorSystem system diff --git a/instrumentation/play/play-2.3/src/test/groovy/client/PlayWSClientTest.groovy b/instrumentation/play/play-2.3/src/test/groovy/client/PlayWsClientTest.groovy similarity index 97% rename from instrumentation/play/play-2.3/src/test/groovy/client/PlayWSClientTest.groovy rename to instrumentation/play/play-2.3/src/test/groovy/client/PlayWsClientTest.groovy index da8bef76e3..874b3da30b 100644 --- a/instrumentation/play/play-2.3/src/test/groovy/client/PlayWSClientTest.groovy +++ b/instrumentation/play/play-2.3/src/test/groovy/client/PlayWsClientTest.groovy @@ -13,7 +13,7 @@ import play.test.FakeApplication import play.test.Helpers import spock.lang.Shared -class PlayWSClientTest extends HttpClientTest { +class PlayWsClientTest extends HttpClientTest { @Shared def application = new FakeApplication( new File("."), diff --git a/instrumentation/play/play-2.4/src/test/groovy/client/PlayWSClientTest.groovy b/instrumentation/play/play-2.4/src/test/groovy/client/PlayWsClientTest.groovy similarity index 96% rename from instrumentation/play/play-2.4/src/test/groovy/client/PlayWSClientTest.groovy rename to instrumentation/play/play-2.4/src/test/groovy/client/PlayWsClientTest.groovy index 65197a09a6..829e23715f 100644 --- a/instrumentation/play/play-2.4/src/test/groovy/client/PlayWSClientTest.groovy +++ b/instrumentation/play/play-2.4/src/test/groovy/client/PlayWsClientTest.groovy @@ -15,7 +15,7 @@ import spock.lang.Timeout // Play 2.6+ uses a separately versioned client that shades the underlying dependency // This means our built in instrumentation won't work. @Timeout(5) -class PlayWSClientTest extends HttpClientTest { +class PlayWsClientTest extends HttpClientTest { @Subject @Shared @AutoCleanup diff --git a/instrumentation/rabbitmq-2.7/src/test/groovy/RabbitMQTest.groovy b/instrumentation/rabbitmq-2.7/src/test/groovy/RabbitMQTest.groovy index 1921a48fae..5ada31ba0e 100644 --- a/instrumentation/rabbitmq-2.7/src/test/groovy/RabbitMQTest.groovy +++ b/instrumentation/rabbitmq-2.7/src/test/groovy/RabbitMQTest.groovy @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace import static io.opentelemetry.api.trace.Span.Kind.CLIENT import static io.opentelemetry.api.trace.Span.Kind.CONSUMER import static io.opentelemetry.api.trace.Span.Kind.PRODUCER +import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace import com.rabbitmq.client.AMQP import com.rabbitmq.client.Channel @@ -18,10 +18,10 @@ import com.rabbitmq.client.Envelope import com.rabbitmq.client.GetResponse import com.rabbitmq.client.ShutdownSignalException import io.opentelemetry.api.common.AttributeKey +import io.opentelemetry.api.trace.attributes.SemanticAttributes import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.asserts.TraceAssert import io.opentelemetry.sdk.trace.data.SpanData -import io.opentelemetry.api.trace.attributes.SemanticAttributes import java.time.Duration import org.springframework.amqp.core.AmqpAdmin import org.springframework.amqp.core.AmqpTemplate @@ -79,7 +79,6 @@ class RabbitMQTest extends AgentTestRunner { channel.close() conn.close() } catch (ShutdownSignalException ignored) { - // Ignore } } diff --git a/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPayload.java b/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPayload.java index 03b5d99ace..ba7a4456cb 100644 --- a/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPayload.java +++ b/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPayload.java @@ -18,7 +18,7 @@ import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** ContextPayload wraps context information shared between client and server */ +/** ContextPayload wraps context information shared between client and server. */ public class ContextPayload { private static final Logger log = LoggerFactory.getLogger(ContextPayload.class); diff --git a/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPropagator.java b/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPropagator.java index 27abcf7e81..8adfcc29b3 100644 --- a/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPropagator.java +++ b/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/ContextPropagator.java @@ -39,7 +39,7 @@ public class ContextPropagator { public static final ContextPropagator PROPAGATOR = new ContextPropagator(); - public boolean isRMIInternalObject(ObjID id) { + public boolean isRmiInternalObject(ObjID id) { return ACTIVATOR_ID.equals(id) || DGC_ID.equals(id) || REGISTRY_ID.equals(id); } @@ -68,7 +68,7 @@ public class ContextPropagator { return result; } - /** @return true when no error happened during call */ + /** Returns true when no error happened during call. */ private boolean syntheticCall(Connection c, ContextPayload payload, int operationId) { StreamRemoteCall shareContextCall = new StreamRemoteCall(c); try { diff --git a/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java b/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java index 3c54164124..de307c6ac9 100644 --- a/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java +++ b/instrumentation/rmi/src/main/java/io/opentelemetry/javaagent/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java @@ -68,7 +68,7 @@ public final class RmiClientContextInstrumentation implements TypeInstrumentatio if (!c.isReusable()) { return; } - if (PROPAGATOR.isRMIInternalObject(id)) { + if (PROPAGATOR.isRmiInternalObject(id)) { return; } Span activeSpan = Java8BytecodeBridge.currentSpan(); diff --git a/instrumentation/rxjava-1.0/src/main/java/rx/__OpenTelemetryTracingUtil.java b/instrumentation/rxjava-1.0/src/main/java/rx/__OpenTelemetryTracingUtil.java index 16b757a4a4..55c34d6130 100644 --- a/instrumentation/rxjava-1.0/src/main/java/rx/__OpenTelemetryTracingUtil.java +++ b/instrumentation/rxjava-1.0/src/main/java/rx/__OpenTelemetryTracingUtil.java @@ -8,6 +8,7 @@ package rx; /** * This class must be in the rx package in order to access the package accessible onSubscribe field. */ +@SuppressWarnings("checkstyle:TypeName") public class __OpenTelemetryTracingUtil { public static Observable.OnSubscribe extractOnSubscribe(Observable observable) { return observable.onSubscribe; diff --git a/instrumentation/scala-concurrent/src/slickTest/groovy/SlickTest.groovy b/instrumentation/scala-concurrent/src/slickTest/groovy/SlickTest.groovy index 5100ba72a0..cd51b7d39a 100644 --- a/instrumentation/scala-concurrent/src/slickTest/groovy/SlickTest.groovy +++ b/instrumentation/scala-concurrent/src/slickTest/groovy/SlickTest.groovy @@ -7,7 +7,7 @@ import static io.opentelemetry.api.trace.Span.Kind.CLIENT import io.opentelemetry.api.trace.attributes.SemanticAttributes import io.opentelemetry.instrumentation.test.AgentTestRunner -import io.opentelemetry.javaagent.instrumentation.jdbc.JDBCUtils +import io.opentelemetry.javaagent.instrumentation.jdbc.JdbcUtils class SlickTest extends AgentTestRunner { @@ -40,7 +40,7 @@ class SlickTest extends AgentTestRunner { "$SemanticAttributes.DB_SYSTEM.key" "h2" "$SemanticAttributes.DB_NAME.key" SlickUtils.Db() "$SemanticAttributes.DB_USER.key" SlickUtils.Username() - "$SemanticAttributes.DB_STATEMENT.key" JDBCUtils.normalizeSql(SlickUtils.TestQuery()) + "$SemanticAttributes.DB_STATEMENT.key" JdbcUtils.normalizeSql(SlickUtils.TestQuery()) "$SemanticAttributes.DB_CONNECTION_STRING.key" "h2:mem:" } } diff --git a/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterChainInstrumentation.java b/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterChainInstrumentation.java index 619682320a..f273e14fe4 100644 --- a/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterChainInstrumentation.java +++ b/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterChainInstrumentation.java @@ -32,6 +32,7 @@ final class ServletAndFilterChainInstrumentation implements TypeInstrumentation return safeHasSuperType( namedOneOf("javax.servlet.FilterChain", "javax.servlet.http.HttpServlet")); } + /** * Here we are instrumenting the public method for HttpServlet. This should ensure that this * advice is always called before HttpServletInstrumentation which is instrumenting the protected diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerProperties.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerProperties.java index 3459f83363..cf42e2dae8 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerProperties.java @@ -10,7 +10,7 @@ import javax.validation.constraints.DecimalMin; import org.springframework.boot.context.properties.ConfigurationProperties; /** - * Configuration for OpenTelemetry Tracer + * Configuration for OpenTelemetry Tracer. * *

Get Tracer Name * @@ -21,11 +21,8 @@ public final class TracerProperties { private String name = "io.opentelemetry.instrumentation.spring-boot-autoconfigure"; - /** - * If Sample probability == 1: always sample - * - *

If Sample probability == 0: never sample - */ + // if Sample probability == 1: always sample + // if Sample probability == 0: never sample @DecimalMin("0.0") @DecimalMax("1.0") private double samplerProbability = 1.0; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/jaeger/JaegerSpanExporterProperties.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/jaeger/JaegerSpanExporterProperties.java index f348976a8f..f8aa6134ab 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/jaeger/JaegerSpanExporterProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/jaeger/JaegerSpanExporterProperties.java @@ -13,7 +13,7 @@ import java.time.Duration; import org.springframework.boot.context.properties.ConfigurationProperties; /** - * Configuration for {@link io.opentelemetry.exporter.jaeger.JaegerGrpcSpanExporter} + * Configuration for {@link io.opentelemetry.exporter.jaeger.JaegerGrpcSpanExporter}. * *

Get Exporter Service Name * diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/logging/LoggingSpanExporterProperties.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/logging/LoggingSpanExporterProperties.java index c630366c6e..fd276e33ff 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/logging/LoggingSpanExporterProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/logging/LoggingSpanExporterProperties.java @@ -7,7 +7,7 @@ package io.opentelemetry.instrumentation.spring.autoconfigure.exporters.logging; import org.springframework.boot.context.properties.ConfigurationProperties; -/** Configuration for {@link io.opentelemetry.exporter.logging.LoggingSpanExporter} */ +/** Configuration for {@link io.opentelemetry.exporter.logging.LoggingSpanExporter}. */ @ConfigurationProperties(prefix = "opentelemetry.trace.exporter.logging") public final class LoggingSpanExporterProperties { private boolean enabled = true; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/otlp/OtlpGrpcSpanExporterProperties.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/otlp/OtlpGrpcSpanExporterProperties.java index 7e6c079a2c..3138954a4d 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/otlp/OtlpGrpcSpanExporterProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/otlp/OtlpGrpcSpanExporterProperties.java @@ -12,7 +12,7 @@ import java.time.Duration; import org.springframework.boot.context.properties.ConfigurationProperties; /** - * Configuration for {@link io.opentelemetry.exporter.otlp.OtlpGrpcSpanExporter} + * Configuration for {@link io.opentelemetry.exporter.otlp.OtlpGrpcSpanExporter}. * *

Get Exporter Service Name * diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/zipkin/ZipkinSpanExporterProperties.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/zipkin/ZipkinSpanExporterProperties.java index 2a70da0bf0..e11c5fb219 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/zipkin/ZipkinSpanExporterProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/zipkin/ZipkinSpanExporterProperties.java @@ -11,7 +11,7 @@ import static io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.DEFAULT_SERVIC import org.springframework.boot.context.properties.ConfigurationProperties; /** - * Configuration for {@link io.opentelemetry.exporters.zipkin.ZipkinSpanExporter} + * Configuration for {@link io.opentelemetry.exporter.zipkin.ZipkinSpanExporter}. * *

Get Exporter Service Name {@link #getServiceName()} * diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientBeanPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientBeanPostProcessor.java index 358da921b0..c0021c3cc0 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientBeanPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientBeanPostProcessor.java @@ -14,9 +14,9 @@ import org.springframework.web.reactive.function.client.ExchangeFilterFunction; import org.springframework.web.reactive.function.client.WebClient; /** - * Inspired by: Spring - * Cloud Sleuth + * Cloud Sleuth. */ final class WebClientBeanPostProcessor implements BeanPostProcessor { diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerAutoConfigurationTest.java index 06f0905a3a..cca66e99c1 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/TracerAutoConfigurationTest.java @@ -16,7 +16,7 @@ import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; -/** Spring Boot auto configuration test for {@link TracerAutoConfiguration} */ +/** Spring Boot auto configuration test for {@link TracerAutoConfiguration}. */ class TracerAutoConfigurationTest { @TestConfiguration static class CustomTracerConfiguration { diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/TraceAspectAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/TraceAspectAutoConfigurationTest.java index 1c493e6e16..2dc16b22c5 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/TraceAspectAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/TraceAspectAutoConfigurationTest.java @@ -13,7 +13,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -/** Spring Boot auto configuration test for {@link TraceAspectAutoConfiguration} */ +/** Spring Boot auto configuration test for {@link TraceAspectAutoConfiguration}. */ public class TraceAspectAutoConfigurationTest { private final ApplicationContextRunner contextRunner = diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/WithSpanAspectTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/WithSpanAspectTest.java index b5f2340c60..f05936699b 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/WithSpanAspectTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/WithSpanAspectTest.java @@ -24,7 +24,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.aop.aspectj.annotation.AspectJProxyFactory; -/** Spring AOP Test for {@link WithSpanAspect} */ +/** Spring AOP Test for {@link WithSpanAspect}. */ @ExtendWith(MockitoExtension.class) public class WithSpanAspectTest { static class WithSpanTester { diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/resttemplate/RestTemplateAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/resttemplate/RestTemplateAutoConfigurationTest.java index 1338c2ae60..ff6dddbe49 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/resttemplate/RestTemplateAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/resttemplate/RestTemplateAutoConfigurationTest.java @@ -13,7 +13,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -/** Spring Boot auto configuration test for {@link RestTemplateAutoConfiguration} */ +/** Spring Boot auto configuration test for {@link RestTemplateAutoConfiguration}. */ class RestTemplateAutoConfigurationTest { private final ApplicationContextRunner contextRunner = diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientAutoConfigurationTest.java index 4134879605..cf60786fc8 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/httpclients/webclient/WebClientAutoConfigurationTest.java @@ -13,7 +13,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -/** Spring Boot auto configuration test for {@link WebClientAutoConfiguration} */ +/** Spring Boot auto configuration test for {@link WebClientAutoConfiguration}. */ class WebClientAutoConfigurationTest { private final ApplicationContextRunner contextRunner = diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/webmvc/WebMvcFilterAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/webmvc/WebMvcFilterAutoConfigurationTest.java index bbc1e1f585..037c4885ab 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/webmvc/WebMvcFilterAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/webmvc/WebMvcFilterAutoConfigurationTest.java @@ -14,7 +14,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -/** Spring Boot auto configuration test for {@link WebMvcFilterAutoConfiguration} */ +/** Spring Boot auto configuration test for {@link WebMvcFilterAutoConfiguration}. */ class WebMvcFilterAutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() diff --git a/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java b/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java index 2da2973736..55402823e3 100644 --- a/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java +++ b/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java @@ -24,7 +24,7 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry; /** * This instrumentation adds the HandlerMappingResourceNameFilter definition to the spring context - * When the context is created, the filter will be added to the beginning of the filter chain + * When the context is created, the filter will be added to the beginning of the filter chain. */ final class WebApplicationContextInstrumentation implements TypeInstrumentation { diff --git a/javaagent-api/javaagent-api.gradle b/javaagent-api/javaagent-api.gradle index eecf3052a6..158a974364 100644 --- a/javaagent-api/javaagent-api.gradle +++ b/javaagent-api/javaagent-api.gradle @@ -25,10 +25,6 @@ javacc { } } -tasks.withType(Checkstyle).configureEach { - exclude '**/db/normalizer/*.java' -} - dependencies { api deps.opentelemetryApi compileOnly deps.opentelemetrySdk diff --git a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/ContextStore.java b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/ContextStore.java index 11c0c12d66..76b2e69e4d 100644 --- a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/ContextStore.java +++ b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/ContextStore.java @@ -17,18 +17,18 @@ package io.opentelemetry.javaagent.instrumentation.api; public interface ContextStore { /** - * Factory interface to create context instances + * Factory interface to create context instances. * * @param context type */ interface Factory { - /** @return new context instance */ + /** Returns a new context instance. */ C create(); } /** - * Get context given the key + * Get context given the key. * * @param key the key to looup * @return context object @@ -36,7 +36,7 @@ public interface ContextStore { C get(K key); /** - * Put new context instance for given key + * Put new context instance for given key. * * @param key key to use * @param context context instance to save @@ -44,7 +44,7 @@ public interface ContextStore { void put(K key, C context); /** - * Put new context instance if key is absent + * Put new context instance if key is absent. * * @param key key to use * @param context new context instance to put diff --git a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/InstrumentationContext.java b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/InstrumentationContext.java index 2d4b3a0d3c..5bc7702cf9 100644 --- a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/InstrumentationContext.java +++ b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/InstrumentationContext.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.api; -/** Instrumentation Context API */ +/** Instrumentation Context API. */ public class InstrumentationContext { private InstrumentationContext() {} diff --git a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/Java8BytecodeBridge.java b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/Java8BytecodeBridge.java index 7046b75bb4..4240edfe35 100644 --- a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/Java8BytecodeBridge.java +++ b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/Java8BytecodeBridge.java @@ -39,7 +39,7 @@ public final class Java8BytecodeBridge { return OpenTelemetry.getGlobalPropagators(); } - /** Calls {@link OpenTelemetry#getGlobalTracer(String)} */ + /** Calls {@link OpenTelemetry#getGlobalTracer(String)}. */ public static Tracer getGlobalTracer(String name) { return OpenTelemetry.getGlobalTracer(name); } diff --git a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/SpanWithScope.java b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/SpanWithScope.java index b79dd7656d..209681ee35 100644 --- a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/SpanWithScope.java +++ b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/SpanWithScope.java @@ -33,7 +33,7 @@ import io.opentelemetry.context.Scope; * } * * - * We are (slowly) migrating to a new pattern using `@Advice.Local`: + *

We are (slowly) migrating to a new pattern using `@Advice.Local`: * *

  *   @Advice.OnMethodEnter(...)
@@ -57,7 +57,7 @@ import io.opentelemetry.context.Scope;
  *   }
  * 
* - * This new pattern has the following benefits: + *

This new pattern has the following benefits: * *

    *
  • The new pattern is more efficient since it doesn't require instantiating the {@code @@ -66,7 +66,7 @@ import io.opentelemetry.context.Scope; * CallDepthThreadLocalMap.Depth} between the methods *
* - * @deprecated + * @deprecated see above */ @Deprecated public class SpanWithScope { diff --git a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/AdviceUtils.java b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/AdviceUtils.java index 1cd89e130d..1839222617 100644 --- a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/AdviceUtils.java +++ b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/AdviceUtils.java @@ -11,7 +11,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.javaagent.instrumentation.api.ContextStore; -/** Helper utils for Runnable/Callable instrumentation */ +/** Helper utils for Runnable/Callable instrumentation. */ public class AdviceUtils { private static final Tracer TRACER = @@ -22,7 +22,7 @@ public class AdviceUtils { } /** - * Start scope for a given task + * Start scope for a given task. * * @param contextStore context storage for task's state * @param task task to start scope for diff --git a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/db/SqlStatementInfo.java b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/db/SqlStatementInfo.java index 84085c0b51..06b5781a4b 100644 --- a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/db/SqlStatementInfo.java +++ b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/db/SqlStatementInfo.java @@ -37,8 +37,12 @@ public final class SqlStatementInfo { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } SqlStatementInfo that = (SqlStatementInfo) o; return Objects.equals(fullStatement, that.fullStatement) && Objects.equals(operation, that.operation) diff --git a/javaagent-api/src/test/groovy/io/opentelemetry/javaagent/instrumentation/api/WeakMapTest.groovy b/javaagent-api/src/test/groovy/io/opentelemetry/javaagent/instrumentation/api/WeakMapTest.groovy index fdcd8f8b83..b128a24966 100644 --- a/javaagent-api/src/test/groovy/io/opentelemetry/javaagent/instrumentation/api/WeakMapTest.groovy +++ b/javaagent-api/src/test/groovy/io/opentelemetry/javaagent/instrumentation/api/WeakMapTest.groovy @@ -62,7 +62,7 @@ class WeakMapTest extends Specification { def counter = 0 @Override - Integer get(String ignored) { + Integer get(String key) { counter = counter + 1 return counter } diff --git a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentClassLoader.java b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentClassLoader.java index 1b8ffbf7f7..dff4913091 100644 --- a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentClassLoader.java +++ b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentClassLoader.java @@ -35,7 +35,7 @@ public class AgentClassLoader extends URLClassLoader { private final BootstrapClassLoaderProxy bootstrapProxy; /** - * Construct a new AgentClassLoader + * Construct a new AgentClassLoader. * * @param bootstrapJarLocation Used for resource lookups. * @param internalJarFileName File name of the internal jar @@ -52,13 +52,13 @@ public class AgentClassLoader extends URLClassLoader { ? new BootstrapClassLoaderProxy(new URL[0]) : new BootstrapClassLoaderProxy(new URL[] {bootstrapJarLocation}); - InternalJarURLHandler internalJarURLHandler = - new InternalJarURLHandler(internalJarFileName, bootstrapJarLocation); + InternalJarUrlHandler internalJarUrlHandler = + new InternalJarUrlHandler(internalJarFileName, bootstrapJarLocation); try { // The fields of the URL are mostly dummy. InternalJarURLHandler is the only important // field. If extending this class from Classloader instead of URLClassloader required less // boilerplate it could be used and the need for dummy fields would be reduced - addURL(new URL("x-internal-jar", null, 0, "/", internalJarURLHandler)); + addURL(new URL("x-internal-jar", null, 0, "/", internalJarUrlHandler)); } catch (MalformedURLException e) { // This can't happen with current URL constructor log.error("URL malformed. Unsupported JDK?", e); diff --git a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentInitializer.java b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentInitializer.java index 33120b7f52..21c2d41d37 100644 --- a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentInitializer.java +++ b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentInitializer.java @@ -44,8 +44,8 @@ public class AgentInitializer { // fields must be managed under class lock private static ClassLoader AGENT_CLASSLOADER = null; - public static void initialize(Instrumentation inst, URL bootstrapURL) { - startAgent(inst, bootstrapURL); + public static void initialize(Instrumentation inst, URL bootstrapUrl) { + startAgent(inst, bootstrapUrl); boolean appUsingCustomLogManager = isAppUsingCustomLogManager(); @@ -68,7 +68,7 @@ public class AgentInitializer { * events which in turn loads LogManager. This is not a problem on newer JDKs because there JFR uses different * logging facility. */ - if (isJavaBefore9WithJFR() && appUsingCustomLogManager) { + if (isJavaBefore9WithJfr() && appUsingCustomLogManager) { log.debug("Custom logger detected. Delaying Agent Tracer initialization."); registerLogManagerCallback(new InstallAgentTracerCallback()); } else { @@ -132,10 +132,10 @@ public class AgentInitializer { } } - private static synchronized void startAgent(Instrumentation inst, URL bootstrapURL) { + private static synchronized void startAgent(Instrumentation inst, URL bootstrapUrl) { if (AGENT_CLASSLOADER == null) { try { - ClassLoader agentClassLoader = createAgentClassLoader("inst", bootstrapURL); + ClassLoader agentClassLoader = createAgentClassLoader("inst", bootstrapUrl); Class agentInstallerClass = agentClassLoader.loadClass("io.opentelemetry.javaagent.tooling.AgentInstaller"); Method agentInstallerMethod = @@ -191,7 +191,7 @@ public class AgentInitializer { * classloader * @return Agent Classloader */ - private static ClassLoader createAgentClassLoader(String innerJarFilename, URL bootstrapURL) + private static ClassLoader createAgentClassLoader(String innerJarFilename, URL bootstrapUrl) throws Exception { ClassLoader agentParent; if (isJavaBefore9()) { @@ -206,7 +206,7 @@ public class AgentInitializer { .loadClass("io.opentelemetry.javaagent.bootstrap.AgentClassLoader"); Constructor constructor = loaderClass.getDeclaredConstructor(URL.class, String.class, ClassLoader.class); - return (ClassLoader) constructor.newInstance(bootstrapURL, innerJarFilename, agentParent); + return (ClassLoader) constructor.newInstance(bootstrapUrl, innerJarFilename, agentParent); } private static ClassLoader getPlatformClassLoader() @@ -291,7 +291,7 @@ public class AgentInitializer { return System.getProperty("java.version").startsWith("1."); } - private static boolean isJavaBefore9WithJFR() { + private static boolean isJavaBefore9WithJfr() { if (!isJavaBefore9()) { return false; } diff --git a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/FieldBackedContextStoreAppliedMarker.java b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/FieldBackedContextStoreAppliedMarker.java index e64133f222..ae429492d5 100644 --- a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/FieldBackedContextStoreAppliedMarker.java +++ b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/FieldBackedContextStoreAppliedMarker.java @@ -5,5 +5,7 @@ package io.opentelemetry.javaagent.bootstrap; -/** Marker interface to show that fields for FieldBackedContextStore have been applied to a class */ +/** + * Marker interface to show that fields for FieldBackedContextStore have been applied to a class. + */ public interface FieldBackedContextStoreAppliedMarker {} diff --git a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InternalJarURLHandler.java b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InternalJarUrlHandler.java similarity index 90% rename from javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InternalJarURLHandler.java rename to javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InternalJarUrlHandler.java index ff9f85e9ee..52631fba9c 100644 --- a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InternalJarURLHandler.java +++ b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InternalJarUrlHandler.java @@ -20,9 +20,9 @@ import java.util.jar.JarFile; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class InternalJarURLHandler extends URLStreamHandler { +public class InternalJarUrlHandler extends URLStreamHandler { - private static final Logger log = LoggerFactory.getLogger(InternalJarURLHandler.class); + private static final Logger log = LoggerFactory.getLogger(InternalJarUrlHandler.class); private static final WeakReference NULL = new WeakReference<>(null); @@ -32,7 +32,7 @@ public class InternalJarURLHandler extends URLStreamHandler { private WeakReference cache = NULL; - public InternalJarURLHandler(String internalJarFileName, URL bootstrapJarLocation) { + public InternalJarUrlHandler(String internalJarFileName, URL bootstrapJarLocation) { name = internalJarFileName; notFound = new FileNotInInternalJar(internalJarFileName); JarFile jarFile = null; @@ -55,7 +55,7 @@ public class InternalJarURLHandler extends URLStreamHandler { // This is called by the SecureClassLoader trying to obtain permissions // nullInputStream() is not available until Java 11 - return new InternalJarURLConnection(url, new ByteArrayInputStream(new byte[0])); + return new InternalJarUrlConnection(url, new ByteArrayInputStream(new byte[0])); } // believe it or not, we're going to get called twice for this, // and the key will be a new object each time. @@ -76,7 +76,7 @@ public class InternalJarURLHandler extends URLStreamHandler { // so dismiss cache after a hit cache = NULL; } - return new InternalJarURLConnection(url, bootstrapJarFile.getInputStream(pair.entry)); + return new InternalJarUrlConnection(url, bootstrapJarFile.getInputStream(pair.entry)); } private String getResourcePath(String filename) { @@ -93,10 +93,10 @@ public class InternalJarURLHandler extends URLStreamHandler { return sb.toString(); } - private static class InternalJarURLConnection extends URLConnection { + private static class InternalJarUrlConnection extends URLConnection { private final InputStream inputStream; - private InternalJarURLConnection(URL url, InputStream inputStream) { + private InternalJarUrlConnection(URL url, InputStream inputStream) { super(url); this.inputStream = inputStream; } diff --git a/javaagent-bootstrap/src/test/java/io/opentelemetry/javaagent/bootstrap/InternalJarURLHandlerTest.groovy b/javaagent-bootstrap/src/test/java/io/opentelemetry/javaagent/bootstrap/InternalJarURLHandlerTest.groovy index c27e62d3a0..3fed4ffdd4 100644 --- a/javaagent-bootstrap/src/test/java/io/opentelemetry/javaagent/bootstrap/InternalJarURLHandlerTest.groovy +++ b/javaagent-bootstrap/src/test/java/io/opentelemetry/javaagent/bootstrap/InternalJarURLHandlerTest.groovy @@ -16,18 +16,18 @@ package io.opentelemetry.javaagent.bootstrap -import io.opentelemetry.javaagent.bootstrap.InternalJarURLHandler + import spock.lang.Shared import spock.lang.Specification -class InternalJarURLHandlerTest extends Specification { +class InternalJarUrlHandlerTest extends Specification { @Shared URL testJarLocation = new File("src/test/resources/classloader-test-jar/testjar-jdk8").toURI().toURL() def "test get URL"() { setup: - InternalJarURLHandler handler = new InternalJarURLHandler(dir, testJarLocation) + InternalJarUrlHandler handler = new InternalJarUrlHandler(dir, testJarLocation) when: URLConnection connection = handler.openConnection(new URL('file://' + file)) assert connection != null @@ -62,7 +62,7 @@ class InternalJarURLHandlerTest extends Specification { // the third load indistinguishable from the first load, hence the lack of a test for it. def "test read class twice"() { setup: - InternalJarURLHandler handler = new InternalJarURLHandler(dir, testJarLocation) + InternalJarUrlHandler handler = new InternalJarUrlHandler(dir, testJarLocation) when: URLConnection connection = handler.openConnection(new URL('file://' + file)) assert connection != null @@ -86,7 +86,7 @@ class InternalJarURLHandlerTest extends Specification { def "handle not found"() { setup: - InternalJarURLHandler handler = new InternalJarURLHandler(dir, testJarLocation) + InternalJarUrlHandler handler = new InternalJarUrlHandler(dir, testJarLocation) when: handler.openConnection(new File(file).toURI().toURL()) then: diff --git a/javaagent-spi/src/main/java/io/opentelemetry/javaagent/spi/config/PropertySource.java b/javaagent-spi/src/main/java/io/opentelemetry/javaagent/spi/config/PropertySource.java index 53088b684c..4924ac5f2b 100644 --- a/javaagent-spi/src/main/java/io/opentelemetry/javaagent/spi/config/PropertySource.java +++ b/javaagent-spi/src/main/java/io/opentelemetry/javaagent/spi/config/PropertySource.java @@ -15,9 +15,9 @@ import java.util.Map; */ public interface PropertySource { /** - * @return all properties whose default values are overridden by this property source. Key of the - * map is the propertyName (same as system property name, e.g. {@code otel.exporter}), value - * is the property value. + * Returns all properties whose default values are overridden by this property source. Key of the + * map is the propertyName (same as system property name, e.g. {@code otel.exporter}), value is + * the property value. */ Map getProperties(); } diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/ClassLoaderMatcher.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/ClassLoaderMatcher.java index 63a5a58738..bd07a2cfa8 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/ClassLoaderMatcher.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/ClassLoaderMatcher.java @@ -87,8 +87,9 @@ public final class ClassLoaderMatcher { case AGENT_CLASSLOADER_NAME: case EXPORTER_CLASSLOADER_NAME: return true; + default: + return false; } - return false; } /** diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/GuavaWeakCache.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/GuavaWeakCache.java index ea43c9b752..1ca27af18d 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/GuavaWeakCache.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/GuavaWeakCache.java @@ -15,12 +15,7 @@ import java.util.concurrent.TimeUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** - * no null keys nor null values are permitted - * - * @param - * @param - */ +/** No null keys nor null values are permitted. */ public final class GuavaWeakCache implements WeakCache { private static final Logger log = LoggerFactory.getLogger(GuavaWeakCache.class); @@ -58,10 +53,7 @@ public final class GuavaWeakCache implements WeakCache { this.cache = cache; } - /** - * @return null if key is not present - * @param key - */ + /** Returns null if key is not present. */ @Override public V getIfPresent(K key) { return cache.getIfPresent(key); diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/HelperInjector.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/HelperInjector.java index 75d3bcb2dd..3b80f0d8fe 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/HelperInjector.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/HelperInjector.java @@ -57,6 +57,7 @@ public class HelperInjector implements Transformer { private final WeakMap injectedClassLoaders = newWeakMap(); private final List> helperModules = new CopyOnWriteArrayList<>(); + /** * Construct HelperInjector. * diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java index 9a41b09679..ce41e0a671 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java @@ -231,12 +231,12 @@ public abstract class InstrumentationModule { return 0; } - /** @return Class names of helpers to inject into the user's classloader */ + /** Returns class names of helpers to inject into the user's classloader. */ public String[] helperClassNames() { return EMPTY; } - /** @return Resource names to inject into the user's classloader */ + /** Returns resource names to inject into the user's classloader. */ public String[] helperResourceNames() { return EMPTY; } @@ -256,7 +256,7 @@ public abstract class InstrumentationModule { return any(); } - /** @return A list of all individual type instrumentation in this module. */ + /** Returns a list of all individual type instrumentation in this module. */ public abstract List typeInstrumentations(); /** diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java index 3d692afbde..2ceb39946e 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java @@ -30,14 +30,14 @@ public interface TypeInstrumentation { } /** - * @return A type matcher defining which classes should undergo transformations defined by advices - * returned by {@link #transformers()}. + * Returns a type matcher defining which classes should undergo transformations defined by advices + * returned by {@link #transformers()}. */ ElementMatcher typeMatcher(); /** - * @return Keys of the returned map are method matchers, values are full names of advice classes - * that will be applied onto methods that satisfy matcher (key). + * Keys of the returned map are method matchers, values are full names of advice classes that will + * be applied onto methods that satisfy matcher (key). */ Map, String> transformers(); } diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/Utils.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/Utils.java index c2ccfa9768..aaf63193f8 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/Utils.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/Utils.java @@ -88,7 +88,7 @@ public class Utils { return type.getDeclaredMethods().filter(named(methodName)).getOnly(); } - /** @return The current stack trace with multiple entries on new lines. */ + /** Returns the current stack trace with multiple entries on new lines. */ public static String getStackTraceAsString() { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); StringBuilder stringBuilder = new StringBuilder(); diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/VersionLogger.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/VersionLogger.java index 874f23101e..c56670489e 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/VersionLogger.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/VersionLogger.java @@ -13,7 +13,6 @@ public class VersionLogger { private static final Logger log = LoggerFactory.getLogger(VersionLogger.class); - /** Log version string for java-agent */ public static void logAllVersions() { log.info("opentelemetry-javaagent - version: {}", InstrumentationVersion.VERSION); if (log.isDebugEnabled()) { diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/AgentCachingPoolStrategy.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/AgentCachingPoolStrategy.java index 4675a9a566..b6beeb66e5 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/AgentCachingPoolStrategy.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/AgentCachingPoolStrategy.java @@ -79,7 +79,7 @@ public class AgentCachingPoolStrategy implements PoolStrategy { .maximumSize(TYPE_CAPACITY) .build(); - /** Fast path for bootstrap */ + // fast path for bootstrap final SharedResolutionCacheAdapter bootstrapCacheProvider = new SharedResolutionCacheAdapter(BOOTSTRAP_HASH, null, sharedResolutionCache); diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/AgentElementMatchers.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/AgentElementMatchers.java index e6577e994c..ace3de3313 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/AgentElementMatchers.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/AgentElementMatchers.java @@ -14,7 +14,7 @@ import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; /** - * This class provides some custom ByteBuddy element matchers to use when applying instrumentation + * This class provides some custom ByteBuddy element matchers to use when applying instrumentation. */ public class AgentElementMatchers { diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java index a3d47ca5ab..151c84c366 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java @@ -44,6 +44,7 @@ class SafeHasSuperTypeMatcher private final ElementMatcher matcher; private final boolean interfacesOnly; + /** * Creates a new matcher for a super type. * diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/context/FieldBackedProvider.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/context/FieldBackedProvider.java index acdbf222ef..b9cd241c60 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/context/FieldBackedProvider.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/context/FieldBackedProvider.java @@ -110,12 +110,12 @@ public class FieldBackedProvider implements InstrumentationContextProvider { private final ByteBuddy byteBuddy; private final Map contextStore; - /** fields-accessor-interface-name -> fields-accessor-interface-dynamic-type */ + // fields-accessor-interface-name -> fields-accessor-interface-dynamic-type private final Map> fieldAccessorInterfaces; private final AgentBuilder.Transformer fieldAccessorInterfacesInjector; - /** context-store-type-name -> context-store-type-name-dynamic-type */ + // context-store-type-name -> context-store-type-name-dynamic-type private final Map> contextStoreImplementations; private final AgentBuilder.Transformer contextStoreImplementationsInjector; @@ -140,7 +140,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { * invokes appropriate storage implementation. */ builder = - builder.transform(getTransformerForASMVisitor(getContextStoreReadsRewritingVisitor())); + builder.transform(getTransformerForAsmVisitor(getContextStoreReadsRewritingVisitor())); builder = injectHelpersIntoBootstrapClassloader(builder); } return builder; @@ -351,7 +351,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { */ private static final Set> INSTALLED_CONTEXT_MATCHERS = new HashSet<>(); - /** Clear set that prevents multiple matchers for same context class */ + /** Clear set that prevents multiple matchers for same context class. */ public static void resetContextMatchers() { synchronized (INSTALLED_CONTEXT_MATCHERS) { INSTALLED_CONTEXT_MATCHERS.clear(); @@ -400,7 +400,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { builder = builder.transform( - getTransformerForASMVisitor( + getTransformerForAsmVisitor( getFieldInjectionVisitor(entry.getKey(), entry.getValue()))); } } @@ -532,7 +532,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { super.visitEnd(); } - /** Just 'standard' getter implementation */ + // just 'standard' getter implementation private void addGetter() { MethodVisitor mv = getAccessorMethodVisitor(getterMethodName); mv.visitCode(); @@ -547,7 +547,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { mv.visitEnd(); } - /** Just 'standard' setter implementation */ + // just 'standard' setter implementation private void addSetter() { MethodVisitor mv = getAccessorMethodVisitor(setterMethodName); mv.visitCode(); @@ -601,7 +601,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { /** * Generate an 'implementation' of a context store classfor given key class name and context class - * name + * name. * * @param keyClassName key class name * @param contextClassName context class name @@ -619,7 +619,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { /** * Returns a visitor that 'fills in' missing methods into concrete implementation of - * ContextStoreImplementationTemplate for given key class name and context class name + * ContextStoreImplementationTemplate for given key class name and context class name. * * @param keyClassName key class name * @param contextClassName context class name @@ -676,7 +676,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { } /** - * Provides implementation for {@code realGet} method that looks like this + * Provides implementation for {@code realGet} method that looks like below. * *
* @@ -729,7 +729,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { } /** - * Provides implementation for {@code realPut} method that looks like this + * Provides implementation for {@code realPut} method that looks like below. * *
* @@ -789,7 +789,8 @@ public class FieldBackedProvider implements InstrumentationContextProvider { } /** - * Provides implementation for {@code realSynchronizeInstance} method that looks like this + * Provides implementation for {@code realSynchronizeInstance} method that looks like + * below. * *
* @@ -965,7 +966,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { /** * Generate an interface that provides field accessor methods for given key class name and context - * class name + * class name. * * @param keyClassName key class name * @param contextClassName context class name @@ -987,7 +988,7 @@ public class FieldBackedProvider implements InstrumentationContextProvider { .make(); } - private AgentBuilder.Transformer getTransformerForASMVisitor(final AsmVisitorWrapper visitor) { + private AgentBuilder.Transformer getTransformerForAsmVisitor(final AsmVisitorWrapper visitor) { return new AgentBuilder.Transformer() { @Override public DynamicType.Builder transform( diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/Reference.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/Reference.java index 519a57342f..dd6a306a81 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/Reference.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/Reference.java @@ -187,7 +187,7 @@ public final class Reference { boolean matches(int asmFlags); // This method is internally used to generate the getMuzzleReferenceMatcher() implementation - /** Same as {@link Enum#name()} */ + /** Same as {@link Enum#name()}. */ String name(); /** diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/collector/ReferenceCollector.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/collector/ReferenceCollector.java index 2bbad73096..ee500b53c2 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/collector/ReferenceCollector.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/collector/ReferenceCollector.java @@ -168,8 +168,8 @@ public class ReferenceCollector extends ClassVisitor { } /** - * @return If TYPE is an array, return the underlying type. If TYPE is not an array simply return - * the type. + * If TYPE is an array, returns the underlying type. If TYPE is not an array simply return the + * type. */ private static Type underlyingType(Type type) { while (type.getSort() == Type.ARRAY) { diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/HelperReferenceWrapper.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/HelperReferenceWrapper.java index b1d3339d44..040a6b1dda 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/HelperReferenceWrapper.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/HelperReferenceWrapper.java @@ -24,18 +24,18 @@ public interface HelperReferenceWrapper { boolean isAbstract(); /** - * @return true if the wrapped type extends any class other than {@link Object} or implements any - * interface. + * Returns true if the wrapped type extends any class other than {@link Object} or implements any + * interface. */ boolean hasSuperTypes(); /** - * @return An iterable containing the wrapped type's super class (if exists) and implemented - * interfaces. + * Returns an iterable containing the wrapped type's super class (if exists) and implemented + * interfaces. */ Stream getSuperTypes(); - /** @return An iterable with all non-private, non-static methods declared in the wrapped type. */ + /** Returns an iterable with all non-private, non-static methods declared in the wrapped type. */ Stream getMethods(); final class Method { @@ -69,8 +69,12 @@ public interface HelperReferenceWrapper { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } Method method = (Method) o; return Objects.equal(name, method.name) && Objects.equal(descriptor, method.descriptor); } diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/MuzzleGradlePluginUtil.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/MuzzleGradlePluginUtil.java index c581538102..7260b723a3 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/MuzzleGradlePluginUtil.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/muzzle/matcher/MuzzleGradlePluginUtil.java @@ -34,8 +34,8 @@ public final class MuzzleGradlePluginUtil { * injected into {@code userClassLoader} * * - * When {@code assertPass = false} this method behaves in an opposite way: failure in any of the - * first two steps is expected (helper classes are not injected at all). + *

When {@code assertPass = false} this method behaves in an opposite way: failure in any of + * the first two steps is expected (helper classes are not injected at all). * *

This method is repeatedly called by the {@code :muzzle} gradle task - each tested dependency * version passes different {@code userClassLoader}. diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedSpan.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedSpan.java deleted file mode 100644 index 8b96d8b928..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedSpan.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.base; - -import io.opentelemetry.api.trace.Span; - -public abstract class BaseTypedSpan extends DelegatingSpan { - - public BaseTypedSpan(Span delegate) { - super(delegate); - } - - public void end(Throwable throwable) { - // add error details to the span. - super.end(); - } - - /** The end(Throwable), or end(RESPONSE) methods should be used instead. */ - @Deprecated - @Override - public void end() { - super.end(); - } - - /** The end(Throwable), or end(RESPONSE) methods should be used instead. */ - @Deprecated - @Override - public void end(long timestamp) { - super.end(timestamp); - } - - protected abstract T self(); -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedTracer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedTracer.java deleted file mode 100644 index 84b15e92e6..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/BaseTypedTracer.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.base; - -import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.api.trace.Tracer; -import io.opentelemetry.context.Context; -import io.opentelemetry.context.Scope; - -public abstract class BaseTypedTracer { - - protected final Tracer tracer; - - protected BaseTypedTracer() { - tracer = OpenTelemetry.getGlobalTracer(getInstrumentationName(), getVersion()); - } - - protected abstract String getInstrumentationName(); - - protected abstract String getVersion(); - - public final T startSpan(INSTANCE instance) { - return startSpan(instance, tracer.spanBuilder(getSpanName(instance))); - } - - public final T startSpan(INSTANCE instance, Context context) { - return startSpan(instance, tracer.spanBuilder(getSpanName(instance)).setParent(context)); - } - - private T startSpan(INSTANCE instance, Span.Builder builder) { - builder = buildSpan(instance, builder.setSpanKind(getSpanKind())); - T wrappedSpan = wrapSpan(builder.startSpan()); - return startSpan(instance, wrappedSpan); - } - - public final Scope withSpan(T span) { - return span.makeCurrent(); - } - - protected abstract String getSpanName(INSTANCE instance); - - protected abstract Span.Kind getSpanKind(); - - // Allow adding additional attributes before start. - // eg spanBuilder.setNoParent() or tracer.extract. - protected Span.Builder buildSpan(INSTANCE instance, Span.Builder spanBuilder) { - return spanBuilder; - } - - // Wrap the started span with the type specific wrapper. - protected abstract T wrapSpan(Span span); - - // Allow adding additional attributes after start. - protected T startSpan(INSTANCE instance, T span) { - return span; - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/DelegatingSpan.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/DelegatingSpan.java deleted file mode 100644 index c331142a5e..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/base/DelegatingSpan.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.base; - -import io.opentelemetry.api.common.AttributeKey; -import io.opentelemetry.api.common.Attributes; -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.api.trace.SpanContext; -import io.opentelemetry.api.trace.StatusCode; - -// TODO: This should be moved into the API. -public class DelegatingSpan implements Span { - protected final Span delegate; - - public DelegatingSpan(Span delegate) { - this.delegate = delegate; - } - - @Override - public Span setAttribute(String key, String value) { - delegate.setAttribute(key, value); - return this; - } - - @Override - public Span setAttribute(String key, long value) { - delegate.setAttribute(key, value); - return this; - } - - @Override - public Span setAttribute(String key, double value) { - delegate.setAttribute(key, value); - return this; - } - - @Override - public Span setAttribute(String key, boolean value) { - delegate.setAttribute(key, value); - return this; - } - - @Override - public Span setAttribute(AttributeKey key, T value) { - delegate.setAttribute(key, value); - return this; - } - - @Override - public Span addEvent(String name) { - delegate.addEvent(name); - return this; - } - - @Override - public Span addEvent(String name, long timestamp) { - delegate.addEvent(name, timestamp); - return this; - } - - @Override - public Span addEvent(String name, Attributes attributes) { - delegate.addEvent(name, attributes); - return this; - } - - @Override - public Span addEvent(String name, Attributes attributes, long timestamp) { - delegate.addEvent(name, attributes, timestamp); - return this; - } - - @Override - public Span setStatus(StatusCode status) { - delegate.setStatus(status); - return this; - } - - @Override - public Span setStatus(StatusCode status, String description) { - delegate.setStatus(status, description); - return this; - } - - @Override - public Span recordException(Throwable throwable) { - delegate.recordException(throwable); - return this; - } - - @Override - public Span recordException(Throwable throwable, Attributes attributes) { - delegate.recordException(throwable, attributes); - return this; - } - - @Override - public Span updateName(String name) { - delegate.updateName(name); - return this; - } - - @Override - public void end() { - delegate.end(); - } - - @Override - public void end(long timestamp) { - delegate.end(timestamp); - } - - @Override - public SpanContext getSpanContext() { - return delegate.getSpanContext(); - } - - @Override - public boolean isRecording() { - return delegate.isRecording(); - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedSpan.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedSpan.java deleted file mode 100644 index a3d58c8ee1..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedSpan.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.client; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.javaagent.typed.base.BaseTypedSpan; - -public abstract class ClientTypedSpan - extends BaseTypedSpan { - - public ClientTypedSpan(Span delegate) { - super(delegate); - } - - protected abstract T onRequest(REQUEST request); - - protected abstract T onResponse(RESPONSE response); - - public void end(RESPONSE response) { - onResponse(response).end(); - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedTracer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedTracer.java deleted file mode 100644 index 2d8696163c..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/ClientTypedTracer.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.client; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.javaagent.typed.base.BaseTypedTracer; - -public abstract class ClientTypedTracer< - T extends ClientTypedSpan, REQUEST, RESPONSE> - extends BaseTypedTracer { - @Override - protected Span.Kind getSpanKind() { - return Span.Kind.CLIENT; - } - - @Override - protected T startSpan(REQUEST request, T span) { - return span.onRequest(request); - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedSpan.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedSpan.java deleted file mode 100644 index be53d552e3..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedSpan.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.client.http; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.javaagent.typed.client.ClientTypedSpan; - -public abstract class HttpClientTypedSpan - extends ClientTypedSpan { - - public HttpClientTypedSpan(Span delegate) { - super(delegate); - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedTracer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedTracer.java deleted file mode 100644 index e7ea07d165..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/client/http/HttpClientTypedTracer.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.client.http; - -import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.context.Context; -import io.opentelemetry.context.propagation.TextMapPropagator; -import io.opentelemetry.javaagent.typed.client.ClientTypedTracer; - -public abstract class HttpClientTypedTracer< - T extends HttpClientTypedSpan, REQUEST, RESPONSE> - extends ClientTypedTracer { - - @Override - protected T startSpan(REQUEST request, T span) { - Context context = Context.current().with(span); - OpenTelemetry.getGlobalPropagators() - .getTextMapPropagator() - .inject(context, request, getSetter()); - return super.startSpan(request, span); - } - - protected abstract TextMapPropagator.Setter getSetter(); -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedSpan.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedSpan.java deleted file mode 100644 index 6a2a72e7ac..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedSpan.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.server; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.javaagent.typed.base.BaseTypedSpan; - -public abstract class ServerTypedSpan - extends BaseTypedSpan { - - public ServerTypedSpan(Span delegate) { - super(delegate); - } - - protected abstract T onRequest(REQUEST request); - - protected abstract T onResponse(RESPONSE response); - - public void end(RESPONSE response) { - onResponse(response).end(); - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedTracer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedTracer.java deleted file mode 100644 index aa6befe277..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/ServerTypedTracer.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.server; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.javaagent.typed.base.BaseTypedTracer; - -public abstract class ServerTypedTracer< - T extends ServerTypedSpan, REQUEST, RESPONSE> - extends BaseTypedTracer { - - @Override - protected Span.Kind getSpanKind() { - return Span.Kind.SERVER; - } - - @Override - protected T startSpan(REQUEST request, T span) { - return span.onRequest(request); - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedSpan.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedSpan.java deleted file mode 100644 index d69e52a8e8..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedSpan.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.server.http; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.javaagent.typed.server.ServerTypedSpan; - -public abstract class HttpServerTypedSpan - extends ServerTypedSpan { - - public HttpServerTypedSpan(Span delegate) { - super(delegate); - } -} diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedTracer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedTracer.java deleted file mode 100644 index ee15c05355..0000000000 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/typed/server/http/HttpServerTypedTracer.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.server.http; - -import static io.opentelemetry.instrumentation.api.decorator.BaseDecorator.extract; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.context.propagation.TextMapPropagator; -import io.opentelemetry.javaagent.typed.server.ServerTypedTracer; - -public abstract class HttpServerTypedTracer< - T extends HttpServerTypedSpan, REQUEST, RESPONSE> - extends ServerTypedTracer { - - @Override - protected Span.Builder buildSpan(REQUEST request, Span.Builder spanBuilder) { - spanBuilder.setParent(extract(request, getGetter())); - return super.buildSpan(request, spanBuilder); - } - - protected abstract TextMapPropagator.Getter getGetter(); -} diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/test/HelperInjectionTest.groovy b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/test/HelperInjectionTest.groovy index fc6226d5fd..0629a45b3a 100644 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/test/HelperInjectionTest.groovy +++ b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/test/HelperInjectionTest.groovy @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.test import static io.opentelemetry.instrumentation.test.utils.ClasspathUtils.isClassLoaded -import static io.opentelemetry.instrumentation.util.gc.GCUtils.awaitGC +import static io.opentelemetry.instrumentation.util.gc.GcUtils.awaitGc import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.BOOTSTRAP_CLASSLOADER import io.opentelemetry.javaagent.tooling.AgentInstaller @@ -48,7 +48,7 @@ class HelperInjectionTest extends Specification { def ref = new WeakReference(emptyLoader.get()) emptyLoader.set(null) - awaitGC(ref) + awaitGc(ref) then: "HelperInjector doesn't prevent it from being collected" null == ref.get() @@ -94,7 +94,7 @@ class HelperInjectionTest extends Specification { def injectorRef = new WeakReference(injector.get()) injector.set(null) - awaitGC(injectorRef) + awaitGc(injectorRef) then: null == injectorRef.get() @@ -103,7 +103,7 @@ class HelperInjectionTest extends Specification { def loaderRef = new WeakReference(emptyLoader.get()) emptyLoader.set(null) - awaitGC(loaderRef) + awaitGc(loaderRef) then: null == loaderRef.get() diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/PeriodicSchedulingTest.groovy b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/PeriodicSchedulingTest.groovy index 51d2438050..bc31a78cea 100644 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/PeriodicSchedulingTest.groovy +++ b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/PeriodicSchedulingTest.groovy @@ -7,7 +7,7 @@ package io.opentelemetry.javaagent.tooling import static java.util.concurrent.TimeUnit.MILLISECONDS -import io.opentelemetry.instrumentation.util.gc.GCUtils +import io.opentelemetry.instrumentation.util.gc.GcUtils import java.lang.ref.WeakReference import java.util.concurrent.CountDownLatch import java.util.concurrent.atomic.AtomicInteger @@ -51,7 +51,7 @@ class PeriodicSchedulingTest extends Specification { when: CommonTaskExecutor.INSTANCE.scheduleAtFixedRate(task, target.get(), 10, 10, MILLISECONDS, "test") - GCUtils.awaitGC(target) + GcUtils.awaitGc(target) Thread.sleep(1) def snapshot = callCount.get() Thread.sleep(11) diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/WeakConcurrentSupplierTest.groovy b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/WeakConcurrentSupplierTest.groovy index 70d2bb6a0c..eee88b9d14 100644 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/WeakConcurrentSupplierTest.groovy +++ b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/WeakConcurrentSupplierTest.groovy @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.tooling -import io.opentelemetry.instrumentation.util.gc.GCUtils +import io.opentelemetry.instrumentation.util.gc.GcUtils import io.opentelemetry.javaagent.instrumentation.api.WeakMap import java.lang.ref.WeakReference import java.util.concurrent.TimeUnit @@ -51,7 +51,7 @@ class WeakConcurrentSupplierTest extends Specification { when: def supplierRef = new WeakReference(supplier) supplier = null - GCUtils.awaitGC(supplierRef) + GcUtils.awaitGc(supplierRef) then: ref.get() == null @@ -72,7 +72,7 @@ class WeakConcurrentSupplierTest extends Specification { when: def mapRef = new WeakReference(map) map = null - GCUtils.awaitGC(mapRef) + GcUtils.awaitGc(mapRef) then: ref.get() == null @@ -88,7 +88,7 @@ class WeakConcurrentSupplierTest extends Specification { setup: def key = new Object() map.put(key, "value") - GCUtils.awaitGC() + GcUtils.awaitGc() expect: map.size() == 1 @@ -96,7 +96,7 @@ class WeakConcurrentSupplierTest extends Specification { when: def keyRef = new WeakReference(key) key = null - GCUtils.awaitGC(keyRef) + GcUtils.awaitGc(keyRef) if (name == "WeakConcurrent") { // Sleep enough time for cleanup thread to get scheduled. diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/TypedTracerDemonstration.java b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/TypedTracerDemonstration.java deleted file mode 100644 index e6ac2e3026..0000000000 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/TypedTracerDemonstration.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed; - -import io.opentelemetry.context.Scope; -import io.opentelemetry.javaagent.typed.client.SampleHttpClientTypedSpan; -import io.opentelemetry.javaagent.typed.client.SampleHttpClientTypedTracer; -import io.opentelemetry.javaagent.typed.server.SampleHttpServerTypedSpan; -import io.opentelemetry.javaagent.typed.server.SampleHttpServerTypedTracer; - -class TypedTracerDemonstration { - - private void serverDemonstration() { - SampleHttpServerTypedTracer tracer = new SampleHttpServerTypedTracer(); - - SampleHttpServerTypedSpan span = tracer.startSpan("request instance"); - // span.onRequest("request instance"); // implicitly called on start. - - try (Scope scope = span.makeCurrent()) { - // make request - String response = "response instance"; - - span.end(response); - // span.onResponse("response instance"); // implicitly called on end. - } catch (Exception ex) { - span.end(ex); - } - } - - private void clientDemonstration() { - SampleHttpClientTypedTracer tracer = new SampleHttpClientTypedTracer(); - - SampleHttpClientTypedSpan span = tracer.startSpan("request instance"); - // span.onRequest("request instance"); // implicitly called on start. - - try (Scope scope = span.makeCurrent()) { - // make request - String response = "response instance"; - - span.end(response); - // span.onResponse("response instance"); // implicitly called on end. - } catch (Exception ex) { - span.end(ex); - } - } -} diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedSpan.java b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedSpan.java deleted file mode 100644 index 372e2ae573..0000000000 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedSpan.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.client; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.api.trace.StatusCode; -import io.opentelemetry.javaagent.typed.client.http.HttpClientTypedSpan; - -public class SampleHttpClientTypedSpan - extends HttpClientTypedSpan { - public SampleHttpClientTypedSpan(Span delegate) { - super(delegate); - } - - @Override - protected SampleHttpClientTypedSpan onRequest(String o) { - delegate.setAttribute("requested", true); - return this; - } - - @Override - protected SampleHttpClientTypedSpan onResponse(String o) { - delegate.setStatus(StatusCode.OK); - return this; - } - - @Override - protected SampleHttpClientTypedSpan self() { - return this; - } -} diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedTracer.java b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedTracer.java deleted file mode 100644 index e5d1eff905..0000000000 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/client/SampleHttpClientTypedTracer.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.client; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.context.propagation.TextMapPropagator; -import io.opentelemetry.javaagent.typed.client.http.HttpClientTypedTracer; - -public class SampleHttpClientTypedTracer - extends HttpClientTypedTracer { - @Override - protected String getInstrumentationName() { - return "test"; - } - - @Override - protected String getVersion() { - return "test"; - } - - @Override - protected String getSpanName(String o) { - return "test-span"; - } - - @Override - protected TextMapPropagator.Setter getSetter() { - return new TextMapPropagator.Setter() { - @Override - public void set(String carrier, String key, String value) {} - }; - } - - @Override - protected SampleHttpClientTypedSpan wrapSpan(Span span) { - return new SampleHttpClientTypedSpan(span); - } -} diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedSpan.java b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedSpan.java deleted file mode 100644 index 2b52efc81d..0000000000 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedSpan.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.server; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.api.trace.StatusCode; -import io.opentelemetry.javaagent.typed.server.http.HttpServerTypedSpan; - -public class SampleHttpServerTypedSpan - extends HttpServerTypedSpan { - public SampleHttpServerTypedSpan(Span delegate) { - super(delegate); - } - - @Override - protected SampleHttpServerTypedSpan onRequest(String o) { - delegate.setAttribute("requested", true); - return this; - } - - @Override - protected SampleHttpServerTypedSpan onResponse(String o) { - delegate.setStatus(StatusCode.OK); - return this; - } - - @Override - protected SampleHttpServerTypedSpan self() { - return this; - } -} diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedTracer.java b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedTracer.java deleted file mode 100644 index b8e294db21..0000000000 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/typed/server/SampleHttpServerTypedTracer.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.typed.server; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.context.propagation.TextMapPropagator; -import io.opentelemetry.javaagent.typed.server.http.HttpServerTypedTracer; - -public class SampleHttpServerTypedTracer - extends HttpServerTypedTracer { - @Override - protected String getInstrumentationName() { - return "test"; - } - - @Override - protected String getVersion() { - return "test"; - } - - @Override - protected String getSpanName(String o) { - return "test-span"; - } - - @Override - protected SampleHttpServerTypedSpan wrapSpan(Span span) { - return new SampleHttpServerTypedSpan(span); - } - - @Override - protected TextMapPropagator.Getter getGetter() { - return new TextMapPropagator.Getter() { - @Override - public Iterable keys(String s) { - return null; - } - - @Override - public String get(String carrier, String key) { - return null; - } - }; - } -} diff --git a/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/test/HelperClass.java b/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/test/HelperClass.java index 600384a24f..f926da3188 100644 --- a/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/test/HelperClass.java +++ b/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/test/HelperClass.java @@ -5,5 +5,5 @@ package io.opentelemetry.javaagent.test; -/** Used by {@link HelperInjectionTest} */ +/** Used by {@link HelperInjectionTest}. */ class HelperClass {} diff --git a/javaagent/src/main/java/io/opentelemetry/javaagent/OpenTelemetryAgent.java b/javaagent/src/main/java/io/opentelemetry/javaagent/OpenTelemetryAgent.java index 0b61c62c74..c95b550929 100644 --- a/javaagent/src/main/java/io/opentelemetry/javaagent/OpenTelemetryAgent.java +++ b/javaagent/src/main/java/io/opentelemetry/javaagent/OpenTelemetryAgent.java @@ -54,14 +54,14 @@ public class OpenTelemetryAgent { public static void agentmain(String agentArgs, Instrumentation inst) { try { - URL bootstrapURL = installBootstrapJar(inst); + URL bootstrapUrl = installBootstrapJar(inst); Class agentInitializerClass = ClassLoader.getSystemClassLoader() .loadClass("io.opentelemetry.javaagent.bootstrap.AgentInitializer"); Method startMethod = agentInitializerClass.getMethod("initialize", Instrumentation.class, URL.class); - startMethod.invoke(null, inst, bootstrapURL); + startMethod.invoke(null, inst, bootstrapUrl); } catch (Throwable ex) { // Don't rethrow. We don't have a log manager here, so just print. System.err.println("ERROR " + thisClass.getName()); @@ -82,19 +82,19 @@ public class OpenTelemetryAgent { private static synchronized URL installBootstrapJar(Instrumentation inst) throws IOException, URISyntaxException { - URL javaAgentJarURL = null; + URL javaAgentJarUrl = null; // First try Code Source CodeSource codeSource = thisClass.getProtectionDomain().getCodeSource(); if (codeSource != null) { - javaAgentJarURL = codeSource.getLocation(); - File bootstrapFile = new File(javaAgentJarURL.toURI()); + javaAgentJarUrl = codeSource.getLocation(); + File bootstrapFile = new File(javaAgentJarUrl.toURI()); if (!bootstrapFile.isDirectory()) { - checkJarManifestMainClassIsThis(javaAgentJarURL); + checkJarManifestMainClassIsThis(javaAgentJarUrl); inst.appendToBootstrapClassLoaderSearch(new JarFile(bootstrapFile)); - return javaAgentJarURL; + return javaAgentJarUrl; } } @@ -105,7 +105,7 @@ public class OpenTelemetryAgent { // - On IBM-based JDKs since at least 1.7 // This prevents custom log managers from working correctly // Use reflection to bypass the loading of the class - List arguments = getVMArgumentsThroughReflection(); + List arguments = getVmArgumentsThroughReflection(); String agentArgument = null; for (String arg : arguments) { @@ -135,14 +135,14 @@ public class OpenTelemetryAgent { if (!(javaagentFile.exists() || javaagentFile.isFile())) { throw new RuntimeException("Unable to find javaagent file: " + javaagentFile); } - javaAgentJarURL = javaagentFile.toURI().toURL(); - checkJarManifestMainClassIsThis(javaAgentJarURL); + javaAgentJarUrl = javaagentFile.toURI().toURL(); + checkJarManifestMainClassIsThis(javaAgentJarUrl); inst.appendToBootstrapClassLoaderSearch(new JarFile(javaagentFile)); - return javaAgentJarURL; + return javaAgentJarUrl; } - private static List getVMArgumentsThroughReflection() { + private static List getVmArgumentsThroughReflection() { try { // Try Oracle-based Class managementFactoryHelperClass = @@ -167,8 +167,8 @@ public class OpenTelemetryAgent { } catch (ReflectiveOperationException e) { try { // Try IBM-based. - Class VMClass = thisClass.getClassLoader().loadClass("com.ibm.oti.vm.VM"); - String[] argArray = (String[]) VMClass.getMethod("getVMArgs").invoke(null); + Class vmClass = thisClass.getClassLoader().loadClass("com.ibm.oti.vm.VM"); + String[] argArray = (String[]) vmClass.getMethod("getVMArgs").invoke(null); return Arrays.asList(argArray); } catch (ReflectiveOperationException e1) { // Fallback to default diff --git a/javaagent/src/test/groovy/io/opentelemetry/javaagent/classloading/ClassLoadingTest.groovy b/javaagent/src/test/groovy/io/opentelemetry/javaagent/classloading/ClassLoadingTest.groovy index 28094699d9..f24f3014af 100644 --- a/javaagent/src/test/groovy/io/opentelemetry/javaagent/classloading/ClassLoadingTest.groovy +++ b/javaagent/src/test/groovy/io/opentelemetry/javaagent/classloading/ClassLoadingTest.groovy @@ -7,7 +7,7 @@ package io.opentelemetry.javaagent.classloading import static io.opentelemetry.javaagent.IntegrationTestUtils.createJarWithClasses -import io.opentelemetry.instrumentation.util.gc.GCUtils +import io.opentelemetry.instrumentation.util.gc.GcUtils import io.opentelemetry.javaagent.ClassToInstrument import io.opentelemetry.javaagent.ClassToInstrumentChild import java.lang.ref.WeakReference @@ -44,7 +44,7 @@ class ClassLoadingTest extends Specification { loader.loadClass(ClassToInstrument.getName()) loader = null - GCUtils.awaitGC(ref) + GcUtils.awaitGc(ref) then: null == ref.get() diff --git a/javaagent/src/test/java/io/opentelemetry/javaagent/IntegrationTestUtils.java b/javaagent/src/test/java/io/opentelemetry/javaagent/IntegrationTestUtils.java index a463318d8d..ef4d66b7e4 100644 --- a/javaagent/src/test/java/io/opentelemetry/javaagent/IntegrationTestUtils.java +++ b/javaagent/src/test/java/io/opentelemetry/javaagent/IntegrationTestUtils.java @@ -59,17 +59,18 @@ public class IntegrationTestUtils { } } - /** Returns the URL to the jar the agent appended to the bootstrap classpath * */ + /** Returns the URL to the jar the agent appended to the bootstrap classpath. */ public static ClassLoader getBootstrapProxy() throws Exception { ClassLoader agentClassLoader = getAgentClassLoader(); Method getBootstrapProxy = agentClassLoader.getClass().getMethod("getBootstrapProxy"); return (ClassLoader) getBootstrapProxy.invoke(agentClassLoader); } - /** See {@link IntegrationTestUtils#createJarWithClasses(String, Class[])} */ + /** See {@link IntegrationTestUtils#createJarWithClasses(String, Class[])}. */ public static URL createJarWithClasses(Class... classes) throws IOException { return createJarWithClasses(null, classes); } + /** * Create a temporary jar on the filesystem with the bytes of the given classes. * @@ -78,7 +79,6 @@ public class IntegrationTestUtils { * @param mainClassname The name of the class to use for Main-Class and Premain-Class. May be null * @param classes classes to package into the jar. * @return the location of the newly created jar. - * @throws IOException */ public static URL createJarWithClasses(String mainClassname, Class... classes) throws IOException { @@ -129,7 +129,7 @@ public class IntegrationTestUtils { } } - /** com.foo.Bar -> com/foo/Bar.class */ + // com.foo.Bar -> com/foo/Bar.class public static String getResourceName(String className) { return className.replace('.', '/') + ".class"; } @@ -179,7 +179,6 @@ public class IntegrationTestUtils { * @param mainClassName The name of the entry point class. Must declare a main method. * @param printOutputStreams if true, print stdout and stderr of the child jvm * @return the return code of the child jvm - * @throws Exception */ public static int runOnSeparateJvm( String mainClassName, diff --git a/javaagent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java b/javaagent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java index 0e80a0eb1f..dc6870f757 100644 --- a/javaagent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java +++ b/javaagent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java @@ -12,7 +12,7 @@ public class AgentLoadedChecker { public static void main(String[] args) throws ClassNotFoundException { // Empty classloader that delegates to bootstrap URLClassLoader emptyClassLoader = new URLClassLoader(new URL[] {}, null); - Class agentClass = + Class agentClass = emptyClassLoader.loadClass("io.opentelemetry.javaagent.bootstrap.AgentInitializer"); if (agentClass.getClassLoader() != null) { diff --git a/settings.gradle b/settings.gradle index c93fd7990a..aa39b93d62 100644 --- a/settings.gradle +++ b/settings.gradle @@ -137,9 +137,9 @@ include ':instrumentation:log4j:log4j-2.7' include ':instrumentation:log4j:log4j-2.13.2:javaagent' include ':instrumentation:log4j:log4j-2.13.2:library' include ':instrumentation:log4j:log4j-2-testing' -include ':instrumentation:logback:logback-1.0.0:javaagent' -include ':instrumentation:logback:logback-1.0.0:library' -include ':instrumentation:logback:logback-1.0.0:testing' +include ':instrumentation:logback:logback-1.0:javaagent' +include ':instrumentation:logback:logback-1.0:library' +include ':instrumentation:logback:logback-1.0:testing' include ':instrumentation:mongo:mongo-3.1' include ':instrumentation:mongo:mongo-3.7' include ':instrumentation:mongo:mongo-async-3.3' diff --git a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/AgentTestRunner.java b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/AgentTestRunner.java index c6939611b0..0ce2c01145 100644 --- a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/AgentTestRunner.java +++ b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/AgentTestRunner.java @@ -144,9 +144,10 @@ public abstract class AgentTestRunner extends Specification { } /** + * Returns true if the class under load should be transformed for this test. + * * @param className name of the class being loaded * @param classLoader classloader class is being defined on - * @return true if the class under load should be transformed for this test. */ protected boolean shouldTransformClass(String className, ClassLoader classLoader) { return true; diff --git a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ClasspathUtils.java b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ClasspathUtils.java index 21660356fc..5d6359ff57 100644 --- a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ClasspathUtils.java +++ b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ClasspathUtils.java @@ -62,7 +62,6 @@ public class ClasspathUtils { * @param loader classloader used to load bytes * @param resourceNames names of resources to copy into the new jar * @return the location of the newly created jar. - * @throws IOException */ public static URL createJarWithClasses(ClassLoader loader, String... resourceNames) throws IOException { @@ -94,7 +93,6 @@ public class ClasspathUtils { * * @param classes classes to package into the jar. * @return the location of the newly created jar. - * @throws IOException */ public static URL createJarWithClasses(Class... classes) throws IOException { File tmpJar = File.createTempFile(UUID.randomUUID().toString() + "", ".jar"); diff --git a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ExceptionUtils.java b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ExceptionUtils.java index 2c3cb3483a..a103757012 100644 --- a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ExceptionUtils.java +++ b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/utils/ExceptionUtils.java @@ -8,7 +8,9 @@ package io.opentelemetry.instrumentation.test.utils; public class ExceptionUtils { static RuntimeException sneakyThrow(Throwable t) { - if (t == null) throw new NullPointerException("t"); + if (t == null) { + throw new NullPointerException("t"); + } return ExceptionUtils.sneakyThrow0(t); } diff --git a/testing-common/src/test/groovy/context/FieldBackedProviderTest.groovy b/testing-common/src/test/groovy/context/FieldBackedProviderTest.groovy index 07da5cb8b6..32e3ae7f1e 100644 --- a/testing-common/src/test/groovy/context/FieldBackedProviderTest.groovy +++ b/testing-common/src/test/groovy/context/FieldBackedProviderTest.groovy @@ -13,7 +13,7 @@ import static context.ContextTestInstrumentationModule.UntransformableKeyClass import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.utils.ClasspathUtils -import io.opentelemetry.instrumentation.util.gc.GCUtils +import io.opentelemetry.instrumentation.util.gc.GcUtils import java.lang.instrument.ClassDefinition import java.lang.ref.WeakReference import java.lang.reflect.Field @@ -155,7 +155,7 @@ class FieldBackedProviderTest extends AgentTestRunner { int count = keyValue.get().incrementContextCount() WeakReference instanceRef = new WeakReference(keyValue.get()) keyValue.set(null) - GCUtils.awaitGC(instanceRef) + GcUtils.awaitGc(instanceRef) then: instanceRef.get() == null diff --git a/testing-common/src/test/groovy/muzzle/ReferenceCollectorTest.groovy b/testing-common/src/test/groovy/muzzle/ReferenceCollectorTest.groovy index 0e78d4d42a..67707c2d9d 100644 --- a/testing-common/src/test/groovy/muzzle/ReferenceCollectorTest.groovy +++ b/testing-common/src/test/groovy/muzzle/ReferenceCollectorTest.groovy @@ -44,23 +44,23 @@ class ReferenceCollectorTest extends AgentTestRunner { bRef.flags.contains(MinimumVisibilityFlag.PACKAGE_OR_HIGHER) // method refs - assertMethod bRef, 'aMethod', '(Ljava/lang/String;)Ljava/lang/String;', + assertMethod bRef, 'method', '(Ljava/lang/String;)Ljava/lang/String;', MinimumVisibilityFlag.PROTECTED_OR_HIGHER, OwnershipFlag.NON_STATIC - assertMethod bRef, 'aMethodWithPrimitives', '(Z)V', + assertMethod bRef, 'methodWithPrimitives', '(Z)V', MinimumVisibilityFlag.PROTECTED_OR_HIGHER, OwnershipFlag.NON_STATIC - assertMethod bRef, 'aStaticMethod', '()V', + assertMethod bRef, 'staticMethod', '()V', MinimumVisibilityFlag.PROTECTED_OR_HIGHER, OwnershipFlag.STATIC - assertMethod bRef, 'aMethodWithArrays', '([Ljava/lang/String;)[Ljava/lang/Object;', + assertMethod bRef, 'methodWithArrays', '([Ljava/lang/String;)[Ljava/lang/Object;', MinimumVisibilityFlag.PROTECTED_OR_HIGHER, OwnershipFlag.NON_STATIC // field refs bRef.fields.isEmpty() aRef.fields.size() == 2 - assertField aRef, 'b', MinimumVisibilityFlag.PACKAGE_OR_HIGHER, OwnershipFlag.NON_STATIC + assertField aRef, 'publicB', MinimumVisibilityFlag.PACKAGE_OR_HIGHER, OwnershipFlag.NON_STATIC assertField aRef, 'staticB', MinimumVisibilityFlag.PACKAGE_OR_HIGHER, OwnershipFlag.STATIC } diff --git a/testing-common/src/test/groovy/muzzle/ReferenceMatcherTest.groovy b/testing-common/src/test/groovy/muzzle/ReferenceMatcherTest.groovy index 07857e3993..914578fec1 100644 --- a/testing-common/src/test/groovy/muzzle/ReferenceMatcherTest.groovy +++ b/testing-common/src/test/groovy/muzzle/ReferenceMatcherTest.groovy @@ -131,12 +131,12 @@ class ReferenceMatcherTest extends AgentTestRunner { where: methodName | methodDesc | methodFlags | classToCheck | expectedMismatches | methodTestDesc - "aMethod" | "(Ljava/lang/String;)Ljava/lang/String;" | [] | MethodBodyAdvice.B | [] | "match method declared in class" + "method" | "(Ljava/lang/String;)Ljava/lang/String;" | [] | MethodBodyAdvice.B | [] | "match method declared in class" "hashCode" | "()I" | [] | MethodBodyAdvice.B | [] | "match method declared in superclass" "someMethod" | "()V" | [] | MethodBodyAdvice.SomeInterface | [] | "match method declared in interface" "privateStuff" | "()V" | [PRIVATE_OR_HIGHER] | MethodBodyAdvice.B | [] | "match private method" "privateStuff" | "()V" | [PROTECTED_OR_HIGHER] | MethodBodyAdvice.B2 | [MissingFlag] | "fail match private in supertype" - "aStaticMethod" | "()V" | [NON_STATIC] | MethodBodyAdvice.B | [MissingFlag] | "static method mismatch" + "staticMethod" | "()V" | [NON_STATIC] | MethodBodyAdvice.B | [MissingFlag] | "static method mismatch" "missingMethod" | "()V" | [] | MethodBodyAdvice.B | [MissingMethod] | "missing method mismatch" } diff --git a/testing-common/src/test/java/IBMResourceLevelInstrumentation.java b/testing-common/src/test/java/IbmResourceLevelInstrumentation.java similarity index 89% rename from testing-common/src/test/java/IBMResourceLevelInstrumentation.java rename to testing-common/src/test/java/IbmResourceLevelInstrumentation.java index 1f68cba6ec..23c66cbe3a 100644 --- a/testing-common/src/test/java/IBMResourceLevelInstrumentation.java +++ b/testing-common/src/test/java/IbmResourceLevelInstrumentation.java @@ -18,9 +18,9 @@ import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(InstrumentationModule.class) -public class IBMResourceLevelInstrumentation extends InstrumentationModule { - public IBMResourceLevelInstrumentation() { - super(IBMResourceLevelInstrumentation.class.getName()); +public class IbmResourceLevelInstrumentation extends InstrumentationModule { + public IbmResourceLevelInstrumentation() { + super(IbmResourceLevelInstrumentation.class.getName()); } @Override diff --git a/testing-common/src/test/java/io/opentelemetry/instrumentation/TestHelperClasses.java b/testing-common/src/test/java/io/opentelemetry/instrumentation/TestHelperClasses.java index 21959561a5..e31a04223b 100644 --- a/testing-common/src/test/java/io/opentelemetry/instrumentation/TestHelperClasses.java +++ b/testing-common/src/test/java/io/opentelemetry/instrumentation/TestHelperClasses.java @@ -34,12 +34,15 @@ public class TestHelperClasses { public interface AnotherHelperInterface extends HelperInterface { void bar(); + @Override int hashCode(); + @Override boolean equals(Object other); Object clone(); + @SuppressWarnings("checkstyle:NoFinalizer") void finalize(); } diff --git a/testing-common/src/test/java/muzzle/MuzzleWeakReferenceTest.java b/testing-common/src/test/java/muzzle/MuzzleWeakReferenceTest.java index e15a50632e..fbad69a135 100644 --- a/testing-common/src/test/java/muzzle/MuzzleWeakReferenceTest.java +++ b/testing-common/src/test/java/muzzle/MuzzleWeakReferenceTest.java @@ -5,7 +5,7 @@ package muzzle; -import io.opentelemetry.instrumentation.util.gc.GCUtils; +import io.opentelemetry.instrumentation.util.gc.GcUtils; import io.opentelemetry.javaagent.tooling.muzzle.Reference; import io.opentelemetry.javaagent.tooling.muzzle.collector.ReferenceCollector; import io.opentelemetry.javaagent.tooling.muzzle.matcher.ReferenceMatcher; @@ -29,7 +29,7 @@ public class MuzzleWeakReferenceTest { ReferenceMatcher refMatcher = new ReferenceMatcher(refs); refMatcher.getMismatchedReferenceSources(loader); loader = null; - GCUtils.awaitGC(clRef); + GcUtils.awaitGc(clRef); return clRef.get() == null; } } diff --git a/testing-common/src/test/java/muzzle/TestClasses.java b/testing-common/src/test/java/muzzle/TestClasses.java index 62720b5ce9..eaf6603e2c 100644 --- a/testing-common/src/test/java/muzzle/TestClasses.java +++ b/testing-common/src/test/java/muzzle/TestClasses.java @@ -16,28 +16,28 @@ public class TestClasses { A a = new A(); SomeInterface inter = new SomeImplementation(); inter.someMethod(); - a.b.aMethod("foo"); - a.b.aMethodWithPrimitives(false); - a.b.aMethodWithArrays(new String[0]); - B.aStaticMethod(); - A.staticB.aMethod("bar"); + a.publicB.method("foo"); + a.publicB.methodWithPrimitives(false); + a.publicB.methodWithArrays(new String[0]); + B.staticMethod(); + A.staticB.method("bar"); } public static class A { - public B b = new B(); + public B publicB = new B(); protected Object protectedField = null; private final Object privateField = null; public static B staticB = new B(); } public static class B { - public String aMethod(String s) { + public String method(String s) { return s; } - public void aMethodWithPrimitives(boolean b) {} + public void methodWithPrimitives(boolean b) {} - public Object[] aMethodWithArrays(String[] s) { + public Object[] methodWithArrays(String[] s) { return s; } @@ -45,7 +45,7 @@ public class TestClasses { protected void protectedMethod() {} - public static void aStaticMethod() {} + public static void staticMethod() {} } public static class B2 extends B { @@ -91,7 +91,7 @@ public class TestClasses { public static class InDyAdvice { // public static MethodBodyAdvice.SomeInterface indyMethod( // final MethodBodyAdvice.SomeImplementation a) { - // Runnable aStaticMethod = MethodBodyAdvice.B::aStaticMethod; + // Runnable staticMethod = MethodBodyAdvice.B::staticMethod; // return a::someMethod; // } } diff --git a/utils/test-utils/src/main/java/io/opentelemetry/instrumentation/util/gc/GCUtils.java b/utils/test-utils/src/main/java/io/opentelemetry/instrumentation/util/gc/GcUtils.java similarity index 73% rename from utils/test-utils/src/main/java/io/opentelemetry/instrumentation/util/gc/GCUtils.java rename to utils/test-utils/src/main/java/io/opentelemetry/instrumentation/util/gc/GcUtils.java index a52091b9b7..f76eccd323 100644 --- a/utils/test-utils/src/main/java/io/opentelemetry/instrumentation/util/gc/GCUtils.java +++ b/utils/test-utils/src/main/java/io/opentelemetry/instrumentation/util/gc/GcUtils.java @@ -7,16 +7,16 @@ package io.opentelemetry.instrumentation.util.gc; import java.lang.ref.WeakReference; -public abstract class GCUtils { +public abstract class GcUtils { - public static void awaitGC() throws InterruptedException { + public static void awaitGc() throws InterruptedException { Object obj = new Object(); WeakReference ref = new WeakReference<>(obj); obj = null; - awaitGC(ref); + awaitGc(ref); } - public static void awaitGC(WeakReference ref) throws InterruptedException { + public static void awaitGc(WeakReference ref) throws InterruptedException { while (ref.get() != null) { if (Thread.interrupted()) { throw new InterruptedException();