From a9e4408bc312e9b05448f9bf6725816565ddf069 Mon Sep 17 00:00:00 2001 From: obltmachine <150269514+obltmachine@users.noreply.github.com> Date: Thu, 25 Jul 2024 12:48:49 +0200 Subject: [PATCH 01/98] post release: elastic-apm-agent v1.51.0 (#3732) Co-authored-by: obltmachine --- apm-agent-api/pom.xml | 2 +- apm-agent-attach-cli/pom.xml | 2 +- apm-agent-attach/pom.xml | 2 +- apm-agent-benchmarks/pom.xml | 2 +- apm-agent-bootstrap/pom.xml | 2 +- apm-agent-builds/apm-agent-java8/pom.xml | 2 +- apm-agent-builds/apm-agent/pom.xml | 2 +- apm-agent-builds/pom.xml | 2 +- apm-agent-cached-lookup-key/pom.xml | 2 +- apm-agent-common/pom.xml | 2 +- apm-agent-core/pom.xml | 2 +- apm-agent-lambda-layer/pom.xml | 2 +- apm-agent-plugin-sdk/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient-common/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml | 2 +- apm-agent-plugins/apm-apache-httpclient/pom.xml | 2 +- apm-agent-plugins/apm-api-plugin/pom.xml | 2 +- apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/pom.xml | 2 +- apm-agent-plugins/apm-awslambda-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra-core-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/pom.xml | 2 +- apm-agent-plugins/apm-dubbo-plugin/pom.xml | 2 +- apm-agent-plugins/apm-ecs-logging-plugin/pom.xml | 2 +- .../apm-es-restclient-plugin-5_6/pom.xml | 2 +- .../apm-es-restclient-plugin-6_4/pom.xml | 2 +- .../apm-es-restclient-plugin-7_x/pom.xml | 2 +- .../apm-es-restclient-plugin-8_x/pom.xml | 2 +- .../apm-es-restclient-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-es-restclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grails-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-grpc/pom.xml | 2 +- .../apm-hibernate-search-plugin-5_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-6_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-hibernate-search-plugin/pom.xml | 2 +- apm-agent-plugins/apm-httpclient-core/pom.xml | 2 +- apm-agent-plugins/apm-httpserver-core/pom.xml | 2 +- apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-concurrent-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-ldap-plugin/pom.xml | 2 +- apm-agent-plugins/apm-javalin-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxrs-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxws-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdbc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jmx-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jsf-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-base-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-kafka-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-jboss-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml | 2 +- .../apm-logback-plugin/apm-logback-plugin-impl/pom.xml | 2 +- .../apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-logging-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-micrometer-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-plugin/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-test/pom.xml | 2 +- .../apm-opentelemetry-embedded-metrics-sdk/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-common/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-latest/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-v1_14/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-parent/pom.xml | 2 +- .../apm-opentelemetry-metricsdk-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-test/pom.xml | 2 +- apm-agent-plugins/apm-opentelemetry/pom.xml | 2 +- apm-agent-plugins/apm-opentracing-plugin/pom.xml | 2 +- apm-agent-plugins/apm-process-plugin/pom.xml | 2 +- apm-agent-plugins/apm-profiling-plugin/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml | 2 +- apm-agent-plugins/apm-quartz/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/pom.xml | 2 +- apm-agent-plugins/apm-reactor-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/pom.xml | 2 +- apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml | 2 +- .../apm-scheduled-annotation-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml | 2 +- apm-agent-plugins/apm-servlet-jakarta-test/pom.xml | 2 +- apm-agent-plugins/apm-servlet-plugin/pom.xml | 2 +- apm-agent-plugins/apm-sparkjava-plugin/pom.xml | 2 +- .../apm-spring-resttemplate/apm-spring-restclient-test/pom.xml | 2 +- .../apm-spring-resttemplate-plugin/pom.xml | 2 +- .../apm-spring-resttemplate-test/pom.xml | 2 +- apm-agent-plugins/apm-spring-resttemplate/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webclient-plugin/pom.xml | 2 +- .../apm-spring-webflux-common-spring5/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-common/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-plugin/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-spring5/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-testapp/pom.xml | 2 +- apm-agent-plugins/apm-spring-webflux/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml | 2 +- apm-agent-plugins/apm-spring-webmvc/pom.xml | 2 +- apm-agent-plugins/apm-struts-plugin/pom.xml | 2 +- apm-agent-plugins/apm-urlconnection-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/pom.xml | 2 +- apm-agent-plugins/pom.xml | 2 +- apm-agent-tracer/pom.xml | 2 +- apm-opentracing/pom.xml | 2 +- cloudfoundry/index.yml | 1 + elastic-apm-agent-java8/pom.xml | 2 +- elastic-apm-agent-premain/pom.xml | 2 +- elastic-apm-agent/pom.xml | 2 +- integration-tests/application-server-integration-tests/pom.xml | 2 +- integration-tests/aws-lambda-test/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-dependent/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-standalone/pom.xml | 2 +- integration-tests/cdi-app/pom.xml | 2 +- .../cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml | 2 +- .../cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml | 2 +- integration-tests/cdi-jakartaee-app/pom.xml | 2 +- .../external-plugin-otel-test-app/pom.xml | 2 +- .../external-plugin-otel-test-plugin1/pom.xml | 2 +- .../external-plugin-otel-test-plugin2/pom.xml | 2 +- integration-tests/external-plugin-otel-test/pom.xml | 2 +- .../external-plugin-test/external-plugin-app/pom.xml | 2 +- .../external-plugin-test/external-plugin-jakarta-app/pom.xml | 2 +- integration-tests/external-plugin-test/external-plugin/pom.xml | 2 +- .../external-plugin-test/plugin-instrumentation-target/pom.xml | 2 +- integration-tests/external-plugin-test/pom.xml | 2 +- .../jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml | 2 +- .../jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml | 2 +- integration-tests/jakartaee-jsf-app/pom.xml | 2 +- integration-tests/jakartaee-simple-webapp/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-dependent/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-standalone/pom.xml | 2 +- integration-tests/jsf-app/pom.xml | 2 +- integration-tests/main-app-test/pom.xml | 2 +- integration-tests/pom.xml | 2 +- integration-tests/quarkus/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-base/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml | 2 +- integration-tests/runtime-attach/pom.xml | 2 +- integration-tests/runtime-attach/runtime-attach-app/pom.xml | 2 +- integration-tests/runtime-attach/runtime-attach-test/pom.xml | 2 +- integration-tests/simple-webapp/pom.xml | 2 +- integration-tests/soap-test/pom.xml | 2 +- integration-tests/spring-boot-1-5/pom.xml | 2 +- integration-tests/spring-boot-2/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-base/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml | 2 +- integration-tests/spring-boot-3/pom.xml | 2 +- integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml | 2 +- integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml | 2 +- integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml | 2 +- pom.xml | 2 +- 201 files changed, 201 insertions(+), 200 deletions(-) diff --git a/apm-agent-api/pom.xml b/apm-agent-api/pom.xml index d427230e91..6d9ba899ba 100644 --- a/apm-agent-api/pom.xml +++ b/apm-agent-api/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-api diff --git a/apm-agent-attach-cli/pom.xml b/apm-agent-attach-cli/pom.xml index 065db587e5..d51015ff75 100644 --- a/apm-agent-attach-cli/pom.xml +++ b/apm-agent-attach-cli/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-attach/pom.xml b/apm-agent-attach/pom.xml index 5b2c32d9b6..6fd4d62ca9 100644 --- a/apm-agent-attach/pom.xml +++ b/apm-agent-attach/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-attach diff --git a/apm-agent-benchmarks/pom.xml b/apm-agent-benchmarks/pom.xml index 08222ecfc4..d0350d7e7e 100644 --- a/apm-agent-benchmarks/pom.xml +++ b/apm-agent-benchmarks/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-benchmarks diff --git a/apm-agent-bootstrap/pom.xml b/apm-agent-bootstrap/pom.xml index ecc5bcec1e..c4445ccdc9 100644 --- a/apm-agent-bootstrap/pom.xml +++ b/apm-agent-bootstrap/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-bootstrap diff --git a/apm-agent-builds/apm-agent-java8/pom.xml b/apm-agent-builds/apm-agent-java8/pom.xml index 59a1a5fc3f..9b05bb9b73 100644 --- a/apm-agent-builds/apm-agent-java8/pom.xml +++ b/apm-agent-builds/apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-java8 diff --git a/apm-agent-builds/apm-agent/pom.xml b/apm-agent-builds/apm-agent/pom.xml index 0b7dd8d4b2..04934c3469 100644 --- a/apm-agent-builds/apm-agent/pom.xml +++ b/apm-agent-builds/apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.51.0 + 1.51.1-SNAPSHOT apm-agent diff --git a/apm-agent-builds/pom.xml b/apm-agent-builds/pom.xml index 0029da24a6..3db2ae4084 100644 --- a/apm-agent-builds/pom.xml +++ b/apm-agent-builds/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-cached-lookup-key/pom.xml b/apm-agent-cached-lookup-key/pom.xml index ae1c75e499..f41dd5097d 100644 --- a/apm-agent-cached-lookup-key/pom.xml +++ b/apm-agent-cached-lookup-key/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-common/pom.xml b/apm-agent-common/pom.xml index 57cfb78bd2..924a0357f7 100644 --- a/apm-agent-common/pom.xml +++ b/apm-agent-common/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-core/pom.xml b/apm-agent-core/pom.xml index db09a71f45..ce24e0ad24 100644 --- a/apm-agent-core/pom.xml +++ b/apm-agent-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-core diff --git a/apm-agent-lambda-layer/pom.xml b/apm-agent-lambda-layer/pom.xml index efd720b954..3ab82da949 100644 --- a/apm-agent-lambda-layer/pom.xml +++ b/apm-agent-lambda-layer/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugin-sdk/pom.xml b/apm-agent-plugin-sdk/pom.xml index 7217eddb6f..27706e99db 100644 --- a/apm-agent-plugin-sdk/pom.xml +++ b/apm-agent-plugin-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml index 6439fadad8..9901bfcac8 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-apache-httpclient-common diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml index ff116aeeb6..47a6b19496 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-apache-httpclient3-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml index 53336fe3ab..9157f397a8 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-apache-httpclient4-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml index 4d3590271f..22d0af460f 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-apache-httpclient - 1.51.0 + 1.51.1-SNAPSHOT apm-apache-httpclient5-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/pom.xml b/apm-agent-plugins/apm-apache-httpclient/pom.xml index a8374d09fc..b0c559b325 100644 --- a/apm-agent-plugins/apm-apache-httpclient/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-apache-httpclient diff --git a/apm-agent-plugins/apm-api-plugin/pom.xml b/apm-agent-plugins/apm-api-plugin/pom.xml index 9f3cbf2225..0bb0a3e491 100644 --- a/apm-agent-plugins/apm-api-plugin/pom.xml +++ b/apm-agent-plugins/apm-api-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT diff --git a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml index 66e6229ccc..af7b2ede94 100644 --- a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-asynchttpclient-plugin diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index 7f915e089f..29bec3055b 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index c1ff02d58e..3ec6d39ce9 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml index 3dc2c1668b..8550636006 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/pom.xml b/apm-agent-plugins/apm-aws-sdk/pom.xml index 61dd193c09..cf5a4851b1 100644 --- a/apm-agent-plugins/apm-aws-sdk/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-awslambda-plugin/pom.xml b/apm-agent-plugins/apm-awslambda-plugin/pom.xml index 8b4eca780b..46b29e71ca 100644 --- a/apm-agent-plugins/apm-awslambda-plugin/pom.xml +++ b/apm-agent-plugins/apm-awslambda-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml index 9cd920e9a2..24ea24fe4b 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml index 4cc7446cab..1135f9f07f 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml index f7dbbbf480..1a98e22218 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/pom.xml b/apm-agent-plugins/apm-cassandra/pom.xml index fab826204d..14a3204ca2 100644 --- a/apm-agent-plugins/apm-cassandra/pom.xml +++ b/apm-agent-plugins/apm-cassandra/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-dubbo-plugin/pom.xml b/apm-agent-plugins/apm-dubbo-plugin/pom.xml index a707d06b56..ebf63b002e 100644 --- a/apm-agent-plugins/apm-dubbo-plugin/pom.xml +++ b/apm-agent-plugins/apm-dubbo-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml index ffc9e4033d..c6754f8e56 100644 --- a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-ecs-logging-plugin diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml index 758569046c..6424494f05 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-es-restclient-plugin-5_6 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml index 300ccab1b1..af426f9ca7 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-es-restclient-plugin-6_4 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml index 7660076c6f..1d84390c6c 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-es-restclient-plugin-7_x diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml index 7a4a7b46fd..10d666c3f8 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml @@ -3,7 +3,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml index 2778da0d9f..b4b907ed14 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-es-restclient-plugin-common diff --git a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml index 09250d1596..0a84b33a61 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-es-restclient-plugin diff --git a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml index d25f5d4319..65571edd82 100644 --- a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-finagle-httpclient-plugin diff --git a/apm-agent-plugins/apm-grails-plugin/pom.xml b/apm-agent-plugins/apm-grails-plugin/pom.xml index 4017aadf9a..16ae512933 100644 --- a/apm-agent-plugins/apm-grails-plugin/pom.xml +++ b/apm-agent-plugins/apm-grails-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-grails-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml index f1fde89f83..6f13c623ce 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.51.0 + 1.51.1-SNAPSHOT apm-grpc-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml index 1655b678aa..d71232ac63 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.51.0 + 1.51.1-SNAPSHOT apm-grpc-test-1.6.1 diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml index a5bb1f5e22..e7565a0602 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.51.0 + 1.51.1-SNAPSHOT apm-grpc-test-latest diff --git a/apm-agent-plugins/apm-grpc/pom.xml b/apm-agent-plugins/apm-grpc/pom.xml index 6d38a3cc0e..111e38ae42 100644 --- a/apm-agent-plugins/apm-grpc/pom.xml +++ b/apm-agent-plugins/apm-grpc/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.0 + 1.51.1-SNAPSHOT apm-grpc diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml index ef65db9947..e8f963310e 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-hibernate-search-plugin-5_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml index 7bc19091d6..e7ca28c91f 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-hibernate-search-plugin-6_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml index 1a47414528..11a938e037 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-hibernate-search-plugin-common diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml index 757f11b5f7..9be6ce23e4 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-hibernate-search-plugin diff --git a/apm-agent-plugins/apm-httpclient-core/pom.xml b/apm-agent-plugins/apm-httpclient-core/pom.xml index eaf24bebbb..f0b89ca870 100644 --- a/apm-agent-plugins/apm-httpclient-core/pom.xml +++ b/apm-agent-plugins/apm-httpclient-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-httpclient-core diff --git a/apm-agent-plugins/apm-httpserver-core/pom.xml b/apm-agent-plugins/apm-httpserver-core/pom.xml index 163510ffa3..4a2745c2ad 100644 --- a/apm-agent-plugins/apm-httpserver-core/pom.xml +++ b/apm-agent-plugins/apm-httpserver-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-httpserver-core diff --git a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml index fc0f37632e..8615b71976 100644 --- a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml +++ b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jakarta-websocket-plugin diff --git a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml index 69f19dcb5d..68c19e3e27 100644 --- a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-java-concurrent-plugin diff --git a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml index 70de83e3c4..2a4ec0b14a 100644 --- a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-java-ldap-plugin diff --git a/apm-agent-plugins/apm-javalin-plugin/pom.xml b/apm-agent-plugins/apm-javalin-plugin/pom.xml index 555be4c392..d8c24d01b2 100644 --- a/apm-agent-plugins/apm-javalin-plugin/pom.xml +++ b/apm-agent-plugins/apm-javalin-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-javalin-plugin diff --git a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml index 684ec3a081..55b8825161 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml index d520542507..ee5fc7ae58 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jaxrs-plugin diff --git a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml index da66ac50f6..0e73af848f 100644 --- a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jaxws-plugin/pom.xml b/apm-agent-plugins/apm-jaxws-plugin/pom.xml index 36d0d5a2ba..b1965653e9 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jaxws-plugin diff --git a/apm-agent-plugins/apm-jdbc-plugin/pom.xml b/apm-agent-plugins/apm-jdbc-plugin/pom.xml index 1e7a3bddc6..082c36b5aa 100644 --- a/apm-agent-plugins/apm-jdbc-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdbc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jdbc-plugin diff --git a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml index bd7a2a381e..46347af96b 100644 --- a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jdk-httpclient-plugin diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml index 13fc68cde5..9070bf903e 100644 --- a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jdk-httpserver-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml index b87eb8bed6..8e30a0d121 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml index ab9b2b298c..5e77921d4c 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml index ea785a8871..fdc5f486c2 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jms-plugin-base diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml index f45ee0fa4d..3657fd3506 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jms-spring-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/pom.xml index 4ca39439d7..feca4e14ae 100644 --- a/apm-agent-plugins/apm-jms-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jms-plugin diff --git a/apm-agent-plugins/apm-jmx-plugin/pom.xml b/apm-agent-plugins/apm-jmx-plugin/pom.xml index 20b22ae2d2..5e1541e1a0 100644 --- a/apm-agent-plugins/apm-jmx-plugin/pom.xml +++ b/apm-agent-plugins/apm-jmx-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jmx-plugin diff --git a/apm-agent-plugins/apm-jsf-plugin/pom.xml b/apm-agent-plugins/apm-jsf-plugin/pom.xml index 1148fe925a..c062f74132 100644 --- a/apm-agent-plugins/apm-jsf-plugin/pom.xml +++ b/apm-agent-plugins/apm-jsf-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jsf-plugin diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml index b9fdc06b5e..342aad4514 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml @@ -3,7 +3,7 @@ apm-kafka-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml index b968cfd1d7..39126f76d7 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml index de89a04e68..9c693fddfc 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/pom.xml index 5a97ca94bd..fcadf2b280 100644 --- a/apm-agent-plugins/apm-kafka-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml index b42612dc96..5f798fd24f 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jboss-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml index db37c7ad82..9a1106ccd0 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jul-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml index c16057dc69..99719c602f 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-log4j1-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml index e783ce77ae..b99e850e8b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-log4j2-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml index f7bbb07d4f..053988061e 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-logback-plugin-impl diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml index 4fd0893477..7003df0af7 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-logback-plugin-legacy-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml index c1bb26be24..c25ddf9495 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-logback-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml index aa15887e3d..5ec0b4d507 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-logging-plugin-common diff --git a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml index ef68a3977c..9d55e6ac5b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-slf4j-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml index 6ab4ccfb14..1df7f08b20 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-tomcat-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/pom.xml index 6cded057a0..628560fea3 100644 --- a/apm-agent-plugins/apm-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-logging-plugin diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index e30162460a..9e9fa81c57 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml index 349cb74464..99891b2ed3 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml @@ -4,7 +4,7 @@ apm-mongodb co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml index 7f23b23c74..d10284cbca 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-mongodb co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml index fd0b75ed2f..5459da8cbc 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-mongodb co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-mongodb4-plugin diff --git a/apm-agent-plugins/apm-mongodb/pom.xml b/apm-agent-plugins/apm-mongodb/pom.xml index 87fa2da510..133458b767 100644 --- a/apm-agent-plugins/apm-mongodb/pom.xml +++ b/apm-agent-plugins/apm-mongodb/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-mongodb diff --git a/apm-agent-plugins/apm-okhttp-plugin/pom.xml b/apm-agent-plugins/apm-okhttp-plugin/pom.xml index 752edab5f8..d6e07baa3b 100644 --- a/apm-agent-plugins/apm-okhttp-plugin/pom.xml +++ b/apm-agent-plugins/apm-okhttp-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-okhttp-plugin diff --git a/apm-agent-plugins/apm-okhttp-test/pom.xml b/apm-agent-plugins/apm-okhttp-test/pom.xml index 7a78147ab3..e9365e76e8 100644 --- a/apm-agent-plugins/apm-okhttp-test/pom.xml +++ b/apm-agent-plugins/apm-okhttp-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml index 69d5af0b44..fc8ad510f9 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.0 + 1.51.1-SNAPSHOT apm-opentelemetry-embedded-metrics-sdk diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml index b2a0ebe0f7..78e0fa7059 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml index bdd3d6c2d3..8e25eb55cf 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml index c259be6795..97cbb1e990 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml index a4a0ff3907..60be65af33 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml index 04712e4f46..edfc2b830e 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.0 + 1.51.1-SNAPSHOT apm-opentelemetry-metricsdk-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml index e049ee0caa..a8844b9f65 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.0 + 1.51.1-SNAPSHOT apm-opentelemetry-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml index f1ed785e52..592e6d5dae 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.0 + 1.51.1-SNAPSHOT ${project.groupId}:${project.artifactId} diff --git a/apm-agent-plugins/apm-opentelemetry/pom.xml b/apm-agent-plugins/apm-opentelemetry/pom.xml index b1643fd8e5..f8d496dd53 100644 --- a/apm-agent-plugins/apm-opentelemetry/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.0 + 1.51.1-SNAPSHOT apm-opentelemetry diff --git a/apm-agent-plugins/apm-opentracing-plugin/pom.xml b/apm-agent-plugins/apm-opentracing-plugin/pom.xml index d497b04a43..7a762dbea9 100644 --- a/apm-agent-plugins/apm-opentracing-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentracing-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-opentracing-plugin diff --git a/apm-agent-plugins/apm-process-plugin/pom.xml b/apm-agent-plugins/apm-process-plugin/pom.xml index 44830d677a..2cf9802024 100644 --- a/apm-agent-plugins/apm-process-plugin/pom.xml +++ b/apm-agent-plugins/apm-process-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-profiling-plugin/pom.xml b/apm-agent-plugins/apm-profiling-plugin/pom.xml index 1110191a05..12485764bc 100644 --- a/apm-agent-plugins/apm-profiling-plugin/pom.xml +++ b/apm-agent-plugins/apm-profiling-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-profiling-plugin diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml index 38c1c1f67c..8b6121e2f5 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml index 4f1c20260c..44373949da 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml index c9e49dcbfc..cfba29dd02 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/pom.xml b/apm-agent-plugins/apm-quartz/pom.xml index d1abbaa31f..9be38d14ad 100644 --- a/apm-agent-plugins/apm-quartz/pom.xml +++ b/apm-agent-plugins/apm-quartz/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-quartz diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml index f8065e3f8b..fbb46bdd72 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-rabbitmq-plugin diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml index 11278f1746..90bf799ab8 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-rabbitmq-spring diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml index 277a893018..f495a0f365 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-rabbitmq-test-3 diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml index a96df80934..8f8b724dcc 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-rabbitmq-test-4 diff --git a/apm-agent-plugins/apm-rabbitmq/pom.xml b/apm-agent-plugins/apm-rabbitmq/pom.xml index 7ee5a9bce2..45664b43a0 100644 --- a/apm-agent-plugins/apm-rabbitmq/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-rabbitmq diff --git a/apm-agent-plugins/apm-reactor-plugin/pom.xml b/apm-agent-plugins/apm-reactor-plugin/pom.xml index a5ba1e858a..53b2405c96 100644 --- a/apm-agent-plugins/apm-reactor-plugin/pom.xml +++ b/apm-agent-plugins/apm-reactor-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.0 + 1.51.1-SNAPSHOT apm-reactor-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml index a18f749aea..0989546e26 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jedis-2-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml index 884abcd4bb..37f1484d27 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jedis-3-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml index 1a254e62b8..442233cb08 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jedis-4-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index 1a2b55695f..109670c4da 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jedis-5-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml index 011369298f..1949a34663 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-jedis-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml index 3222af65d1..b979432431 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml index 09e489d14d..3a80de7bea 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml index 162b49ce34..354e3704e7 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-redis-common diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml index 3affe7abf0..f31a7dfadd 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-redisson-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/pom.xml index d0ddda2d60..23ef97813a 100644 --- a/apm-agent-plugins/apm-redis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-redis-plugin diff --git a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml index 5082c7b807..2574b74a06 100644 --- a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-scala-concurrent-plugin diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml index 518805891c..ddebdeeaca 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml index 33aee9d478..d6065b1024 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-scheduled-annotation-plugin diff --git a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml index 8d9f648693..f679bbb3e8 100644 --- a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml +++ b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-servlet-jakarta-test diff --git a/apm-agent-plugins/apm-servlet-plugin/pom.xml b/apm-agent-plugins/apm-servlet-plugin/pom.xml index 951f02fc31..092684376e 100644 --- a/apm-agent-plugins/apm-servlet-plugin/pom.xml +++ b/apm-agent-plugins/apm-servlet-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-servlet-plugin diff --git a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml index d153339d75..95f46a1377 100644 --- a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml +++ b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml index 913eaa4f1a..4af4ae49cd 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-restclient-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml index 8cad64b281..73daefb71e 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-resttemplate-plugin diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml index 01d9ddd8bb..c794247af3 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-resttemplate-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/pom.xml index e4fca8d718..9f92e256eb 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-resttemplate diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml index e0b395c222..da48b47b60 100755 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webclient-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml index 709fab3dec..5725642bd1 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webflux-common-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml index c74d903e43..9d831b7f0c 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webflux-common diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml index 84d32fc284..2c5a7fb61d 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webflux-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml index b67b4f557f..b4ae541335 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webflux-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml index 3ee5822e47..fa44c7deb7 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webflux-testapp diff --git a/apm-agent-plugins/apm-spring-webflux/pom.xml b/apm-agent-plugins/apm-spring-webflux/pom.xml index 1adb5c4be6..ee32aacf9a 100644 --- a/apm-agent-plugins/apm-spring-webflux/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webflux diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml index 60b3f76d98..9abf559c37 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webmvc-plugin diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml index 222383f9bc..f24896085a 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-spring-webmvc-spring5 diff --git a/apm-agent-plugins/apm-spring-webmvc/pom.xml b/apm-agent-plugins/apm-spring-webmvc/pom.xml index f9e77d6ec7..2bf6986a6b 100644 --- a/apm-agent-plugins/apm-spring-webmvc/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-struts-plugin/pom.xml b/apm-agent-plugins/apm-struts-plugin/pom.xml index 980c347b79..5f9d1edb4b 100644 --- a/apm-agent-plugins/apm-struts-plugin/pom.xml +++ b/apm-agent-plugins/apm-struts-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml index 94ddfc5991..c1542fdc1e 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml +++ b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-urlconnection-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml index 22a47b31e2..27514472b0 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-vertx-common diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml index e9db76719b..21b409d644 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-vertx3-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml index 1792484614..97ae491df5 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-vertx3-test-latest diff --git a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml index 05e2c35acd..c6a6b179b9 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-vertx4-plugin diff --git a/apm-agent-plugins/apm-vertx/pom.xml b/apm-agent-plugins/apm-vertx/pom.xml index b448af06bd..a4b8460460 100644 --- a/apm-agent-plugins/apm-vertx/pom.xml +++ b/apm-agent-plugins/apm-vertx/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-vertx diff --git a/apm-agent-plugins/pom.xml b/apm-agent-plugins/pom.xml index a1e1c95e9a..050334cb03 100644 --- a/apm-agent-plugins/pom.xml +++ b/apm-agent-plugins/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-plugins diff --git a/apm-agent-tracer/pom.xml b/apm-agent-tracer/pom.xml index dd1249acf9..6d4218ceb9 100644 --- a/apm-agent-tracer/pom.xml +++ b/apm-agent-tracer/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.51.0 + 1.51.1-SNAPSHOT apm-agent-tracer diff --git a/apm-opentracing/pom.xml b/apm-opentracing/pom.xml index f40310b6d5..a1740a249b 100644 --- a/apm-opentracing/pom.xml +++ b/apm-opentracing/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT apm-opentracing diff --git a/cloudfoundry/index.yml b/cloudfoundry/index.yml index c78eb2f053..d93c07fbc0 100644 --- a/cloudfoundry/index.yml +++ b/cloudfoundry/index.yml @@ -63,3 +63,4 @@ 1.48.1: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.48.1/elastic-apm-agent-1.48.1.jar 1.49.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.49.0/elastic-apm-agent-1.49.0.jar 1.50.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.50.0/elastic-apm-agent-1.50.0.jar +1.51.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.51.0/elastic-apm-agent-1.51.0.jar diff --git a/elastic-apm-agent-java8/pom.xml b/elastic-apm-agent-java8/pom.xml index 83da3b41c0..d78b736999 100644 --- a/elastic-apm-agent-java8/pom.xml +++ b/elastic-apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.51.0 + 1.51.1-SNAPSHOT elastic-apm-agent-java8 diff --git a/elastic-apm-agent-premain/pom.xml b/elastic-apm-agent-premain/pom.xml index c6c8572bbe..846959709b 100644 --- a/elastic-apm-agent-premain/pom.xml +++ b/elastic-apm-agent-premain/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/elastic-apm-agent/pom.xml b/elastic-apm-agent/pom.xml index 134ee08197..a09cbec1ba 100644 --- a/elastic-apm-agent/pom.xml +++ b/elastic-apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.51.0 + 1.51.1-SNAPSHOT elastic-apm-agent diff --git a/integration-tests/application-server-integration-tests/pom.xml b/integration-tests/application-server-integration-tests/pom.xml index 70bbb32a9e..968b90b092 100644 --- a/integration-tests/application-server-integration-tests/pom.xml +++ b/integration-tests/application-server-integration-tests/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT application-server-integration-tests diff --git a/integration-tests/aws-lambda-test/pom.xml b/integration-tests/aws-lambda-test/pom.xml index b1728f2948..a4571d0c19 100644 --- a/integration-tests/aws-lambda-test/pom.xml +++ b/integration-tests/aws-lambda-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-dependent/pom.xml b/integration-tests/cdi-app/cdi-app-dependent/pom.xml index 4842df8962..f628e9abb6 100644 --- a/integration-tests/cdi-app/cdi-app-dependent/pom.xml +++ b/integration-tests/cdi-app/cdi-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-standalone/pom.xml b/integration-tests/cdi-app/cdi-app-standalone/pom.xml index 2f415ee34d..f4c30f7b10 100644 --- a/integration-tests/cdi-app/cdi-app-standalone/pom.xml +++ b/integration-tests/cdi-app/cdi-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-app/pom.xml b/integration-tests/cdi-app/pom.xml index c245dbf868..8f746f1284 100644 --- a/integration-tests/cdi-app/pom.xml +++ b/integration-tests/cdi-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml index b790110f6f..dd9d10b1ac 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml index b1baffd663..7b8fd9bf58 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/pom.xml b/integration-tests/cdi-jakartaee-app/pom.xml index 695b9b2b01..c15f31e6bf 100644 --- a/integration-tests/cdi-jakartaee-app/pom.xml +++ b/integration-tests/cdi-jakartaee-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml index b1fac537a6..27ed7b28ab 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.51.0 + 1.51.1-SNAPSHOT external-plugin-otel-test-app diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml index 4fc925fe5a..6d9a1c7eef 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.51.0 + 1.51.1-SNAPSHOT external-plugin-otel-test-plugin1 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml index c5177b8175..21ea4e31ae 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.51.0 + 1.51.1-SNAPSHOT external-plugin-otel-test-plugin2 diff --git a/integration-tests/external-plugin-otel-test/pom.xml b/integration-tests/external-plugin-otel-test/pom.xml index de48233231..d2b6e0fec4 100644 --- a/integration-tests/external-plugin-otel-test/pom.xml +++ b/integration-tests/external-plugin-otel-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm integration-tests - 1.51.0 + 1.51.1-SNAPSHOT external-plugin-otel-test diff --git a/integration-tests/external-plugin-test/external-plugin-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-app/pom.xml index ccc7bcc592..5fac766ee1 100644 --- a/integration-tests/external-plugin-test/external-plugin-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT external-plugin-app diff --git a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml index e950b44bf6..48c925417a 100644 --- a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT external-plugin-jakarta-app diff --git a/integration-tests/external-plugin-test/external-plugin/pom.xml b/integration-tests/external-plugin-test/external-plugin/pom.xml index dd8b212dfb..f62804c15a 100644 --- a/integration-tests/external-plugin-test/external-plugin/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT external-plugin diff --git a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml index 9d55c90014..587e26216d 100644 --- a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml +++ b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT plugin-instrumentation-target diff --git a/integration-tests/external-plugin-test/pom.xml b/integration-tests/external-plugin-test/pom.xml index 9e581dc055..976d244902 100644 --- a/integration-tests/external-plugin-test/pom.xml +++ b/integration-tests/external-plugin-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml index b5d834c068..990b6edfe7 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml index f29235947f..89ee2ff664 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/pom.xml b/integration-tests/jakartaee-jsf-app/pom.xml index 62c48fa9d4..c97d7fcfbc 100644 --- a/integration-tests/jakartaee-jsf-app/pom.xml +++ b/integration-tests/jakartaee-jsf-app/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 pom diff --git a/integration-tests/jakartaee-simple-webapp/pom.xml b/integration-tests/jakartaee-simple-webapp/pom.xml index 6ccd877da9..12ba0b56e7 100644 --- a/integration-tests/jakartaee-simple-webapp/pom.xml +++ b/integration-tests/jakartaee-simple-webapp/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT jakartaee-simple-webapp diff --git a/integration-tests/jsf-app/jsf-app-dependent/pom.xml b/integration-tests/jsf-app/jsf-app-dependent/pom.xml index 32ce0be4c5..64735c0366 100644 --- a/integration-tests/jsf-app/jsf-app-dependent/pom.xml +++ b/integration-tests/jsf-app/jsf-app-dependent/pom.xml @@ -4,7 +4,7 @@ jsf-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jsf-app/jsf-app-standalone/pom.xml b/integration-tests/jsf-app/jsf-app-standalone/pom.xml index 4a7d0b9d5b..3142ee23a6 100644 --- a/integration-tests/jsf-app/jsf-app-standalone/pom.xml +++ b/integration-tests/jsf-app/jsf-app-standalone/pom.xml @@ -6,7 +6,7 @@ jsf-app co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT jsf-app-standalone diff --git a/integration-tests/jsf-app/pom.xml b/integration-tests/jsf-app/pom.xml index d1f0f11220..b7cce2a122 100644 --- a/integration-tests/jsf-app/pom.xml +++ b/integration-tests/jsf-app/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT jsf-app diff --git a/integration-tests/main-app-test/pom.xml b/integration-tests/main-app-test/pom.xml index 8963bd8dc7..eadf28be67 100644 --- a/integration-tests/main-app-test/pom.xml +++ b/integration-tests/main-app-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT main-app-test diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 82becf7ec0..aec5d4ea38 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT integration-tests diff --git a/integration-tests/quarkus/pom.xml b/integration-tests/quarkus/pom.xml index f99d81e2a4..907927a75b 100644 --- a/integration-tests/quarkus/pom.xml +++ b/integration-tests/quarkus/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT quarkus diff --git a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml index fb85b6e8b3..07ae0a1084 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT quarkus-jaxrs-base diff --git a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml index b8b1e84594..7cf4d4eb3e 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT quarkus-jaxrs-undertow diff --git a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml index 84a96c200e..cd3de3be85 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT quarkus-jaxrs-vertx diff --git a/integration-tests/runtime-attach/pom.xml b/integration-tests/runtime-attach/pom.xml index 500df790f8..87d5f9b6d0 100644 --- a/integration-tests/runtime-attach/pom.xml +++ b/integration-tests/runtime-attach/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT runtime-attach diff --git a/integration-tests/runtime-attach/runtime-attach-app/pom.xml b/integration-tests/runtime-attach/runtime-attach-app/pom.xml index 936f4738c5..aed443ed32 100644 --- a/integration-tests/runtime-attach/runtime-attach-app/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-app/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/runtime-attach/runtime-attach-test/pom.xml b/integration-tests/runtime-attach/runtime-attach-test/pom.xml index e14cd7b2ef..002d7e71eb 100644 --- a/integration-tests/runtime-attach/runtime-attach-test/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-test/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/simple-webapp/pom.xml b/integration-tests/simple-webapp/pom.xml index 99490c2647..54d3ccc6e4 100644 --- a/integration-tests/simple-webapp/pom.xml +++ b/integration-tests/simple-webapp/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT simple-webapp diff --git a/integration-tests/soap-test/pom.xml b/integration-tests/soap-test/pom.xml index a87746df9a..3e667804d8 100644 --- a/integration-tests/soap-test/pom.xml +++ b/integration-tests/soap-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT soap-test diff --git a/integration-tests/spring-boot-1-5/pom.xml b/integration-tests/spring-boot-1-5/pom.xml index ead5000301..7921ee8e7c 100644 --- a/integration-tests/spring-boot-1-5/pom.xml +++ b/integration-tests/spring-boot-1-5/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT spring-boot-1-5 diff --git a/integration-tests/spring-boot-2/pom.xml b/integration-tests/spring-boot-2/pom.xml index d2359485cf..9e0c4bdcb8 100644 --- a/integration-tests/spring-boot-2/pom.xml +++ b/integration-tests/spring-boot-2/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT spring-boot-2 diff --git a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml index 986614268d..e035612d1a 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT spring-boot-2-base diff --git a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml index b74c5aed23..14df973ad9 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT spring-boot-2-jetty diff --git a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml index 256f073736..bbbb69feb3 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT spring-boot-2-tomcat diff --git a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml index 954641719b..6a5f5f3242 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT spring-boot-2-undertow diff --git a/integration-tests/spring-boot-3/pom.xml b/integration-tests/spring-boot-3/pom.xml index 273fbb2f71..f2cbe4ad8e 100644 --- a/integration-tests/spring-boot-3/pom.xml +++ b/integration-tests/spring-boot-3/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT spring-boot-3 diff --git a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml index 757a5a2761..e295086cb1 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml index d54d220f5d..71eb6d1725 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml index db37828256..29378f1e48 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.51.0 + 1.51.1-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index 8d039d00c3..532985ef09 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.51.0 + 1.51.1-SNAPSHOT pom ${project.groupId}:${project.artifactId} From 1e916948690f1c7f90826aa153d93494f4bdc49f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 09:16:58 +0000 Subject: [PATCH 02/98] build: bump docker/login-action in the github-actions group (#3737) Bumps the github-actions group with 1 update: [docker/login-action](https://github.com/docker/login-action). Updates `docker/login-action` from 3.2.0 to 3.3.0 - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/0d4c9c5ea7693da7b068278f7b52bda2a190a446...9780b0c442fbb1117ed29e0efdff1e18412f7567) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/main.yml | 2 +- .github/workflows/release-step-3.yml | 2 +- .github/workflows/snapshot.yml | 2 +- .github/workflows/updatecli.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4691fb2baa..b8ea06f00b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -340,7 +340,7 @@ jobs: - uses: actions/checkout@v4 - name: Log in to the Elastic Container registry - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 + uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 with: registry: ${{ secrets.ELASTIC_DOCKER_REGISTRY }} username: ${{ secrets.ELASTIC_DOCKER_USERNAME }} diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index b7dd6d3ac5..77daf58890 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -136,7 +136,7 @@ jobs: fetch-depth: 0 # Load entire history as it is required for the push-script - name: Log in to the Elastic Container registry - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 + uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 with: registry: ${{ secrets.ELASTIC_DOCKER_REGISTRY }} username: ${{ secrets.ELASTIC_DOCKER_USERNAME }} diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 1b58ce6f6f..2a3ae09c49 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -80,7 +80,7 @@ jobs: - uses: actions/checkout@v4 - name: Log in to the Elastic Container registry - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 + uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 with: registry: ${{ secrets.ELASTIC_DOCKER_REGISTRY }} username: ${{ secrets.ELASTIC_DOCKER_USERNAME }} diff --git a/.github/workflows/updatecli.yml b/.github/workflows/updatecli.yml index 99369c845d..c942a12d60 100644 --- a/.github/workflows/updatecli.yml +++ b/.github/workflows/updatecli.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 + - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 with: registry: ghcr.io username: ${{ github.actor }} From 4de5b34e8ea3cd5a0f2142ee1e1817f6e2c4064e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 20:31:36 +0100 Subject: [PATCH 03/98] build: bump version.testcontainers from 1.19.8 to 1.20.0 (#3741) Bumps `version.testcontainers` from 1.19.8 to 1.20.0. Updates `org.testcontainers:testcontainers-bom` from 1.19.8 to 1.20.0 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.8...1.20.0) Updates `org.testcontainers:testcontainers` from 1.19.8 to 1.20.0 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.8...1.20.0) --- updated-dependencies: - dependency-name: org.testcontainers:testcontainers-bom dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.testcontainers:testcontainers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 532985ef09..79d7da1670 100644 --- a/pom.xml +++ b/pom.xml @@ -139,7 +139,7 @@ 1.17 - 1.19.8 + 1.20.0 2.38.0 From af4b613b0a1b63ce2687e00b8cbbf67d2f442810 Mon Sep 17 00:00:00 2001 From: wolframhaussig <13997737+wolframhaussig@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:58:51 +0200 Subject: [PATCH 04/98] add automatic module name to apm-agent-attach (#3743) * add automatic module name to apm-agent-attach * added entry to CHANGELOG --- CHANGELOG.asciidoc | 1 + apm-agent-attach/pom.xml | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 1133b4fcb7..99ad0570c8 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -49,6 +49,7 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: ===== Features * Added option to make routing-key part of RabbitMQ transaction/span names - {pull}3636[#3636] * Added internal option for capturing request bodies for apache httpclient v4 - {pull}3692[#3692] +* Added automatic module name to apm-agent-attach - {pull}3743[#3743] [[release-notes-1.50.0]] ==== 1.50.0 - 2024/05/28 diff --git a/apm-agent-attach/pom.xml b/apm-agent-attach/pom.xml index 6fd4d62ca9..865838cfb4 100644 --- a/apm-agent-attach/pom.xml +++ b/apm-agent-attach/pom.xml @@ -165,6 +165,13 @@ + + + + ${project.groupId}.attach + + + From f8cb636216f96c76347238cea25d1140285e48f3 Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Mon, 5 Aug 2024 10:18:05 +0200 Subject: [PATCH 05/98] updatecli: rename update-compose.yaml to updatecli-compose.yaml (#3749) --- .ci/updatecli/values.d/update-compose.yml | 2 +- update-compose.yaml => updatecli-compose.yaml | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename update-compose.yaml => updatecli-compose.yaml (100%) diff --git a/.ci/updatecli/values.d/update-compose.yml b/.ci/updatecli/values.d/update-compose.yml index 8804f96618..02df609f2a 100644 --- a/.ci/updatecli/values.d/update-compose.yml +++ b/.ci/updatecli/values.d/update-compose.yml @@ -1,3 +1,3 @@ spec: files: - - "update-compose.yaml" \ No newline at end of file + - "updatecli-compose.yaml" \ No newline at end of file diff --git a/update-compose.yaml b/updatecli-compose.yaml similarity index 100% rename from update-compose.yaml rename to updatecli-compose.yaml From f39d29ee85908b1e08880667e46ae19c859e9068 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:28:44 +0200 Subject: [PATCH 06/98] build: bump actions/attest-build-provenance from 1.3.3 to 1.4.0 in the github-actions group (#3750) Bumps the github-actions group with 1 update: [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance). Updates `actions/attest-build-provenance` from 1.3.3 to 1.4.0 - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](https://github.com/actions/attest-build-provenance/compare/5e9cb68e95676991667494a6a4e59b8a2f13e1d0...210c1913531870065f03ce1f9440dd87bc0938cd) --- .github/workflows/release-step-3.yml | 2 +- .github/workflows/snapshot.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index 77daf58890..8493f34d54 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -105,7 +105,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3 + uses: actions/attest-build-provenance@210c1913531870065f03ce1f9440dd87bc0938cd # v1.4.0 with: subject-path: "${{ github.workspace }}/**/target/*.jar" diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 2a3ae09c49..5e8b4b8d74 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -69,7 +69,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3 + uses: actions/attest-build-provenance@210c1913531870065f03ce1f9440dd87bc0938cd # v1.4.0 with: subject-path: "${{ github.workspace }}/**/target/*.jar" From 2b69665023d6aec7dff103195e34c6ab8db5693e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:49:14 +0100 Subject: [PATCH 07/98] build: bump version.aws.sdk in /apm-agent-plugins (#3748) Bumps `version.aws.sdk` from 1.12.755 to 1.12.767. Updates `com.amazonaws:aws-java-sdk-s3` from 1.12.755 to 1.12.767 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.755...1.12.767) Updates `com.amazonaws:aws-java-sdk-dynamodb` from 1.12.755 to 1.12.767 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.755...1.12.767) Updates `com.amazonaws:aws-java-sdk-sqs` from 1.12.755 to 1.12.767 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.755...1.12.767) --- updated-dependencies: - dependency-name: com.amazonaws:aws-java-sdk-s3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-dynamodb dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-sqs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index 29bec3055b..65a85032ed 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -12,7 +12,7 @@ ${project.basedir}/../../.. - 1.12.755 + 1.12.767 1.1.0 From 9ef386f45017d749b1436e34e84e2ea72cbd4bc5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:50:16 +0100 Subject: [PATCH 08/98] build: bump version.aws.sdk in /apm-agent-plugins (#3747) Bumps `version.aws.sdk` from 2.26.12 to 2.26.27. Updates `software.amazon.awssdk:s3` from 2.26.12 to 2.26.27 Updates `software.amazon.awssdk:sqs` from 2.26.12 to 2.26.27 Updates `software.amazon.awssdk:dynamodb` from 2.26.12 to 2.26.27 --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: software.amazon.awssdk:sqs dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: software.amazon.awssdk:dynamodb dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index 3ec6d39ce9..07cfd50213 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -13,7 +13,7 @@ ${project.basedir}/../../.. - 2.26.12 + 2.26.27 2.0.0 8 From b0c6af7a9819f1608fdf8ca1e551a4b766b59761 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 20:11:29 +0100 Subject: [PATCH 09/98] build: bump version.testcontainers from 1.20.0 to 1.20.1 (#3751) Bumps `version.testcontainers` from 1.20.0 to 1.20.1. Updates `org.testcontainers:testcontainers-bom` from 1.20.0 to 1.20.1 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.20.0...1.20.1) Updates `org.testcontainers:testcontainers` from 1.20.0 to 1.20.1 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.20.0...1.20.1) --- updated-dependencies: - dependency-name: org.testcontainers:testcontainers-bom dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.testcontainers:testcontainers dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 79d7da1670..cc18c2475f 100644 --- a/pom.xml +++ b/pom.xml @@ -139,7 +139,7 @@ 1.17 - 1.20.0 + 1.20.1 2.38.0 From fbb5d684ee8567f405aaf2305ad04c4a02cfdf06 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Thu, 8 Aug 2024 15:06:19 +0200 Subject: [PATCH 10/98] Fixed BodyCaptureImpl recycling (#3734) --- .../agent/impl/context/BodyCaptureImpl.java | 19 +++++++++++++++ ...tureTest.java => BodyCaptureImplTest.java} | 24 ++++++++++++++++++- .../agent/tracer/metadata/BodyCapture.java | 18 ++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) rename apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/{BodyCaptureTest.java => BodyCaptureImplTest.java} (66%) diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java index 289a5f6fd2..e6560f1b82 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.impl.context; import co.elastic.apm.agent.objectpool.Resetter; @@ -56,6 +74,7 @@ public void resetState() { charset.setLength(0); if (bodyBuffer != null) { BYTE_BUFFER_POOL.recycle(bodyBuffer); + bodyBuffer = null; } } diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java similarity index 66% rename from apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureTest.java rename to apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java index 2c53ef665b..c1e4e0ea31 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.impl.context; import org.junit.jupiter.api.Test; @@ -8,7 +26,7 @@ import static co.elastic.apm.agent.testutils.assertions.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -public class BodyCaptureTest { +public class BodyCaptureImplTest { @Test public void testAppendTruncation() { @@ -52,5 +70,9 @@ public void testLifecycle() { // startCapture should return true only once assertThat(capture.startCapture("foobar", 42)) .isFalse(); + + capture.resetState(); + assertThat(capture.getCharset()).isNull(); + assertThat(capture.getBody()).isNull(); } } diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java index ef8df98de0..0d005a126f 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.tracer.metadata; import javax.annotation.Nullable; From ddbf896e95b213bd35f651e2151ddfe04a0ce822 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Thu, 8 Aug 2024 15:06:48 +0200 Subject: [PATCH 11/98] Perform charset-aware decoding of request bodies (#3726) * Split out decoder pooling * Implemented charset aware request body decoding * Fix casting in fallback encoding * Fix java 7 compilation --- .../report/serialize/DslJsonSerializer.java | 73 ++++++++--- .../serialize/DslJsonSerializerTest.java | 51 +++++++- .../apm/agent/sdk/internal/util/IOUtils.java | 123 ++++++++++++++---- 3 files changed, 197 insertions(+), 50 deletions(-) diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java index 141a987f6f..2c9db32c97 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java @@ -62,8 +62,13 @@ import co.elastic.apm.agent.impl.transaction.TransactionImpl; import co.elastic.apm.agent.report.ApmServerClient; import co.elastic.apm.agent.sdk.internal.collections.LongList; +import co.elastic.apm.agent.sdk.internal.pooling.ObjectHandle; +import co.elastic.apm.agent.sdk.internal.pooling.ObjectPool; +import co.elastic.apm.agent.sdk.internal.pooling.ObjectPooling; +import co.elastic.apm.agent.sdk.internal.util.IOUtils; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; +import co.elastic.apm.agent.tracer.configuration.WebConfiguration; import co.elastic.apm.agent.tracer.metadata.PotentiallyMultiValuedMap; import co.elastic.apm.agent.tracer.metrics.DslJsonUtil; import co.elastic.apm.agent.tracer.metrics.Labels; @@ -79,8 +84,10 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.CharBuffer; +import java.nio.charset.CoderResult; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; @@ -88,6 +95,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.concurrent.Callable; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; @@ -104,6 +112,13 @@ public class DslJsonSerializer { private static final Logger logger = LoggerFactory.getLogger(DslJsonSerializer.class); private static final List excludedStackFramesPrefixes = Arrays.asList("java.lang.reflect.", "com.sun.", "sun.", "jdk.internal."); + private static final ObjectPool> REQUEST_BODY_BUFFER_POOL = ObjectPooling.createWithDefaultFactory(new Callable() { + @Override + public CharBuffer call() throws Exception { + return CharBuffer.allocate(WebConfiguration.MAX_BODY_CAPTURE_BYTES); + } + }); + private final StacktraceConfigurationImpl stacktraceConfiguration; private final ApmServerClient apmServerClient; @@ -1054,22 +1069,7 @@ private void serializeSpanLinks(List spanLinks) { } private void serializeOTel(SpanImpl span) { - serializeOtel(span, Collections.emptyList(), requestBodyToString(span.getContext().getHttp().getRequestBody())); - } - - @Nullable - private CharSequence requestBodyToString(BodyCaptureImpl requestBody) { - //TODO: perform proper, charset aware conversion to string - ByteBuffer buffer = requestBody.getBody(); - if (buffer == null || buffer.position() == 0) { - return null; - } - buffer.flip(); - StringBuilder result = new StringBuilder(); - while (buffer.hasRemaining()) { - result.append((char) buffer.get()); - } - return result; + serializeOtel(span, Collections.emptyList(), span.getContext().getHttp().getRequestBody()); } private void serializeOTel(TransactionImpl transaction) { @@ -1079,11 +1079,12 @@ private void serializeOTel(TransactionImpl transaction) { } } - private void serializeOtel(AbstractSpanImpl span, List profilingStackTraceIds, @Nullable CharSequence httpRequestBody) { + private void serializeOtel(AbstractSpanImpl span, List profilingStackTraceIds, @Nullable BodyCaptureImpl httpRequestBody) { OTelSpanKind kind = span.getOtelKind(); Map attributes = span.getOtelAttributes(); - boolean hasAttributes = !attributes.isEmpty() || !profilingStackTraceIds.isEmpty() || httpRequestBody != null; + boolean hasRequestBody = httpRequestBody != null && httpRequestBody.getBody() != null; + boolean hasAttributes = !attributes.isEmpty() || !profilingStackTraceIds.isEmpty() || hasRequestBody; boolean hasKind = kind != null; if (hasKind || hasAttributes) { writeFieldName("otel"); @@ -1133,12 +1134,12 @@ private void serializeOtel(AbstractSpanImpl span, List profilingStack } jw.writeByte(ARRAY_END); } - if (httpRequestBody != null) { + if (hasRequestBody) { if (!isFirstAttrib) { jw.writeByte(COMMA); } writeFieldName("http.request.body.content"); - jw.writeString(httpRequestBody); + writeRequestBodyAsString(jw, httpRequestBody); } jw.writeByte(OBJECT_END); } @@ -1148,6 +1149,38 @@ private void serializeOtel(AbstractSpanImpl span, List profilingStack } } + + private void writeRequestBodyAsString(JsonWriter jw, BodyCaptureImpl requestBody) { + try (ObjectHandle charBufferHandle = REQUEST_BODY_BUFFER_POOL.createInstance()) { + CharBuffer charBuffer = charBufferHandle.get(); + try { + decodeRequestBodyBytes(requestBody, charBuffer); + charBuffer.flip(); + jw.writeString(charBuffer); + } finally { + ((Buffer) charBuffer).clear(); + } + } + } + + private void decodeRequestBodyBytes(BodyCaptureImpl requestBody, CharBuffer charBuffer) { + ByteBuffer bodyBytes = requestBody.getBody(); + ((Buffer) bodyBytes).flip(); //make ready for reading + CharSequence charset = requestBody.getCharset(); + if (charset != null) { + CoderResult result = IOUtils.decode(bodyBytes, charBuffer, charset.toString()); + if (result != null && !result.isMalformed() && !result.isUnmappable()) { + return; + } + } + //fallback to decoding by simply casting bytes to chars + ((Buffer) bodyBytes).position(0); + ((Buffer) charBuffer).clear(); + while (bodyBytes.hasRemaining()) { + charBuffer.put((char) (((int) bodyBytes.get()) & 0xFF)); + } + } + private void serializeNumber(Number n, JsonWriter jw) { if (n instanceof Integer) { NumberConverter.serialize(n.intValue(), jw); diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java index 7006fd0fa8..e2c76649aa 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java @@ -57,6 +57,7 @@ import co.elastic.apm.agent.report.ApmServerClient; import co.elastic.apm.agent.sdk.internal.collections.LongList; import co.elastic.apm.agent.sdk.internal.util.IOUtils; +import co.elastic.apm.agent.tracer.configuration.WebConfiguration; import com.dslplatform.json.JsonWriter; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; @@ -74,6 +75,7 @@ import javax.annotation.Nullable; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.nio.CharBuffer; import java.nio.charset.StandardCharsets; import java.util.Arrays; @@ -432,18 +434,53 @@ void testSpanHttpContextSerialization() { } @Test - void testSpanHttpRequestBodySerialization() { - SpanImpl span = new SpanImpl(tracer); + void testSpanHttpRequestBodySerialization() throws UnsupportedEncodingException { + String noBody = extractRequestBodyJson(createSpanWithRequestBody(null, "utf-8")); + assertThat(noBody).isNull(); - BodyCaptureImpl bodyCapture = span.getContext().getHttp().getRequestBody(); - bodyCapture.markEligibleForCapturing(); - bodyCapture.startCapture("utf-8", 50); - bodyCapture.append("foobar".getBytes(StandardCharsets.UTF_8), 0, 6); + String emptyBody = extractRequestBodyJson(createSpanWithRequestBody(new byte[0], "utf-8")); + assertThat(emptyBody).isEqualTo(""); + + String invalidCharset = extractRequestBodyJson(createSpanWithRequestBody("testö".getBytes("utf-8"), "bad charset!")); + assertThat(invalidCharset).isEqualTo("testö"); + + String noCharset = extractRequestBodyJson(createSpanWithRequestBody("testö".getBytes("utf-8"), null)); + assertThat(noCharset).isEqualTo("testö"); + + String utf8 = extractRequestBodyJson(createSpanWithRequestBody("special charßßß!äöü".getBytes("utf-8"), "utf-8")); + assertThat(utf8).isEqualTo("special charßßß!äöü"); + + String utf16 = extractRequestBodyJson(createSpanWithRequestBody("special charßßß!äöü".getBytes("utf-16"), "utf-16")); + assertThat(utf16).isEqualTo("special charßßß!äöü"); + + String invalidUtf8Sequence = extractRequestBodyJson(createSpanWithRequestBody(new byte[]{'t', 'e', 's', 't', (byte) 0xC2, (byte) 0xC2}, "utf-8")); + assertThat(invalidUtf8Sequence).isEqualTo("testÂÂ"); + } + private String extractRequestBodyJson(SpanImpl span) { JsonNode spanJson = readJsonString(writer.toJsonString(span)); JsonNode otel = spanJson.get("otel"); + if (otel == null) { + return null; + } JsonNode attribs = otel.get("attributes"); - assertThat(attribs.get("http.request.body.content").textValue()).isEqualTo("foobar"); + JsonNode bodyContent = attribs.get("http.request.body.content"); + if (bodyContent == null) { + return null; + } + return bodyContent.textValue(); + } + + private SpanImpl createSpanWithRequestBody(@Nullable byte[] bodyBytes, @Nullable String charset) { + SpanImpl span = new SpanImpl(tracer); + BodyCaptureImpl bodyCapture = span.getContext().getHttp().getRequestBody(); + bodyCapture.markEligibleForCapturing(); + bodyCapture.startCapture(charset, WebConfiguration.MAX_BODY_CAPTURE_BYTES); + + if (bodyBytes != null) { + bodyCapture.append(bodyBytes, 0, bodyBytes.length); + } + return span; } public static boolean[][] getContentCombinations() { diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java index d432a08901..5a01194a40 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java @@ -23,32 +23,78 @@ import co.elastic.apm.agent.sdk.internal.pooling.ObjectPool; import co.elastic.apm.agent.sdk.internal.pooling.ObjectPooling; +import javax.annotation.Nullable; import java.io.IOException; import java.io.InputStream; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.CharBuffer; +import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.charset.CoderResult; +import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.StandardCharsets; +import java.nio.charset.UnsupportedCharsetException; +import java.util.Collections; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; +import java.util.concurrent.ConcurrentHashMap; public class IOUtils { protected static final int BYTE_BUFFER_CAPACITY = 2048; - private static class DecoderWithBuffer { - final ByteBuffer byteBuffer = java.nio.ByteBuffer.allocate(BYTE_BUFFER_CAPACITY); - final CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder(); - } - - private static final ObjectPool> POOL = ObjectPooling.createWithDefaultFactory(new Callable() { + private static final ObjectPool> BYTE_BUFFER_POOL = ObjectPooling.createWithDefaultFactory(new Callable() { @Override - public DecoderWithBuffer call() throws Exception { - return new DecoderWithBuffer(); + public ByteBuffer call() throws Exception { + return ByteBuffer.allocate(BYTE_BUFFER_CAPACITY); } }); + private static final Set UNSUPPORTED_CHARSETS = Collections.newSetFromMap(new ConcurrentHashMap()); + private static final Map>> DECODER_POOLS + = new ConcurrentHashMap>>(); + + private static final String UTF8_CHARSET_NAME = StandardCharsets.UTF_8.name().toLowerCase(); + + @Nullable + private static ObjectHandle getPooledCharsetDecoder(String charsetName) { + if (!isLowerCase(charsetName)) { + charsetName = charsetName.toLowerCase(); + } + ObjectPool> decoderPool = DECODER_POOLS.get(charsetName); + if (decoderPool != null) { + return decoderPool.createInstance(); + } + if (UNSUPPORTED_CHARSETS.contains(charsetName)) { + return null; + } + try { + final Charset charset = Charset.forName(charsetName); + decoderPool = ObjectPooling.createWithDefaultFactory(new Callable() { + @Override + public CharsetDecoder call() throws Exception { + return charset.newDecoder(); + } + }); + DECODER_POOLS.put(charsetName, decoderPool); + return decoderPool.createInstance(); + } catch (IllegalCharsetNameException | UnsupportedCharsetException e) { + UNSUPPORTED_CHARSETS.add(charsetName); + return null; + } + } + + private static boolean isLowerCase(String charsetName) { + for (int i = 0; i < charsetName.length(); i++) { + if (!Character.isLowerCase(charsetName.charAt(i))) { + return false; + } + } + return true; + } + /** * Reads the provided {@link InputStream} into the {@link CharBuffer} without causing allocations. @@ -67,9 +113,12 @@ public DecoderWithBuffer call() throws Exception { */ public static boolean readUtf8Stream(final InputStream is, final CharBuffer charBuffer) throws IOException { // to be compatible with Java 8, we have to cast to buffer because of different return types - try (ObjectHandle pooled = POOL.createInstance()) { - final ByteBuffer buffer = pooled.get().byteBuffer; - final CharsetDecoder charsetDecoder = pooled.get().decoder; + try ( + ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); + ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); + ) { + final ByteBuffer buffer = bufferHandle.get(); + final CharsetDecoder charsetDecoder = decoderHandle.get(); try { final byte[] bufferArray = buffer.array(); for (int read = is.read(bufferArray); read != -1; read = is.read(bufferArray)) { @@ -143,9 +192,11 @@ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final CharBuffer c * @return a {@link CoderResult}, indicating the success or failure of the decoding */ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final int offset, final int length, final CharBuffer charBuffer) { - try (ObjectHandle pooled = POOL.createInstance()) { - final ByteBuffer pooledBuffer = pooled.get().byteBuffer; - final CharsetDecoder charsetDecoder = pooled.get().decoder; + try ( + ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); + ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); + ) { + final ByteBuffer pooledBuffer = bufferHandle.get(); // to be compatible with Java 8, we have to cast to buffer because of different return types final ByteBuffer buffer; if (pooledBuffer.capacity() < length) { @@ -157,7 +208,7 @@ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final int offset, ((Buffer) buffer).position(0); ((Buffer) buffer).limit(length); } - return decode(charBuffer, buffer, charsetDecoder); + return decode(charBuffer, buffer, decoderHandle.get()); } } @@ -183,21 +234,25 @@ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final int offset, */ public static CoderResult decodeUtf8Byte(final byte b, final CharBuffer charBuffer) { // to be compatible with Java 8, we have to cast to buffer because of different return types - try (ObjectHandle pooled = POOL.createInstance()) { - final ByteBuffer buffer = pooled.get().byteBuffer; - final CharsetDecoder charsetDecoder = pooled.get().decoder; + try ( + ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); + ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); + ) { + final ByteBuffer buffer = bufferHandle.get(); buffer.put(b); ((Buffer) buffer).position(0); ((Buffer) buffer).limit(1); - return decode(charBuffer, buffer, charsetDecoder); + return decode(charBuffer, buffer, decoderHandle.get()); } } public static CoderResult decodeUtf8BytesFromSource(ByteSourceReader reader, T src, final CharBuffer dest) { // to be compatible with Java 8, we have to cast to buffer because of different return types - try (ObjectHandle pooled = POOL.createInstance()) { - final ByteBuffer buffer = pooled.get().byteBuffer; - final CharsetDecoder charsetDecoder = pooled.get().decoder; + try ( + ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); + ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); + ) { + final ByteBuffer buffer = bufferHandle.get(); int readableBytes = reader.availableBytes(src); CoderResult result = null; while (readableBytes > 0) { @@ -206,7 +261,7 @@ public static CoderResult decodeUtf8BytesFromSource(ByteSourceReader read ((Buffer) buffer).position(0); reader.readInto(src, buffer); ((Buffer) buffer).position(0); - result = decode(dest, buffer, charsetDecoder); + result = decode(dest, buffer, decoderHandle.get()); if (result.isError() || result.isOverflow()) { return result; } @@ -223,6 +278,28 @@ public interface ByteSourceReader { void readInto(S source, ByteBuffer into); } + /** + * @param input the byte data to decode + * @param output the buffer to decode into + * @param charsetName the name of the charset + * @return null, if the charset is not known/supported. Otherwise the result of the decoding operation. + */ + @Nullable + public static CoderResult decode(ByteBuffer input, CharBuffer output, String charsetName) { + try (ObjectHandle decoderHandle = getPooledCharsetDecoder(charsetName)) { + if (decoderHandle == null) { + return null; //charset is unsupported + } + CharsetDecoder charsetDecoder = decoderHandle.get(); + try { + final CoderResult coderResult = charsetDecoder.decode(input, output, true); + charsetDecoder.flush(output); + return coderResult; + } finally { + charsetDecoder.reset(); + } + } + } private static CoderResult decode(CharBuffer charBuffer, ByteBuffer buffer, CharsetDecoder charsetDecoder) { try { From e0f0e7e64d1663c8b5aa96db4661974ac43654af Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 11:08:26 +0200 Subject: [PATCH 12/98] chore: Configure Renovate (#3755) * Add renovate.json * Attempt to make testing/compile-only dependencies opt-in via dependency dashboard * Update renovate.json Co-authored-by: Victor Martinez * Update renovate.json --------- Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Co-authored-by: Jonas Kunz Co-authored-by: Victor Martinez --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000000..36237c56f4 --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "github>elastic/renovate-config:only-chainguard" + ] +} From a905417aeead4eeaf8f56215303ad2419313b37d Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 12:10:12 +0200 Subject: [PATCH 13/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to dcbcd19 (#3757) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index df2ecfc4eb..b41c79de2f 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base@sha256:9f940409f96296ef56140bcc4665c204dd499af4c32c96cc00e792558097c3f1 +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:dcbcd1932d7180cacc83add309cec026aa75dadc1f2c6a2238db5b41dd100b15 RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From d03b28114c6a394c3f99a5da6b17104208a58fa3 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Mon, 12 Aug 2024 12:34:04 +0200 Subject: [PATCH 14/98] Exclude renovate from PR labeler (#3759) --- .github/workflows/labeler.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 809b6eda02..bcfc707160 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -30,7 +30,7 @@ jobs: username: ${{ github.actor }} token: ${{ secrets.APM_TECH_USER_TOKEN }} - name: Add community and triage lables - if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' + if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' uses: actions/github-script@v7 with: script: | @@ -41,7 +41,7 @@ jobs: labels: ["community", "triage"] }) - name: Add comment for community PR - if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' + if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' uses: wow-actions/auto-comment@v1 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 80148905e8054647d48b5ab8fe744b13a7989625 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:14:37 +0200 Subject: [PATCH 15/98] build: bump com.networknt:json-schema-validator from 1.5.0 to 1.5.1 (#3762) Bumps [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) from 1.5.0 to 1.5.1. - [Release notes](https://github.com/networknt/json-schema-validator/releases) - [Changelog](https://github.com/networknt/json-schema-validator/blob/master/CHANGELOG.md) - [Commits](https://github.com/networknt/json-schema-validator/compare/1.5.0...1.5.1) --- updated-dependencies: - dependency-name: com.networknt:json-schema-validator dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cc18c2475f..ed957b94b4 100644 --- a/pom.xml +++ b/pom.xml @@ -128,7 +128,7 @@ 1.6.0 5.0.15.RELEASE 9.4.11.v20180605 - 1.5.0 + 1.5.1 1.14.18 9.7 From e306c60534394cc25dedfc0caf5fbff028eea74a Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Tue, 13 Aug 2024 13:38:44 +0200 Subject: [PATCH 16/98] Capture request body for HttpUrlConnection (#3724) --- .../apm/agent/impl/transaction/SpanImpl.java | 39 +++- .../apm/agent/impl/transaction/SpanTest.java | 64 ++++++ .../apm/agent/sdk/internal/util/IOUtils.java | 11 + .../apm/agent/sdk/state/CallDepth.java | 2 +- ...cheHttpAsyncClientInstrumentationTest.java | 5 + .../RequestBodyRecordingHelper.java | 55 +++++ .../RequestBodyRecordingInputStream.java | 45 +--- .../RequestBodyRecordingOutputStream.java | 47 +---- ...AbstractHttpClientInstrumentationTest.java | 66 +++++- .../RequestBodyRecordingHelperTest.java | 82 ++++++++ .../apm-spring-resttemplate-plugin/pom.xml | 6 + ...SpringRestTemplateInstrumentationTest.java | 35 ++++ .../HttpUrlConnectionInstrumentation.java | 196 ++++++++++++------ ...ic.apm.agent.sdk.ElasticApmInstrumentation | 1 + .../HttpUrlConnectionInstrumentationTest.java | 17 ++ .../co/elastic/apm/agent/tracer/Span.java | 4 + .../apm/agent/tracer/SpanEndListener.java | 11 + 17 files changed, 533 insertions(+), 153 deletions(-) create mode 100644 apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java create mode 100644 apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java create mode 100644 apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java index e1d3d50e86..19ab8242e8 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java @@ -27,21 +27,30 @@ import co.elastic.apm.agent.impl.context.SpanContextImpl; import co.elastic.apm.agent.impl.context.UrlImpl; import co.elastic.apm.agent.impl.stacktrace.StacktraceConfigurationImpl; -import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.util.ResultUtil; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; import co.elastic.apm.agent.tracer.Outcome; +import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.SpanEndListener; import co.elastic.apm.agent.tracer.pooling.Recyclable; +import co.elastic.apm.agent.tracer.util.ResultUtil; import co.elastic.apm.agent.util.CharSequenceUtils; import javax.annotation.Nullable; +import java.util.Collections; import java.util.List; import java.util.Objects; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; public class SpanImpl extends AbstractSpanImpl implements Recyclable, Span { + /** + * Protection against excessive memory usage and span ending run times: + * We limit the maximum allowed number of end listeners. + */ + static final int MAX_END_LISTENERS = 100; private static final Logger logger = LoggerFactory.getLogger(SpanImpl.class); public static final long MAX_LOG_INTERVAL_MICRO_SECS = TimeUnit.MINUTES.toMicros(5); private static long lastSpanMaxWarningTimestamp; @@ -75,6 +84,9 @@ public class SpanImpl extends AbstractSpanImpl implements Recyclable, @Nullable private List stackFrames; + private final Set> endListeners = + Collections.newSetFromMap(new ConcurrentHashMap, Boolean>()); + /** * If a span is non-discardable, all the spans leading up to it are non-discardable as well */ @@ -174,6 +186,25 @@ public SpanImpl withAction(@Nullable String action) { return this; } + @Override + public void addEndListener(SpanEndListener listener) { + if (endListeners.size() < MAX_END_LISTENERS) { + endListeners.add(listener); + } else { + if (logger.isDebugEnabled()) { + logger.warn("Not adding span end listener because limit is reached: {}," + + " throwable stacktrace will be added for debugging", listener, new Throwable()); + } else { + logger.warn("Not adding span end listener because limit is reached: {}", listener); + } + } + } + + @Override + public void removeEndListener(SpanEndListener listener) { + endListeners.remove(listener); + } + /** * Sets span.type, span.subtype and span.action. If no subtype and action are provided, assumes the legacy usage of hierarchical @@ -221,6 +252,9 @@ public String getAction() { @Override public void beforeEnd(long epochMicros) { + for (SpanEndListener endListener : endListeners) { + endListener.onEnd(this); + } // set outcome when not explicitly set by user nor instrumentation if (outcomeNotSet()) { Outcome outcome; @@ -476,6 +510,7 @@ public void resetState() { super.resetState(); context.resetState(); composite.resetState(); + endListeners.clear(); stacktrace = null; subtype = null; action = null; diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java index 6e571b0570..a7d85f9a9c 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java @@ -26,19 +26,25 @@ import co.elastic.apm.agent.impl.sampling.ConstantSampler; import co.elastic.apm.agent.objectpool.TestObjectPoolFactory; import co.elastic.apm.agent.tracer.Outcome; +import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.SpanEndListener; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import org.mockito.Mockito; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoInteractions; public class SpanTest { @@ -87,6 +93,64 @@ void testOutcomeExplicitlyToUnknown() { assertThat(span.getOutcome()).isEqualTo(Outcome.UNKNOWN); } + @Test + void checkEndListenersConcurrencySafe() { + TransactionImpl transaction = new TransactionImpl(tracer); + transaction.startRoot(0, ConstantSampler.of(true), BaggageImpl.EMPTY); + try { + SpanImpl span = new SpanImpl(tracer); + span.start(TraceContextImpl.fromParent(), transaction, BaggageImpl.EMPTY, -1L); + + AtomicInteger invocationCounter = new AtomicInteger(); + SpanEndListener> callback = new SpanEndListener>() { + @Override + public void onEnd(Span span) { + span.removeEndListener(this); + invocationCounter.incrementAndGet(); + } + }; + span.addEndListener(callback); + span.end(); + assertThat(invocationCounter.get()).isEqualTo(1); + } finally { + transaction.end(); + } + + } + + @Test + @SuppressWarnings("unchecked") + void checkEndListenersLimit() { + TransactionImpl transaction = new TransactionImpl(tracer); + transaction.startRoot(0, ConstantSampler.of(true), BaggageImpl.EMPTY); + try { + SpanImpl span = new SpanImpl(tracer); + span.start(TraceContextImpl.fromParent(), transaction, BaggageImpl.EMPTY, -1L); + + for (int i = 0; i < SpanImpl.MAX_END_LISTENERS - 1; i++) { + span.addEndListener(new SpanEndListener() { + @Override + public void onEnd(SpanImpl span) { + + } + }); + } + + SpanEndListener invokeMe = (SpanEndListener) Mockito.mock(SpanEndListener.class); + SpanEndListener dontInvokeMe = (SpanEndListener) Mockito.mock(SpanEndListener.class); + span.addEndListener(invokeMe); + span.addEndListener(dontInvokeMe); + + span.end(); + + verify(invokeMe).onEnd(span); + verifyNoInteractions(dontInvokeMe); + } finally { + transaction.end(); + } + + } + @Test void normalizeEmptyFields() { SpanImpl span = new SpanImpl(tracer) diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java index 5a01194a40..ac94df308e 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java @@ -272,6 +272,17 @@ public static CoderResult decodeUtf8BytesFromSource(ByteSourceReader read } } + @Nullable + public static byte[] copyToByteArray(@Nullable ByteBuffer buf) { + if (buf == null) { + return null; + } + byte[] data = new byte[buf.position()]; + buf.position(0); + buf.get(data); + return data; + } + public interface ByteSourceReader { int availableBytes(S source); diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java index 267faca882..72e8129253 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java @@ -108,7 +108,7 @@ public boolean isNestedCallAndDecrement() { return decrement() != 0; } - private int get() { + public int get() { Integer callDepthForCurrentThread = callDepthPerThread.get(); if (callDepthForCurrentThread == null) { callDepthForCurrentThread = 0; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java index b2698ebc2e..54ca4dcaa6 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java @@ -97,6 +97,11 @@ protected boolean isBodyCapturingSupported() { return true; } + @Override + public void testPostBodyCaptureForExistingSpan() throws Exception { + //TODO: async http client instrumentation does not support capturing bodies for existing spans yet + } + @Override protected void performPost(String path, byte[] data, String contentTypeHeader) throws Exception { final CompletableFuture responseFuture = new CompletableFuture<>(); diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java new file mode 100644 index 0000000000..789471ae47 --- /dev/null +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java @@ -0,0 +1,55 @@ +package co.elastic.apm.agent.httpclient; + +import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.SpanEndListener; +import co.elastic.apm.agent.tracer.metadata.BodyCapture; + +class RequestBodyRecordingHelper implements SpanEndListener> { + + /** + * We do not need to participate in span reference counting here. + * Instead, we only hold a reference to the span for the time it is not ended. + * This is ensured via the {@link #onEnd(Span)} callback. + */ + // Visible for testing + Span clientSpan; + + public RequestBodyRecordingHelper(Span clientSpan) { + if (!clientSpan.isFinished()) { + this.clientSpan = clientSpan; + clientSpan.addEndListener(this); + } + } + + void appendToBody(byte b) { + if (clientSpan != null) { + BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); + requestBody.append(b); + if (requestBody.isFull()) { + releaseSpan(); + } + } + } + + void appendToBody(byte[] b, int off, int len) { + if (clientSpan != null) { + BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); + requestBody.append(b, off, len); + if (requestBody.isFull()) { + releaseSpan(); + } + } + } + + void releaseSpan() { + if (clientSpan != null) { + clientSpan.removeEndListener(this); + } + clientSpan = null; + } + + @Override + public void onEnd(Span span) { + releaseSpan(); + } +} diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java index f8e228eaf8..207fb4c274 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java @@ -19,9 +19,7 @@ package co.elastic.apm.agent.httpclient; import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.metadata.BodyCapture; -import javax.annotation.Nullable; import java.io.IOException; import java.io.InputStream; @@ -29,50 +27,21 @@ public class RequestBodyRecordingInputStream extends InputStream { private final InputStream delegate; - @Nullable - private Span clientSpan; + private final RequestBodyRecordingHelper recordingHelper; public RequestBodyRecordingInputStream(InputStream delegate, Span clientSpan) { this.delegate = delegate; - clientSpan.incrementReferences(); - this.clientSpan = clientSpan; + this.recordingHelper = new RequestBodyRecordingHelper(clientSpan); } - protected void appendToBody(byte b) { - if (clientSpan != null) { - BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); - requestBody.append(b); - if (requestBody.isFull()) { - releaseSpan(); - } - } - } - - protected void appendToBody(byte[] b, int off, int len) { - if (clientSpan != null) { - BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); - requestBody.append(b, off, len); - if (requestBody.isFull()) { - releaseSpan(); - } - } - } - - public void releaseSpan() { - if (clientSpan != null) { - clientSpan.decrementReferences(); - clientSpan = null; - } - } - @Override public int read() throws IOException { int character = delegate.read(); if (character == -1) { - releaseSpan(); + recordingHelper.releaseSpan(); } else { - appendToBody((byte) character); + recordingHelper.appendToBody((byte) character); } return character; } @@ -81,9 +50,9 @@ public int read() throws IOException { public int read(byte[] b, int off, int len) throws IOException { int readBytes = delegate.read(b, off, len); if (readBytes == -1) { - releaseSpan(); + recordingHelper.releaseSpan(); } else { - appendToBody(b, off, readBytes); + recordingHelper.appendToBody(b, off, readBytes); } return readBytes; } @@ -96,7 +65,7 @@ public int available() throws IOException { @Override public void close() throws IOException { try { - releaseSpan(); + recordingHelper.releaseSpan(); } finally { delegate.close(); } diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java index aaf640c1d3..87f7280821 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java @@ -19,9 +19,7 @@ package co.elastic.apm.agent.httpclient; import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.metadata.BodyCapture; -import javax.annotation.Nullable; import java.io.IOException; import java.io.OutputStream; @@ -29,38 +27,26 @@ public class RequestBodyRecordingOutputStream extends OutputStream { private final OutputStream delegate; - @Nullable - private Span clientSpan; + private final RequestBodyRecordingHelper recordingHelper; public RequestBodyRecordingOutputStream(OutputStream delegate, Span clientSpan) { this.delegate = delegate; - clientSpan.incrementReferences(); - this.clientSpan = clientSpan; + this.recordingHelper = new RequestBodyRecordingHelper(clientSpan); } @Override public void write(int b) throws IOException { try { - appendToBody((byte) b); + recordingHelper.appendToBody((byte) b); } finally { delegate.write(b); } } - protected void appendToBody(byte b) { - if (clientSpan != null) { - BodyCapture body = clientSpan.getContext().getHttp().getRequestBody(); - body.append(b); - if (body.isFull()) { - releaseSpan(); - } - } - } - @Override public void write(byte[] b) throws IOException { try { - appendToBody(b, 0, b.length); + recordingHelper.appendToBody(b, 0, b.length); } finally { delegate.write(b); } @@ -69,33 +55,16 @@ public void write(byte[] b) throws IOException { @Override public void write(byte[] b, int off, int len) throws IOException { try { - appendToBody(b, off, len); + recordingHelper.appendToBody(b, off, len); } finally { delegate.write(b, off, len); } } - protected void appendToBody(byte[] b, int off, int len) { - if (clientSpan != null) { - BodyCapture body = clientSpan.getContext().getHttp().getRequestBody(); - body.append(b, off, len); - if (body.isFull()) { - releaseSpan(); - } - } - } - - public void releaseSpan() { - if (clientSpan != null) { - clientSpan.decrementReferences(); - clientSpan = null; - } - } - @Override public void close() throws IOException { try { - releaseSpan(); + recordingHelper.releaseSpan(); } finally { delegate.close(); } @@ -105,4 +74,8 @@ public void close() throws IOException { public void flush() throws IOException { delegate.flush(); } + + public void releaseSpan() { + recordingHelper.releaseSpan(); + } } diff --git a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java index 788757662f..a5ed7ca364 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java @@ -27,6 +27,7 @@ import co.elastic.apm.agent.impl.transaction.SpanImpl; import co.elastic.apm.agent.impl.transaction.TraceContextImpl; import co.elastic.apm.agent.impl.transaction.TransactionImpl; +import co.elastic.apm.agent.sdk.internal.util.IOUtils; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Scope; import co.elastic.apm.agent.tracer.TraceState; @@ -132,16 +133,58 @@ public void testPostBodyCapture() throws Exception { .withRequestBodySatisfying(body -> { ByteBuffer buffer = body.getBody(); assertThat(buffer).isNotNull(); - int numBytes = buffer.position(); - buffer.position(0); - byte[] contentBytes = new byte[numBytes]; - buffer.get(contentBytes); - assertThat(contentBytes).isEqualTo("Hello".getBytes(StandardCharsets.UTF_8)); + assertThat(IOUtils.copyToByteArray(buffer)).isEqualTo("Hello".getBytes(StandardCharsets.UTF_8)); assertThat(Objects.toString(body.getCharset())).isEqualTo("utf-8"); }) .verify(); } + + /** + * This test verifies + * + * @throws Exception + */ + @Test + public void testPostBodyCaptureForExistingSpan() throws Exception { + if (!isBodyCapturingSupported()) { + return; + } + doReturn(1024).when(config.getConfig(WebConfiguration.class)).getCaptureClientRequestBytes(); + byte[] content = "Hello World!".getBytes(StandardCharsets.UTF_8); + String path = "/"; + + SpanImpl capture = createExitSpan("capture"); + capture.getContext().getHttp().getRequestBody().markEligibleForCapturing(); + capture.activate(); + try { + performPost(getBaseUrl() + path, content, "application/json; charset=iso-8859-1"); + } finally { + capture.deactivate().end(); + } + + //Do not not capture body for "noCapture" because it is not marked eligible + SpanImpl noCapture = createExitSpan("no-capture"); + noCapture.activate(); + try { + performPost(getBaseUrl() + path, content, "application/json; charset=iso-8859-1"); + } finally { + noCapture.deactivate().end(); + } + + assertThat(reporter.getSpans()) + .containsExactly(capture, noCapture); + + BodyCaptureImpl captureBody = capture.getContext().getHttp().getRequestBody(); + assertThat(captureBody.getBody()).isNotNull(); + assertThat(Objects.toString(captureBody.getCharset())).isEqualTo("iso-8859-1"); + assertThat(IOUtils.copyToByteArray(captureBody.getBody())).isEqualTo(content); + + BodyCaptureImpl noCaptureBody = noCapture.getContext().getHttp().getRequestBody(); + assertThat(noCaptureBody.getBody()).isNull(); + assertThat(noCaptureBody.getCharset()).isNull(); + } + @Test public void testDisabledOutgoingHeaders() { doReturn(true).when(config.getConfig(CoreConfigurationImpl.class)).isOutgoingTraceContextHeadersInjectionDisabled(); @@ -153,11 +196,8 @@ public void testDisabledOutgoingHeaders() { @Test public void testContextPropagationFromExitParent() { String path = "/"; - SpanImpl exitSpan = Objects.requireNonNull(Objects.requireNonNull(Objects.requireNonNull(tracer.currentTransaction()).createExitSpan())); + SpanImpl exitSpan = createExitSpan("exit"); try { - exitSpan.withType("custom").withSubtype("exit"); - exitSpan.getContext().getDestination().withAddress("test-host").withPort(6000); - exitSpan.getContext().getServiceTarget().withType("test-resource"); exitSpan.activate(); performGetWithinTransaction(path); verifyTraceContextHeaders(exitSpan, path); @@ -167,6 +207,14 @@ public void testContextPropagationFromExitParent() { } } + private static SpanImpl createExitSpan(String name) { + SpanImpl exitSpan = Objects.requireNonNull(Objects.requireNonNull(Objects.requireNonNull(tracer.currentTransaction()).createExitSpan())); + exitSpan.withName(name).withType("custom").withSubtype("exit"); + exitSpan.getContext().getDestination().withAddress("test-host").withPort(6000); + exitSpan.getContext().getServiceTarget().withType("test-resource"); + return exitSpan; + } + @Test public void testBaggagePropagatedWithoutTrace() { TraceState baggageOnly = emptyContext.withUpdatedBaggage() diff --git a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java new file mode 100644 index 0000000000..097b5b564f --- /dev/null +++ b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java @@ -0,0 +1,82 @@ +package co.elastic.apm.agent.httpclient; + +import co.elastic.apm.agent.MockReporter; +import co.elastic.apm.agent.MockTracer; +import co.elastic.apm.agent.impl.ElasticApmTracer; +import co.elastic.apm.agent.impl.context.BodyCaptureImpl; +import co.elastic.apm.agent.impl.transaction.SpanImpl; +import co.elastic.apm.agent.impl.transaction.TransactionImpl; +import co.elastic.apm.agent.sdk.internal.util.IOUtils; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +public class RequestBodyRecordingHelperTest { + + private ElasticApmTracer tracer; + private MockReporter reporter; + + private TransactionImpl rootTx; + + @BeforeEach + public void beforeEach() { + MockTracer.MockInstrumentationSetup mockInstrumentationSetup = MockTracer.createMockInstrumentationSetup(); + tracer = mockInstrumentationSetup.getTracer(); + reporter = mockInstrumentationSetup.getReporter(); + rootTx = tracer.startRootTransaction(null); + } + + @AfterEach + public void afterEach() { + rootTx.end(); + reporter.assertRecycledAfterDecrementingReferences(); + tracer.stop(); + } + + @Test + public void ensureNoModificationAfterSpanEnd() { + SpanImpl span = rootTx.createSpan(); + BodyCaptureImpl spanBody = span.getContext().getHttp().getRequestBody(); + spanBody.markEligibleForCapturing(); + spanBody.startCapture(null, 100); + + RequestBodyRecordingHelper helper = new RequestBodyRecordingHelper(span); + helper.appendToBody(new byte[]{1, 2, 3, 4}, 1, 2); + helper.appendToBody((byte) 5); + + assertThat(IOUtils.copyToByteArray(spanBody.getBody())).containsExactly(2, 3, 5); + assertThat(helper.clientSpan).isNotNull(); + + span.end(); + assertThat(helper.clientSpan).isNull(); + + //Those should not and have no effect + helper.appendToBody(new byte[]{1, 2, 3, 4}, 1, 2); + helper.appendToBody((byte) 5); + assertThat(IOUtils.copyToByteArray(spanBody.getBody())).containsExactly(2, 3, 5); + + RequestBodyRecordingHelper endedHelper = new RequestBodyRecordingHelper(span); + assertThat(endedHelper.clientSpan).isNull(); + } + + @Test + public void ensureLimitRespected() { + SpanImpl span = rootTx.createSpan(); + BodyCaptureImpl spanBody = span.getContext().getHttp().getRequestBody(); + spanBody.markEligibleForCapturing(); + spanBody.startCapture(null, 3); + + RequestBodyRecordingHelper helper = new RequestBodyRecordingHelper(span); + helper.appendToBody((byte) 1); + helper.appendToBody(new byte[]{2, 3, 4, 5}, 1, 2); + helper.appendToBody((byte) 6); + + assertThat(IOUtils.copyToByteArray(spanBody.getBody())).containsExactly(1, 3, 4); + assertThat(helper.clientSpan).isNull(); + + span.end(); + } + +} diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml index 73daefb71e..98d9d2ca6d 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml @@ -71,6 +71,12 @@ ${project.version} test + + ${project.groupId} + apm-urlconnection-plugin + ${project.version} + test + ${project.groupId} apm-apache-httpclient5-plugin diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java index 29bc51f423..307e2f815c 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java @@ -22,6 +22,9 @@ import co.elastic.apm.agent.httpclient.AbstractHttpClientInstrumentationTest; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; import org.springframework.http.client.ClientHttpRequestFactory; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; @@ -57,6 +60,16 @@ protected void performGet(String path) { Java17Code.performGet(restTemplate, path); } + @Override + protected boolean isBodyCapturingSupported() { + return Java17Code.isBodyCapturingSupported(restTemplate); + } + + @Override + protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { + Java17Code.performPost(restTemplate, path, content, contentTypeHeader); + } + /** * The code is compiled with java 17 but potentially run with java 11. * JUnit will inspect the test class, therefore it must not contain any references to java 17 code. @@ -67,6 +80,14 @@ public static void performGet(Object restTemplate, String path) { ((RestTemplate) restTemplate).getForEntity(path, String.class); } + public static void performPost(Object restTemplateObj, String path, byte[] content, String contentTypeHeader) { + RestTemplate restTemplate = (RestTemplate) restTemplateObj; + HttpHeaders headers = new HttpHeaders(); + headers.set("Content-Type", contentTypeHeader); + HttpEntity entity = new HttpEntity(content, headers); + restTemplate.exchange(path, HttpMethod.POST, entity, String.class); + } + public static Iterable> getRestTemplateFactories() { return Stream.>of( SimpleClientHttpRequestFactory::new, @@ -75,5 +96,19 @@ public static Iterable> getRestTemplateFactories() { .map(fac -> (Supplier) (() -> new RestTemplate(fac.get()))) .collect(Collectors.toList()); } + + public static boolean isBodyCapturingSupported(Object restTemplateObj) { + RestTemplate restTemplate = (RestTemplate) restTemplateObj; + if (restTemplate.getRequestFactory() instanceof OkHttp3ClientHttpRequestFactory) { + // We do not support body capturing for OkHttp yet + return false; + } + if (restTemplate.getRequestFactory() instanceof HttpComponentsClientHttpRequestFactory) { + //apache http client v5 is also not supported yet + return false; + } + return true; + } + } } diff --git a/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java b/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java index a7ff424f58..62e75d4d07 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java +++ b/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java @@ -19,14 +19,15 @@ package co.elastic.apm.agent.urlconnection; import co.elastic.apm.agent.httpclient.HttpClientHelper; +import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; import co.elastic.apm.agent.sdk.state.CallDepth; import co.elastic.apm.agent.sdk.state.GlobalState; import co.elastic.apm.agent.tracer.AbstractSpan; import co.elastic.apm.agent.tracer.GlobalTracer; -import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.reference.ReferenceCountedMap; import net.bytebuddy.asm.Advice; @@ -36,6 +37,7 @@ import net.bytebuddy.matcher.ElementMatcher; import javax.annotation.Nullable; +import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Arrays; @@ -54,6 +56,8 @@ public abstract class HttpUrlConnectionInstrumentation extends ElasticApmInstrum public static final Tracer tracer = GlobalTracer.get(); // must be public! public static final ReferenceCountedMap> inFlightSpans = tracer.newReferenceCountedMap(); + public static final ReferenceCountedMap> captureBodyForSpan = tracer.newReferenceCountedMap(); + public static final CallDepth callDepth = CallDepth.get(HttpUrlConnectionInstrumentation.class); @Override @@ -71,6 +75,80 @@ public ElementMatcher getTypeMatcher() { return hasSuperType(is(HttpURLConnection.class)).and(not(named("sun.net.www.protocol.https.HttpsURLConnectionImpl"))); } + public static class CreateSpanAdviceHelper { + + public static Span enter(HttpURLConnection thiz, boolean connectedField, int responseCodeField) { + + //With HEAD requests the connectedField stays false + boolean actuallyConnected = connectedField || responseCodeField != -1; + + boolean isNestedCall = callDepth.isNestedCallAndIncrement(); + TraceState activeContext = tracer.currentContext(); + AbstractSpan parentSpan = activeContext.getSpan(); + Span span = null; + if (parentSpan != null) { + span = inFlightSpans.get(thiz); + if (span == null && !actuallyConnected) { + final URL url = thiz.getURL(); + span = HttpClientHelper.startHttpClientSpan(activeContext, thiz.getRequestMethod(), url.toString(), url.getProtocol(), url.getHost(), url.getPort()); + } + if (!isNestedCall && span != null) { + span.activate(); + } else { + span = null; //do not deactivate this span on exit + } + } + + if (!isNestedCall && !actuallyConnected) { + tracer.currentContext().propagateContext(thiz, UrlConnectionPropertyAccessor.instance(), UrlConnectionPropertyAccessor.instance()); + } + + return span; + } + + public static void exit(HttpURLConnection thiz, @Nullable Throwable t, int responseCode, @Nullable Span spanObject) { + if (callDepth.isNestedCallAndDecrement()) { + if (responseCode != -1 || t != null) { + // Request has ended, no need to longer hold onto the span for request body capture + captureBodyForSpan.remove(thiz); + } + } + Span span = (Span) spanObject; + if (span == null) { + return; + } + try { + if (responseCode != -1) { + inFlightSpans.remove(thiz); + // if the response code is set, the connection has been established via getOutputStream + // if the response code is unset even after getOutputStream has been called, there will be an exception + // checking if "finished" to avoid multiple endings on nested calls + if (!span.isFinished()) { + span.getContext().getHttp().withStatusCode(responseCode); + span.captureException(t).end(); + } + } else if (t != null) { + inFlightSpans.remove(thiz); + + // an exception here is synonym of failure, for example with circular redirects + // checking if "finished" to avoid multiple endings on nested calls + if (!span.isFinished()) { + span.captureException(t) + .withOutcome(Outcome.FAILURE) + .end(); + } + } else { + // if connect or getOutputStream has been called we can't end the span right away + // we have to store associate it with thiz HttpURLConnection instance and end once getInputStream has been called + // note that this could happen on another thread + inFlightSpans.put(thiz, span); + } + } finally { + span.deactivate(); + } + } + + } public static class CreateSpanInstrumentation extends HttpUrlConnectionInstrumentation { public static class AdviceClass { @@ -78,86 +156,71 @@ public static class AdviceClass { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static Object enter(@Advice.This HttpURLConnection thiz, @Advice.FieldValue("connected") boolean connected, - @Advice.FieldValue("responseCode") int responseCode, - @Advice.Origin String signature) { - - //With HEAD requests the connected stays false - boolean actuallyConnected = connected || responseCode != -1; - - boolean isNestedCall = callDepth.isNestedCallAndIncrement(); - TraceState activeContext = tracer.currentContext(); - AbstractSpan parentSpan = activeContext.getSpan(); - Span span = null; - if (parentSpan != null) { - span = inFlightSpans.get(thiz); - if (span == null && !actuallyConnected) { - final URL url = thiz.getURL(); - span = HttpClientHelper.startHttpClientSpan(activeContext, thiz.getRequestMethod(), url.toString(), url.getProtocol(), url.getHost(), url.getPort()); - } - if (!isNestedCall && span != null) { - span.activate(); - } else { - span = null; //do not deactivate this span on exit - } - } - - if (!isNestedCall && !actuallyConnected) { - tracer.currentContext().propagateContext(thiz, UrlConnectionPropertyAccessor.instance(), UrlConnectionPropertyAccessor.instance()); - } - - return span; + @Advice.FieldValue("responseCode") int responseCode + ) { + return CreateSpanAdviceHelper.enter(thiz, connected, responseCode); } @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false) public static void exit(@Advice.This HttpURLConnection thiz, @Advice.Thrown @Nullable Throwable t, @Advice.FieldValue("responseCode") int responseCode, - @Advice.Enter @Nullable Object spanObject, - @Advice.Origin String signature) { + @Advice.Enter @Nullable Object spanObject + ) { + CreateSpanAdviceHelper.exit(thiz, t, responseCode, (Span) spanObject); + } - callDepth.decrement(); - Span span = (Span) spanObject; - if (span == null) { - return; - } - try { - if (responseCode != -1) { - inFlightSpans.remove(thiz); - // if the response code is set, the connection has been established via getOutputStream - // if the response code is unset even after getOutputStream has been called, there will be an exception - // checking if "finished" to avoid multiple endings on nested calls - if (!span.isFinished()) { - span.getContext().getHttp().withStatusCode(responseCode); - span.captureException(t).end(); - } - } else if (t != null) { - inFlightSpans.remove(thiz); - - // an exception here is synonym of failure, for example with circular redirects - // checking if "finished" to avoid multiple endings on nested calls - if (!span.isFinished()) { - span.captureException(t) - .withOutcome(Outcome.FAILURE) - .end(); + } + + @Override + public ElementMatcher getMethodMatcher() { + return named("connect").and(takesArguments(0)) + .or(named("getInputStream").and(takesArguments(0))) + .or(named("getResponseCode").and(takesArguments(0))); + } + } + + public static class GetOutputStreamInstrumentation extends HttpUrlConnectionInstrumentation { + + public static class AdviceClass { + @Nullable + @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) + public static Object enter(@Advice.This HttpURLConnection thiz, + @Advice.FieldValue("connected") boolean connected, + @Advice.FieldValue("responseCode") int responseCode + ) { + return CreateSpanAdviceHelper.enter(thiz, connected, responseCode); + } + + @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false) + @Advice.AssignReturned.ToReturned + public static OutputStream exit(@Advice.This HttpURLConnection thiz, + @Advice.Return OutputStream outputStream, + @Advice.Thrown @Nullable Throwable t, + @Advice.FieldValue("responseCode") int responseCode, + @Advice.Enter @Nullable Object spanObject + ) { + if (callDepth.get() == 1 && t == null) { //only wrap on the outermost call and if no exception occurred + Span captureBodyFor = captureBodyForSpan.get(thiz); + if (captureBodyFor == null) { + AbstractSpan currentSpan = tracer.getActive(); + if (HttpClientHelper.startRequestBodyCapture(currentSpan, thiz, UrlConnectionPropertyAccessor.instance())) { + captureBodyFor = (Span) currentSpan; + captureBodyForSpan.put(thiz, captureBodyFor); } - } else { - // if connect or getOutputStream has been called we can't end the span right away - // we have to store associate it with thiz HttpURLConnection instance and end once getInputStream has been called - // note that this could happen on another thread - inFlightSpans.put(thiz, span); } - } finally { - span.deactivate(); + if (captureBodyFor != null && !captureBodyFor.isFinished()) { + outputStream = new RequestBodyRecordingOutputStream(outputStream, captureBodyFor); + } } + CreateSpanAdviceHelper.exit(thiz, t, responseCode, (Span) spanObject); + return outputStream; } } @Override public ElementMatcher getMethodMatcher() { - return named("connect").and(takesArguments(0)) - .or(named("getOutputStream").and(takesArguments(0))) - .or(named("getInputStream").and(takesArguments(0))) - .or(named("getResponseCode").and(takesArguments(0))); + return named("getOutputStream").and(takesArguments(0)); } } @@ -172,6 +235,7 @@ public static class AdviceClass { public static void afterDisconnect(@Advice.This HttpURLConnection thiz, @Advice.Thrown @Nullable Throwable t, @Advice.FieldValue("responseCode") int responseCode) { + captureBodyForSpan.remove(thiz); Span span = inFlightSpans.remove(thiz); if (span != null) { span.captureException(t) diff --git a/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation index 844fe66aff..66306dcc22 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation +++ b/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation @@ -1,3 +1,4 @@ co.elastic.apm.agent.urlconnection.HttpUrlConnectionInstrumentation$CreateSpanInstrumentation +co.elastic.apm.agent.urlconnection.HttpUrlConnectionInstrumentation$GetOutputStreamInstrumentation co.elastic.apm.agent.urlconnection.HttpUrlConnectionInstrumentation$DisconnectInstrumentation co.elastic.apm.agent.urlconnection.SSLContextInstrumentation diff --git a/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java b/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java index 467838f64d..3a2b03a692 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java +++ b/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java @@ -181,4 +181,21 @@ public void testGetInstrumentationWithErrorEvent() { assertThat(reporter.getErrors()).hasSize(1); } + @Override + protected boolean isBodyCapturingSupported() { + return true; + } + + @Override + protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { + final HttpURLConnection urlConnection = (HttpURLConnection) new URL(path).openConnection(); + urlConnection.setDoOutput(true); + urlConnection.setRequestProperty("Content-Type", contentTypeHeader); + + //We call getOutputStream over and over again to ensure our instrumentation deals with that aswell + for (byte b : content) { + urlConnection.getOutputStream().write(b); + } + urlConnection.getResponseCode(); + } } diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java index 3f9a8fee7b..1eadfa9887 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java @@ -42,4 +42,8 @@ public interface Span> extends AbstractSpan { * Action related to this span (eg: 'query', 'render' etc) */ T withAction(@Nullable String action); + + void addEndListener(SpanEndListener listener); + + void removeEndListener(SpanEndListener listener); } diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java new file mode 100644 index 0000000000..11bae55cfb --- /dev/null +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java @@ -0,0 +1,11 @@ +package co.elastic.apm.agent.tracer; + +public interface SpanEndListener> { + + /** + * Invoked when the span is being ended. + * + * @param span the span being ended + */ + void onEnd(T span); +} From 030893a4fdbc331e60379c2a8ce747abd7d15049 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:39:06 +0200 Subject: [PATCH 17/98] build: bump org.awaitility:awaitility from 4.2.1 to 4.2.2 (#3761) Bumps [org.awaitility:awaitility](https://github.com/awaitility/awaitility) from 4.2.1 to 4.2.2. - [Changelog](https://github.com/awaitility/awaitility/blob/master/changelog.txt) - [Commits](https://github.com/awaitility/awaitility/compare/awaitility-4.2.1...awaitility-4.2.2) --- updated-dependencies: - dependency-name: org.awaitility:awaitility dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- integration-tests/runtime-attach/runtime-attach-test/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integration-tests/runtime-attach/runtime-attach-test/pom.xml b/integration-tests/runtime-attach/runtime-attach-test/pom.xml index 002d7e71eb..5c98bea169 100644 --- a/integration-tests/runtime-attach/runtime-attach-test/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-test/pom.xml @@ -31,7 +31,7 @@ org.awaitility awaitility - 4.2.1 + 4.2.2 test diff --git a/pom.xml b/pom.xml index ed957b94b4..1419ae3f35 100644 --- a/pom.xml +++ b/pom.xml @@ -814,7 +814,7 @@ org.awaitility awaitility - 4.2.1 + 4.2.2 test From d4280c95bc73e9742a29403ede8f5ac3d5208fcd Mon Sep 17 00:00:00 2001 From: SylvainJuge <763082+SylvainJuge@users.noreply.github.com> Date: Wed, 14 Aug 2024 10:24:56 +0200 Subject: [PATCH 18/98] Fix log4j2 correlation with shaded log4j (#3764) --- CHANGELOG.asciidoc | 4 + .../sdk/bytebuddy/CustomElementMatchers.java | 85 +++++++++++++------ .../bytebuddy/CustomElementMatchersTest.java | 45 +++++++++- .../Log4j2LogCorrelationInstrumentation.java | 6 +- 4 files changed, 111 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 99ad0570c8..4502be6cea 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -31,6 +31,10 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: === Unreleased +[float] +===== Bug fixes +* Fix log4j2 log correlation with shaded application jar - {pull}3764[#3764] + [[release-notes-1.x]] === Java Agent version 1.x diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java index f7af74d8a0..c2a07a593d 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java @@ -19,9 +19,9 @@ package co.elastic.apm.agent.sdk.bytebuddy; import co.elastic.apm.agent.sdk.internal.InternalUtil; +import co.elastic.apm.agent.sdk.internal.util.PrivilegedActionUtils; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.sdk.internal.util.PrivilegedActionUtils; import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent; import co.elastic.apm.agent.sdk.weakconcurrent.WeakMap; import net.bytebuddy.description.NamedElement; @@ -31,6 +31,7 @@ import javax.annotation.Nullable; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.net.JarURLConnection; import java.net.URISyntaxException; import java.net.URL; @@ -38,13 +39,13 @@ import java.security.CodeSource; import java.security.ProtectionDomain; import java.util.Collection; +import java.util.Properties; import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; +import java.util.zip.ZipEntry; -import static net.bytebuddy.matcher.ElementMatchers.nameContains; -import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; -import static net.bytebuddy.matcher.ElementMatchers.none; +import static net.bytebuddy.matcher.ElementMatchers.*; public class CustomElementMatchers { @@ -183,15 +184,23 @@ public static ElementMatcher.Junction isProxy() { * @param version the version to check against * @return an LTE SemVer matcher */ - public static ElementMatcher.Junction implementationVersionLte(final String version) { - return implementationVersion(version, Matcher.LTE); + public static ElementMatcher.Junction implementationVersionLte(String version) { + return implementationVersion(version, Matcher.LTE, null, null); } - public static ElementMatcher.Junction implementationVersionGte(final String version) { - return implementationVersion(version, Matcher.GTE); + public static ElementMatcher.Junction implementationVersionGte(String version) { + return implementationVersion(version, Matcher.GTE, null, null); } - private static ElementMatcher.Junction implementationVersion(final String version, final Matcher matcher) { + public static ElementMatcher.Junction implementationVersionLte(String version, String groupId, String artifactId) { + return implementationVersion(version, Matcher.LTE, groupId, artifactId); + } + + public static ElementMatcher.Junction implementationVersionGte(String version, String groupId, String artifactId) { + return implementationVersion(version, Matcher.GTE, groupId, artifactId); + } + + private static ElementMatcher.Junction implementationVersion(final String version, final Matcher matcher, @Nullable final String mavenGroupId, @Nullable final String mavenArtifactId) { return new ElementMatcher.Junction.AbstractBase() { /** * Returns true if the implementation version read from the manifest file referenced by the given @@ -205,7 +214,7 @@ private static ElementMatcher.Junction implementationVersion(f @Override public boolean matches(@Nullable ProtectionDomain protectionDomain) { try { - Version pdVersion = readImplementationVersionFromManifest(protectionDomain); + Version pdVersion = readImplementationVersion(protectionDomain, mavenGroupId, mavenArtifactId); if (pdVersion != null) { Version limitVersion = Version.of(version); return matcher.match(pdVersion, limitVersion); @@ -221,22 +230,51 @@ public boolean matches(@Nullable ProtectionDomain protectionDomain) { } @Nullable - private static Version readImplementationVersionFromManifest(@Nullable ProtectionDomain protectionDomain) throws IOException, URISyntaxException { + private static Version readImplementationVersion(@Nullable ProtectionDomain protectionDomain, @Nullable String mavenGroupId, @Nullable String mavenArtifactId) throws IOException, URISyntaxException { Version version = null; JarFile jarFile = null; + + if (protectionDomain == null) { + logger.info("Cannot read implementation version - got null ProtectionDomain"); + return null; + } + try { - if (protectionDomain != null) { - CodeSource codeSource = protectionDomain.getCodeSource(); - if (codeSource != null) { - URL jarUrl = codeSource.getLocation(); - if (jarUrl != null) { - // does not yet establish an actual connection - URLConnection urlConnection = jarUrl.openConnection(); - if (urlConnection instanceof JarURLConnection) { - jarFile = ((JarURLConnection) urlConnection).getJarFile(); - } else { - jarFile = new JarFile(new File(jarUrl.toURI())); + CodeSource codeSource = protectionDomain.getCodeSource(); + if (codeSource != null) { + URL jarUrl = codeSource.getLocation(); + if (jarUrl != null) { + // does not yet establish an actual connection + URLConnection urlConnection = jarUrl.openConnection(); + if (urlConnection instanceof JarURLConnection) { + jarFile = ((JarURLConnection) urlConnection).getJarFile(); + } else { + jarFile = new JarFile(new File(jarUrl.toURI())); + } + + // read maven properties first as they have higher priority over manifest + // this is mostly for shaded libraries in "fat-jar" applications + if (mavenGroupId != null && mavenArtifactId != null) { + ZipEntry zipEntry = jarFile.getEntry(String.format("META-INF/maven/%s/%s/pom.properties", mavenGroupId, mavenArtifactId)); + if (zipEntry != null) { + Properties properties = new Properties(); + try (InputStream input = jarFile.getInputStream(zipEntry)) { + properties.load(input); + } + if (mavenGroupId.equals(properties.getProperty("groupId")) && mavenArtifactId.equals(properties.getProperty("artifactId"))) { + String stringVersion = properties.getProperty("version"); + if (stringVersion != null) { + version = Version.of(stringVersion); + } + } } + } + + // reading manifest if library packaged as a jar + // + // doing this after maven properties is important as it might report executable jar version + // when application is packaged as a "fat jar" + if (version == null) { Manifest manifest = jarFile.getManifest(); if (manifest != null) { Attributes attributes = manifest.getMainAttributes(); @@ -248,12 +286,9 @@ private static Version readImplementationVersionFromManifest(@Nullable Protectio if (manifestVersion != null) { version = Version.of(manifestVersion); } - } } } - } else { - logger.info("Cannot read implementation version - got null ProtectionDomain"); } } finally { if (jarFile != null) { diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java index 8e6bc0ab5b..6f24e36a8c 100644 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java @@ -18,20 +18,29 @@ */ package co.elastic.apm.agent.sdk.bytebuddy; -import org.apache.http.client.HttpClient; - import net.bytebuddy.description.type.TypeDescription; +import org.apache.http.client.HttpClient; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.File; +import java.io.IOException; import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; +import java.net.URI; +import java.nio.file.Files; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Path; +import java.nio.file.Paths; import java.security.CodeSigner; import java.security.CodeSource; import java.security.ProtectionDomain; +import java.util.HashMap; import java.util.List; +import java.util.Map; import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.*; import static net.bytebuddy.matcher.ElementMatchers.none; @@ -63,6 +72,38 @@ void testSemVerLteWithEncodedFileUrl() throws MalformedURLException, URISyntaxEx assertThat(implementationVersionLte("2.1.9").matches(protectionDomain)).isTrue(); } + @Test + void testSemVerFallbackOnMavenProperties(@TempDir Path tempDir) throws URISyntaxException, IOException { + // Relying on Apache httpclient-4.5.6.jar + // creates a copy of the jar without the manifest so we should parse maven properties + URL originalUrl = HttpClient.class.getProtectionDomain().getCodeSource().getLocation(); + Path modifiedJar = tempDir.resolve("test.jar"); + try { + Files.copy(Paths.get(originalUrl.toURI()), modifiedJar); + + Map fsProperties = new HashMap<>(); + fsProperties.put("create", "false"); + + URI fsUri = URI.create("jar:file://" + modifiedJar.toAbsolutePath()); + try (FileSystem zipFs = FileSystems.newFileSystem(fsUri, fsProperties)) { + Files.delete(zipFs.getPath("META-INF", "MANIFEST.MF")); + } + + ProtectionDomain protectionDomain = new ProtectionDomain(new CodeSource(modifiedJar.toUri().toURL(), new CodeSigner[0]), null); + + assertThat(implementationVersionLte("4.5.5", "org.apache.httpcomponents", "httpclient").matches(protectionDomain)).isFalse(); + assertThat(implementationVersionLte("4.5.6", "org.apache.httpcomponents", "httpclient").matches(protectionDomain)).isTrue(); + assertThat(implementationVersionGte("4.5.7", "org.apache.httpcomponents", "httpclient").matches(protectionDomain)).isFalse(); + + + } finally { + if (Files.exists(modifiedJar)) { + Files.delete(modifiedJar); + } + } + + } + private void testSemVerLteMatcher(ProtectionDomain protectionDomain) { assertThat(implementationVersionLte("3").matches(protectionDomain)).isFalse(); assertThat(implementationVersionLte("3.2").matches(protectionDomain)).isFalse(); diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java index 4375fec954..e765fdd78b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java @@ -71,9 +71,11 @@ public ElementMatcher getMethodMatcher() { } public static class Log4J2_6LogCorrelationInstrumentation extends Log4j2LogCorrelationInstrumentation { + @Override public ElementMatcher.Junction getProtectionDomainPostFilter() { - return implementationVersionGte("2.6").and(not(implementationVersionGte("2.7"))); + return implementationVersionGte("2.6", "org.apache.logging.log4j", "log4j-core") + .and(not(implementationVersionGte("2.7", "org.apache.logging.log4j", "log4j-core"))); } public static class AdviceClass { @@ -94,7 +96,7 @@ public static void removeFromThreadContext(@Advice.Enter boolean addedToMdc) { public static class Log4J2_7PlusLogCorrelationInstrumentation extends Log4j2LogCorrelationInstrumentation { @Override public ElementMatcher.Junction getProtectionDomainPostFilter() { - return implementationVersionGte("2.7"); + return implementationVersionGte("2.7", "org.apache.logging.log4j", "log4j-core"); } public static class AdviceClass { From 24b2b190933c7823a8ee3ed910a633868a68b7ce Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Mon, 19 Aug 2024 15:04:41 +0200 Subject: [PATCH 19/98] Fix CustomElementMatchers test on windows (#3765) --- .../sdk/bytebuddy/CustomElementMatchersTest.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java index 6f24e36a8c..20398a47bd 100644 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java @@ -26,13 +26,13 @@ import java.io.File; import java.io.IOException; import java.net.MalformedURLException; +import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; -import java.net.URI; -import java.nio.file.Files; import java.nio.file.FileSystem; import java.nio.file.FileSystems; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.security.CodeSigner; @@ -42,7 +42,12 @@ import java.util.List; import java.util.Map; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.*; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.implementationVersionGte; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.implementationVersionLte; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.isAgentClassLoader; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.isInAnyPackage; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.isInternalPluginClassLoader; import static net.bytebuddy.matcher.ElementMatchers.none; import static org.assertj.core.api.Assertions.assertThat; @@ -84,7 +89,7 @@ void testSemVerFallbackOnMavenProperties(@TempDir Path tempDir) throws URISyntax Map fsProperties = new HashMap<>(); fsProperties.put("create", "false"); - URI fsUri = URI.create("jar:file://" + modifiedJar.toAbsolutePath()); + URI fsUri = URI.create("jar:" + modifiedJar.toUri()); try (FileSystem zipFs = FileSystems.newFileSystem(fsUri, fsProperties)) { Files.delete(zipFs.getPath("META-INF", "MANIFEST.MF")); } From 648bd34859f52213b11c4e90857729637054c5c0 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 09:59:17 +0200 Subject: [PATCH 20/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to e11c691 (#3766) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index b41c79de2f..d801c7bf61 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:dcbcd1932d7180cacc83add309cec026aa75dadc1f2c6a2238db5b41dd100b15 +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:e11c6912723c5a0ceeaeb2353329606270292e20c280a0a28d25e8d35474475f RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 618970d3aa3348da330b8e9e4230d18ae726572d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 10:00:10 +0200 Subject: [PATCH 21/98] build: bump actions/attest-build-provenance in the github-actions group (#3756) Bumps the github-actions group with 1 update: [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance). Updates `actions/attest-build-provenance` from 1.4.0 to 1.4.1 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](https://github.com/actions/attest-build-provenance/compare/210c1913531870065f03ce1f9440dd87bc0938cd...310b0a4a3b0b78ef57ecda988ee04b132db73ef8) --- updated-dependencies: - dependency-name: actions/attest-build-provenance dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release-step-3.yml | 2 +- .github/workflows/snapshot.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index 8493f34d54..81f3442e69 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -105,7 +105,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@210c1913531870065f03ce1f9440dd87bc0938cd # v1.4.0 + uses: actions/attest-build-provenance@310b0a4a3b0b78ef57ecda988ee04b132db73ef8 # v1.4.1 with: subject-path: "${{ github.workspace }}/**/target/*.jar" diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 5e8b4b8d74..85a41c2f29 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -69,7 +69,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@210c1913531870065f03ce1f9440dd87bc0938cd # v1.4.0 + uses: actions/attest-build-provenance@310b0a4a3b0b78ef57ecda988ee04b132db73ef8 # v1.4.1 with: subject-path: "${{ github.workspace }}/**/target/*.jar" From 50981bb8f7c82141d1468e981ac6b7faded19599 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 10:01:13 +0200 Subject: [PATCH 22/98] build: bump io.micrometer:micrometer-core from 1.13.2 to 1.13.3 (#3769) Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.13.2 to 1.13.3. - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.13.2...v1.13.3) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-micrometer-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index 9e9fa81c57..2eb651f562 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -23,7 +23,7 @@ io.micrometer micrometer-core - 1.13.2 + 1.13.3 provided From f3b28350fad9cdd41e51c6be599dab52152bade0 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Tue, 20 Aug 2024 13:45:21 +0200 Subject: [PATCH 23/98] Add support for apache http client v5 body capturing (#3767) --- .../AbstractApacheHttpClientAdvice.java | 21 ++++--- ...actApacheHttpRequestBodyCaptureAdvice.java | 58 ++++++++++++++++++ .../common/ApacheHttpClientApiAdapter.java | 2 +- .../ApacheHttpClientEntityAccessor.java | 29 +++++++++ .../common}/RequestBodyCaptureRegistry.java | 38 +++++++----- .../v4/ApacheHttpClientInstrumentation.java | 4 +- ...heHttpEntityGetContentInstrumentation.java | 50 ++------------- ...pacheHttpEntityWriteToInstrumentation.java | 52 +++------------- .../BaseApacheHttpEntityInstrumentation.java | 34 +++++++++++ ...LegacyApacheHttpClientInstrumentation.java | 5 +- .../helper/ApacheHttpClient4ApiAdapter.java | 19 +++++- .../HttpAsyncRequestProducerWrapper.java | 5 +- ...eHttp5EntityGetContentInstrumentation.java | 54 ++++++++++++++++ ...acheHttp5EntityWriteToInstrumentation.java | 61 +++++++++++++++++++ .../v5/ApacheHttpClient5Instrumentation.java | 6 +- .../BaseApacheHttp5EntityInstrumentation.java | 33 ++++++++++ .../helper/ApacheHttpClient5ApiAdapter.java | 23 ++++++- .../v5/helper/RequestChannelWrapper.java | 4 +- ...ic.apm.agent.sdk.ElasticApmInstrumentation | 2 + ...cheHttpAsyncClientInstrumentationTest.java | 40 ++++++++++++ ...pClientExecuteOpenInstrumentationTest.java | 40 ++++++++---- .../ApacheHttpClientInstrumentationTest.java | 41 +++++++++---- ...SpringRestTemplateInstrumentationTest.java | 4 -- 23 files changed, 472 insertions(+), 153 deletions(-) create mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java create mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java rename apm-agent-plugins/apm-apache-httpclient/{apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper => apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common}/RequestBodyCaptureRegistry.java (60%) create mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java create mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java create mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java create mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java index 1998180c3b..10e2d2727b 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java @@ -20,9 +20,9 @@ import co.elastic.apm.agent.httpclient.HttpClientHelper; -import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; import co.elastic.apm.agent.tracer.dispatch.TextHeaderSetter; @@ -34,11 +34,11 @@ public abstract class AbstractApacheHttpClientAdvice { public static & - TextHeaderGetter> Span startSpan(final Tracer tracer, - final ApacheHttpClientApiAdapter adapter, - final WRAPPER request, - @Nullable final HTTPHOST httpHost, - final HeaderAccessor headerAccessor) throws URISyntaxException { + TextHeaderGetter, HTTPENTITY> Span startSpan(final Tracer tracer, + final ApacheHttpClientApiAdapter adapter, + final WRAPPER request, + @Nullable final HTTPHOST httpHost, + final HeaderAccessor headerAccessor) throws URISyntaxException { TraceState traceState = tracer.currentContext(); Span span = null; if (traceState.getSpan() != null) { @@ -51,10 +51,11 @@ TextHeaderGetter> Span startSpan(final Tracer tracer, return span; } - public static void endSpan(ApacheHttpClientApiAdapter adapter, - Object spanObj, - Throwable t, - RESPONSE response) { + public static + void endSpan(ApacheHttpClientApiAdapter adapter, + Object spanObj, + Throwable t, + RESPONSE response) { Span span = (Span) spanObj; if (span == null) { return; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java new file mode 100644 index 0000000000..b96bae4582 --- /dev/null +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java @@ -0,0 +1,58 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.httpclient.common; + + +import co.elastic.apm.agent.httpclient.RequestBodyRecordingInputStream; +import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; +import co.elastic.apm.agent.sdk.logging.Logger; +import co.elastic.apm.agent.sdk.logging.LoggerFactory; +import co.elastic.apm.agent.tracer.Span; + +import java.io.InputStream; +import java.io.OutputStream; + +public abstract class AbstractApacheHttpRequestBodyCaptureAdvice { + + private static final Logger logger = LoggerFactory.getLogger(AbstractApacheHttpRequestBodyCaptureAdvice.class); + + public static InputStream maybeCaptureRequestBodyInputStream(HTTPENTITY thiz, InputStream requestBody) { + Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); + if (clientSpan != null) { + logger.debug("Wrapping input stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); + return new RequestBodyRecordingInputStream(requestBody, clientSpan); + } + return requestBody; + } + + public static OutputStream maybeCaptureRequestBodyOutputStream(HTTPENTITY thiz, OutputStream requestBody) { + Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); + if (clientSpan != null) { + logger.debug("Wrapping output stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); + return new RequestBodyRecordingOutputStream(requestBody, clientSpan); + } + return requestBody; + } + + public static void releaseRequestBodyOutputStream(OutputStream maybeWrapped) { + if (maybeWrapped instanceof RequestBodyRecordingOutputStream) { + ((RequestBodyRecordingOutputStream) maybeWrapped).releaseSpan(); + } + } +} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java index a3834035cd..ad36f5665c 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java @@ -23,7 +23,7 @@ import java.net.URI; import java.net.URISyntaxException; -public interface ApacheHttpClientApiAdapter { +public interface ApacheHttpClientApiAdapter extends ApacheHttpClientEntityAccessor { String getMethod(WRAPPER request); URI getUri(WRAPPER request) throws URISyntaxException; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java new file mode 100644 index 0000000000..0f1abfc3b6 --- /dev/null +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java @@ -0,0 +1,29 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.httpclient.common; + +import javax.annotation.Nullable; + +public interface ApacheHttpClientEntityAccessor { + @Nullable + HTTPENTITY getRequestEntity(REQUEST request); + + @Nullable + byte[] getSimpleBodyBytes(REQUEST request); +} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/RequestBodyCaptureRegistry.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java similarity index 60% rename from apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/RequestBodyCaptureRegistry.java rename to apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java index 009cc1fe9b..052591ba6e 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/RequestBodyCaptureRegistry.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package co.elastic.apm.agent.httpclient.v4.helper; +package co.elastic.apm.agent.httpclient.common; import co.elastic.apm.agent.httpclient.HttpClientHelper; import co.elastic.apm.agent.sdk.logging.Logger; @@ -25,10 +25,8 @@ import co.elastic.apm.agent.tracer.AbstractSpan; import co.elastic.apm.agent.tracer.GlobalTracer; import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; import co.elastic.apm.agent.tracer.reference.ReferenceCountedMap; -import org.apache.http.HttpEntity; -import org.apache.http.HttpEntityEnclosingRequest; -import org.apache.http.HttpRequest; import javax.annotation.Nullable; @@ -52,25 +50,33 @@ public static Span removeSpanFor(Object entity) { } - public static void potentiallyCaptureRequestBody(HttpRequest request, @Nullable AbstractSpan span) { - if (HttpClientHelper.startRequestBodyCapture(span, request, RequestHeaderAccessor.INSTANCE)) { - if (request instanceof HttpEntityEnclosingRequest) { - HttpEntity entity = ((HttpEntityEnclosingRequest) request).getEntity(); - if (entity != null) { - logger.debug("Enabling request capture for entity {}() for span {}", entity.getClass().getName(), System.identityHashCode(entity), span); - MapHolder.captureBodyFor(entity, (Span) span); + public static void potentiallyCaptureRequestBody( + REQUEST request, + @Nullable AbstractSpan abstractSpan, + ApacheHttpClientEntityAccessor adapter, + TextHeaderGetter headerGetter + ) { + if (HttpClientHelper.startRequestBodyCapture(abstractSpan, request, headerGetter)) { + Span span = (Span) abstractSpan; + byte[] simpleBytes = adapter.getSimpleBodyBytes(request); + if (simpleBytes != null) { + logger.debug("Captured simple request body for span {}", abstractSpan); + span.getContext().getHttp().getRequestBody().append(simpleBytes, 0, simpleBytes.length); + } else { + HTTPENTITY httpEntity = adapter.getRequestEntity(request); + if (httpEntity != null) { + logger.debug("Enabling request capture for entity {}() for span {}", httpEntity.getClass().getName(), System.identityHashCode(httpEntity), abstractSpan); + MapHolder.captureBodyFor(httpEntity, span); } else { - logger.debug("HttpEntity is null for span {}", span); + logger.debug("Not capturing request body because HttpEntity is null for span {}", abstractSpan); } - } else { - logger.debug("Not capturing request body because {} is not an HttpEntityEnclosingRequest", request.getClass().getName()); } } } @Nullable - public static Span removeSpanFor(HttpEntity entity) { - return MapHolder.removeSpanFor(entity); + public static Span removeSpanFor(Object httpEntity) { + return MapHolder.removeSpanFor(httpEntity); } } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java index 2bc725c95b..02033d2c98 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java @@ -19,8 +19,8 @@ package co.elastic.apm.agent.httpclient.v4; import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpClientAdvice; +import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; import co.elastic.apm.agent.httpclient.v4.helper.ApacheHttpClient4ApiAdapter; -import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; import co.elastic.apm.agent.httpclient.v4.helper.RequestHeaderAccessor; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; @@ -60,7 +60,7 @@ public static class ApacheHttpClient4Advice extends AbstractApacheHttpClientAdvi public static Object onBeforeExecute(@Advice.Argument(0) HttpRoute route, @Advice.Argument(1) HttpRequestWrapper request) throws URISyntaxException { Span span = startSpan(tracer, adapter, request, route.getTargetHost(), RequestHeaderAccessor.INSTANCE); - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive()); + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive(), adapter, RequestHeaderAccessor.INSTANCE); return span; } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java index b08ea36da9..ceae3061c2 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java @@ -18,49 +18,25 @@ */ package co.elastic.apm.agent.httpclient.v4; -import co.elastic.apm.agent.httpclient.RequestBodyRecordingInputStream; -import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; -import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; -import co.elastic.apm.agent.sdk.logging.Logger; -import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; import net.bytebuddy.asm.Advice; -import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.method.MethodDescription; -import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.http.HttpEntity; import java.io.InputStream; -import java.io.OutputStream; -import java.net.URISyntaxException; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; -import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; -import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; -import static net.bytebuddy.matcher.ElementMatchers.nameContains; -import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.not; -import static net.bytebuddy.matcher.ElementMatchers.returns; -import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import static net.bytebuddy.matcher.ElementMatchers.takesArguments; -public class ApacheHttpEntityGetContentInstrumentation extends BaseApacheHttpClientInstrumentation { +public class ApacheHttpEntityGetContentInstrumentation extends BaseApacheHttpEntityInstrumentation { - public static class ApacheHttpEntityGetContentAdvice { - - private static final Logger logger = LoggerFactory.getLogger(ApacheHttpEntityGetContentAdvice.class); + public static class ApacheHttpEntityGetContentAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { @Advice.OnMethodExit(suppress = Throwable.class, inline = false) @Advice.AssignReturned.ToReturned - public static InputStream onExit(@Advice.This HttpEntity thiz, @Advice.Return InputStream content) throws URISyntaxException { - Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); - if (clientSpan != null) { - logger.debug("Wrapping input stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); - return new RequestBodyRecordingInputStream(content, clientSpan); - } - return content; + public static InputStream onExit(@Advice.This HttpEntity thiz, @Advice.Return InputStream content) { + return maybeCaptureRequestBodyInputStream(thiz, content); } } @@ -69,22 +45,6 @@ public String getAdviceClassName() { return "co.elastic.apm.agent.httpclient.v4.ApacheHttpEntityGetContentInstrumentation$ApacheHttpEntityGetContentAdvice"; } - @Override - public ElementMatcher.Junction getClassLoaderMatcher() { - return not(isBootstrapClassLoader()) - .and(classLoaderCanLoadClass("org.apache.http.HttpEntity")); - } - - @Override - public ElementMatcher getTypeMatcherPreFilter() { - return nameStartsWith("org.apache.http").and(nameContains("Entity")); - } - - @Override - public ElementMatcher getTypeMatcher() { - return hasSuperType(named("org.apache.http.HttpEntity")); - } - @Override public ElementMatcher getMethodMatcher() { return named("getContent") diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java index 0b06c8b9fc..0f6b657dfb 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java @@ -18,53 +18,31 @@ */ package co.elastic.apm.agent.httpclient.v4; -import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; -import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; -import co.elastic.apm.agent.sdk.logging.Logger; -import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; import net.bytebuddy.asm.Advice; -import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.method.MethodDescription; -import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.http.HttpEntity; import java.io.OutputStream; -import java.net.URISyntaxException; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; -import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; -import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; -import static net.bytebuddy.matcher.ElementMatchers.nameContains; -import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.not; import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import static net.bytebuddy.matcher.ElementMatchers.takesArguments; -public class ApacheHttpEntityWriteToInstrumentation extends BaseApacheHttpClientInstrumentation { +public class ApacheHttpEntityWriteToInstrumentation extends BaseApacheHttpEntityInstrumentation { - public static class ApacheHttpEntityWriteToAdvice { - - private static final Logger logger = LoggerFactory.getLogger(ApacheHttpEntityWriteToAdvice.class); + public static class ApacheHttpEntityWriteToAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(0)) - public static OutputStream onEnter(@Advice.This HttpEntity thiz, @Advice.Argument(0) OutputStream drain) throws URISyntaxException { - Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); - if (clientSpan != null) { - logger.debug("Wrapping output stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); - return new RequestBodyRecordingOutputStream(drain, clientSpan); - } - return drain; + public static OutputStream onEnter(@Advice.This HttpEntity thiz, @Advice.Argument(0) OutputStream drain) { + return maybeCaptureRequestBodyOutputStream(thiz, drain); } @Advice.OnMethodExit(suppress = Throwable.class, inline = false) - public static void onExit(@Advice.Enter OutputStream potentiallyWrappedStream) throws URISyntaxException { - if (potentiallyWrappedStream instanceof RequestBodyRecordingOutputStream) { - ((RequestBodyRecordingOutputStream) potentiallyWrappedStream).releaseSpan(); - } + public static void onExit(@Advice.Enter OutputStream potentiallyWrappedStream) { + releaseRequestBodyOutputStream(potentiallyWrappedStream); } } @@ -73,22 +51,6 @@ public String getAdviceClassName() { return "co.elastic.apm.agent.httpclient.v4.ApacheHttpEntityWriteToInstrumentation$ApacheHttpEntityWriteToAdvice"; } - @Override - public ElementMatcher.Junction getClassLoaderMatcher() { - return not(isBootstrapClassLoader()) - .and(classLoaderCanLoadClass("org.apache.http.HttpEntity")); - } - - @Override - public ElementMatcher getTypeMatcherPreFilter() { - return nameStartsWith("org.apache.http").and(nameContains("Entity")); - } - - @Override - public ElementMatcher getTypeMatcher() { - return hasSuperType(named("org.apache.http.HttpEntity")); - } - @Override public ElementMatcher getMethodMatcher() { return named("writeTo") diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java new file mode 100644 index 0000000000..64e5f17e9a --- /dev/null +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java @@ -0,0 +1,34 @@ +package co.elastic.apm.agent.httpclient.v4; + +import net.bytebuddy.description.NamedElement; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; + +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; +import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; +import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; +import static net.bytebuddy.matcher.ElementMatchers.nameContains; +import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.not; + +public abstract class BaseApacheHttpEntityInstrumentation extends BaseApacheHttpClientInstrumentation { + @Override + public ElementMatcher.Junction getClassLoaderMatcher() { + return not(isBootstrapClassLoader()) + .and(classLoaderCanLoadClass("org.apache.http.HttpEntity")); + } + + @Override + public ElementMatcher getTypeMatcherPreFilter() { + return nameContains("Entity").and( + nameStartsWith("org.apache.http") + .or(nameStartsWith("org.springframework.http")) //spring implements its own HttpEntities + ); + } + + @Override + public ElementMatcher getTypeMatcher() { + return hasSuperType(named("org.apache.http.HttpEntity")); + } +} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java index 21fe4ad545..0698839563 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java @@ -19,7 +19,8 @@ package co.elastic.apm.agent.httpclient.v4; import co.elastic.apm.agent.httpclient.HttpClientHelper; -import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; +import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; +import co.elastic.apm.agent.httpclient.v4.helper.ApacheHttpClient4ApiAdapter; import co.elastic.apm.agent.httpclient.v4.helper.RequestHeaderAccessor; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Span; @@ -106,7 +107,7 @@ public static Object onBeforeExecute(@Advice.Argument(0) @Nullable HttpHost host } } - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive()); + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive(), ApacheHttpClient4ApiAdapter.get(), RequestHeaderAccessor.INSTANCE); tracer.currentContext().propagateContext(request, RequestHeaderAccessor.INSTANCE, RequestHeaderAccessor.INSTANCE); return span; } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java index fd763f23d5..7d8b834e0f 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java @@ -23,6 +23,8 @@ import co.elastic.apm.agent.tracer.GlobalTracer; import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.configuration.CoreConfiguration; +import org.apache.http.HttpEntity; +import org.apache.http.HttpEntityEnclosingRequest; import org.apache.http.HttpHost; import org.apache.http.HttpRequest; import org.apache.http.StatusLine; @@ -30,9 +32,10 @@ import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpRequestWrapper; +import javax.annotation.Nullable; import java.net.URI; -public class ApacheHttpClient4ApiAdapter implements ApacheHttpClientApiAdapter { +public class ApacheHttpClient4ApiAdapter implements ApacheHttpClientApiAdapter { private static final ApacheHttpClient4ApiAdapter INSTANCE = new ApacheHttpClient4ApiAdapter(); private final Tracer tracer = GlobalTracer.get(); @@ -59,6 +62,20 @@ public CharSequence getHostName(HttpHost httpHost, HttpRequestWrapper request) { return httpHost.getHostName(); } + @Override + public HttpEntity getRequestEntity(HttpRequest request) { + if (request instanceof HttpEntityEnclosingRequest) { + return ((HttpEntityEnclosingRequest) request).getEntity(); + } + return null; + } + + @Override + @Nullable + public byte[] getSimpleBodyBytes(HttpRequest request) { + return null; //Apache v4 client only provides body via HttpEntity + } + @Override public int getResponseCode(CloseableHttpResponse closeableHttpResponse) { final StatusLine statusLine = closeableHttpResponse.getStatusLine(); diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java index a8648894ba..918fd06f07 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java @@ -19,8 +19,9 @@ package co.elastic.apm.agent.httpclient.v4.helper; import co.elastic.apm.agent.httpclient.HttpClientHelper; -import co.elastic.apm.agent.tracer.TraceState; +import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.pooling.Recyclable; import org.apache.http.HttpException; import org.apache.http.HttpHost; @@ -85,7 +86,7 @@ public HttpRequest generateRequest() throws IOException, HttpException { // trace context propagation if (request != null) { if (span != null) { - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, span); + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, span, ApacheHttpClient4ApiAdapter.get(), RequestHeaderAccessor.INSTANCE); RequestLine requestLine = request.getRequestLine(); if (requestLine != null) { String method = requestLine.getMethod(); diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java new file mode 100644 index 0000000000..d51d5c016c --- /dev/null +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java @@ -0,0 +1,54 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.httpclient.v5; + +import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; +import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.matcher.ElementMatcher; +import org.apache.hc.core5.http.HttpEntity; + +import java.io.InputStream; + +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.takesArguments; + +public class ApacheHttp5EntityGetContentInstrumentation extends BaseApacheHttp5EntityInstrumentation { + + public static class ApacheHttpEntityGetContentAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { + + @Advice.OnMethodExit(suppress = Throwable.class, inline = false) + @Advice.AssignReturned.ToReturned + public static InputStream onExit(@Advice.This HttpEntity thiz, @Advice.Return InputStream content) { + return maybeCaptureRequestBodyInputStream(thiz, content); + } + } + + @Override + public String getAdviceClassName() { + return "co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityGetContentInstrumentation$ApacheHttpEntityGetContentAdvice"; + } + + @Override + public ElementMatcher getMethodMatcher() { + return named("getContent") + .and(takesArguments(0)); + } + +} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java new file mode 100644 index 0000000000..994ac3f26f --- /dev/null +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java @@ -0,0 +1,61 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.httpclient.v5; + +import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; +import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.matcher.ElementMatcher; +import org.apache.hc.core5.http.HttpEntity; + +import java.io.OutputStream; + +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.takesArgument; +import static net.bytebuddy.matcher.ElementMatchers.takesArguments; + +public class ApacheHttp5EntityWriteToInstrumentation extends BaseApacheHttp5EntityInstrumentation { + + public static class ApacheHttpEntityWriteToAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { + + @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) + @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(0)) + public static OutputStream onEnter(@Advice.This HttpEntity thiz, @Advice.Argument(0) OutputStream drain) { + return maybeCaptureRequestBodyOutputStream(thiz, drain); + } + + @Advice.OnMethodExit(suppress = Throwable.class, inline = false) + public static void onExit(@Advice.Enter OutputStream potentiallyWrappedStream) { + releaseRequestBodyOutputStream(potentiallyWrappedStream); + } + } + + @Override + public String getAdviceClassName() { + return "co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityWriteToInstrumentation$ApacheHttpEntityWriteToAdvice"; + } + + @Override + public ElementMatcher getMethodMatcher() { + return named("writeTo") + .and(takesArguments(1)) + .and(takesArgument(0, OutputStream.class)); + } + +} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java index 5170a37f3e..5fe23bf705 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java @@ -20,8 +20,10 @@ import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpClientAdvice; +import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; import co.elastic.apm.agent.httpclient.v5.helper.ApacheHttpClient5ApiAdapter; import co.elastic.apm.agent.httpclient.v5.helper.RequestHeaderAccessor; +import co.elastic.apm.agent.tracer.Span; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.method.MethodDescription; @@ -50,7 +52,9 @@ public static class ApacheHttpClient5Advice extends AbstractApacheHttpClientAdvi @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static Object onBeforeExecute(@Advice.Argument(0) @Nullable HttpHost httpHost, @Advice.Argument(1) ClassicHttpRequest request) throws URISyntaxException { - return startSpan(tracer, adapter, request, httpHost, RequestHeaderAccessor.INSTANCE); + Span resultSpan = startSpan(tracer, adapter, request, httpHost, RequestHeaderAccessor.INSTANCE); + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive(), adapter, RequestHeaderAccessor.INSTANCE); + return resultSpan; } @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false) diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java new file mode 100644 index 0000000000..6628a50dce --- /dev/null +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java @@ -0,0 +1,33 @@ +package co.elastic.apm.agent.httpclient.v5; + +import net.bytebuddy.description.NamedElement; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; + +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; +import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; +import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; +import static net.bytebuddy.matcher.ElementMatchers.nameContains; +import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.not; + +public abstract class BaseApacheHttp5EntityInstrumentation extends BaseApacheHttpClient5Instrumentation { + @Override + public ElementMatcher.Junction getClassLoaderMatcher() { + return not(isBootstrapClassLoader()).and(classLoaderCanLoadClass("org.apache.hc.core5.http.HttpEntity")); + } + + @Override + public ElementMatcher getTypeMatcherPreFilter() { + return nameContains("Entity").and( + nameStartsWith("org.apache.hc") + .or(nameStartsWith("org.springframework.http")) //spring implements its own HttpEntities + ); + } + + @Override + public ElementMatcher getTypeMatcher() { + return hasSuperType(named("org.apache.hc.core5.http.HttpEntity")); + } +} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java index 233a92188a..46d63539b9 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java @@ -25,9 +25,12 @@ import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.configuration.CoreConfiguration; import org.apache.hc.client5.http.CircularRedirectException; +import org.apache.hc.client5.http.async.methods.SimpleHttpRequest; import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; import org.apache.hc.client5.http.routing.RoutingSupport; import org.apache.hc.core5.http.ClassicHttpRequest; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.HttpEntityContainer; import org.apache.hc.core5.http.HttpException; import org.apache.hc.core5.http.HttpHost; import org.apache.hc.core5.http.HttpRequest; @@ -36,7 +39,7 @@ import java.net.URI; import java.net.URISyntaxException; -public class ApacheHttpClient5ApiAdapter implements ApacheHttpClientApiAdapter { +public class ApacheHttpClient5ApiAdapter implements ApacheHttpClientApiAdapter { private static final ApacheHttpClient5ApiAdapter INSTANCE = new ApacheHttpClient5ApiAdapter(); private static final Logger logger = LoggerFactory.getLogger(ApacheHttpClient5ApiAdapter.class); @@ -76,6 +79,15 @@ public CharSequence getHostName(@Nullable HttpHost httpHost, ClassicHttpRequest } } + @Nullable + @Override + public byte[] getSimpleBodyBytes(HttpRequest httpRequest) { + if (httpRequest instanceof SimpleHttpRequest) { + return ((SimpleHttpRequest) httpRequest).getBodyBytes(); + } + return null; + } + @Override public int getResponseCode(CloseableHttpResponse closeableHttpResponse) { return closeableHttpResponse.getCode(); @@ -94,4 +106,13 @@ public boolean isNotNullStatusLine(CloseableHttpResponse closeableHttpResponse) // HTTP response messages in HttpClient 5.x no longer have a status line. return true; } + + @Nullable + @Override + public HttpEntity getRequestEntity(HttpRequest httpRequest) { + if (httpRequest instanceof HttpEntityContainer) { + return ((HttpEntityContainer) httpRequest).getEntity(); + } + return null; + } } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java index 0edd80e85e..51722905ab 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java @@ -20,10 +20,11 @@ import co.elastic.apm.agent.httpclient.HttpClientHelper; +import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.pooling.Recyclable; import org.apache.hc.core5.http.EntityDetails; import org.apache.hc.core5.http.HttpException; @@ -78,6 +79,7 @@ public void sendRequest(HttpRequest httpRequest, EntityDetails entityDetails, Ht if (httpRequest != null) { if (span != null) { + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(httpRequest, span, ApacheHttpClient5ApiAdapter.get(), RequestHeaderAccessor.INSTANCE); String host = null; String protocol = null; int port = -1; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation index 04dd6ced97..a684cb014f 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation @@ -1,2 +1,4 @@ co.elastic.apm.agent.httpclient.v5.ApacheHttpClient5Instrumentation co.elastic.apm.agent.httpclient.v5.ApacheHttpAsyncClient5Instrumentation +co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityWriteToInstrumentation +co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityGetContentInstrumentation diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java index ed117da025..e709e71ebe 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java @@ -29,6 +29,8 @@ import org.apache.hc.client5.http.impl.async.HttpAsyncClients; import org.apache.hc.client5.http.protocol.HttpClientContext; import org.apache.hc.core5.concurrent.FutureCallback; +import org.apache.hc.core5.http.ContentType; +import org.apache.hc.core5.http.HttpResponse; import org.apache.hc.core5.http.ProtocolException; import org.apache.hc.core5.net.URIAuthority; import org.junit.AfterClass; @@ -86,6 +88,44 @@ public void cancelled() { responseFuture.get(); } + @Override + protected boolean isBodyCapturingSupported() { + return true; + } + + @Override + public void testPostBodyCaptureForExistingSpan() throws Exception { + //TODO: async http client instrumentation does not support capturing bodies for existing spans yet + } + + @Override + protected void performPost(String path, byte[] data, String contentTypeHeader) throws Exception { + final CompletableFuture responseFuture = new CompletableFuture<>(); + SimpleHttpRequest req = SimpleRequestBuilder.get().setPath(path) + .addHeader("Content-Type", contentTypeHeader) + .setBody(data, ContentType.parse(contentTypeHeader)) + .build(); + HttpClientContext httpClientContext = HttpClientContext.create(); + client.execute(req, httpClientContext, new FutureCallback() { + @Override + public void completed(SimpleHttpResponse simpleHttpResponse) { + responseFuture.complete(simpleHttpResponse); + } + + @Override + public void failed(Exception e) { + responseFuture.completeExceptionally(e); + } + + @Override + public void cancelled() { + responseFuture.cancel(true); + } + }); + + responseFuture.get(); + } + @Test public void testSpanFinishOnEarlyException() throws Exception { diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java index ef04c9f59e..0ec0db4f15 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java @@ -22,15 +22,19 @@ import co.elastic.apm.agent.httpclient.AbstractHttpClientInstrumentationTest; import org.apache.hc.client5.http.ClientProtocolException; import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.classic.methods.HttpPost; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.HttpClients; import org.apache.hc.core5.http.ClassicHttpResponse; +import org.apache.hc.core5.http.ContentType; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.io.HttpClientResponseHandler; import org.apache.hc.core5.http.io.entity.EntityUtils; +import org.apache.hc.core5.http.io.entity.InputStreamEntity; import org.junit.AfterClass; import org.junit.BeforeClass; +import java.io.ByteArrayInputStream; import java.io.IOException; public class ApacheHttpClientExecuteOpenInstrumentationTest extends AbstractHttpClientInstrumentationTest { @@ -59,20 +63,34 @@ public boolean isTestHttpCallWithUserInfoEnabled() { return false; } + private final HttpClientResponseHandler responseHandler = response -> { + int status = response.getCode(); + if (status >= 200 && status < 300) { + HttpEntity entity = response.getEntity(); + return entity != null ? EntityUtils.toString(entity) : null; + } else { + throw new ClientProtocolException("Unexpected response status: " + status); + } + }; + @Override protected void performGet(String path) throws Exception { - HttpClientResponseHandler responseHandler = response -> { - int status = response.getCode(); - if (status >= 200 && status < 300) { - HttpEntity entity = response.getEntity(); - String res = entity != null ? EntityUtils.toString(entity) : null; - return res; - } else { - throw new ClientProtocolException("Unexpected response status: " + status); - } - }; - ClassicHttpResponse response = client.executeOpen(null, new HttpGet(path), null); responseHandler.handleResponse(response); } + + @Override + protected boolean isBodyCapturingSupported() { + return true; + } + + @Override + protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { + HttpPost request = new HttpPost(path); + request.setEntity(new InputStreamEntity(new ByteArrayInputStream(content), ContentType.parse(contentTypeHeader))); + request.setHeader("Content-Type", contentTypeHeader); + + ClassicHttpResponse response = client.executeOpen(null, request, null); + responseHandler.handleResponse(response); + } } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java index 7ed5a2163c..0bb2a70457 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java @@ -22,14 +22,18 @@ import co.elastic.apm.agent.httpclient.AbstractHttpClientInstrumentationTest; import org.apache.hc.client5.http.ClientProtocolException; import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.classic.methods.HttpPost; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.core5.http.ContentType; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.io.HttpClientResponseHandler; import org.apache.hc.core5.http.io.entity.EntityUtils; +import org.apache.hc.core5.http.io.entity.InputStreamEntity; import org.junit.AfterClass; import org.junit.BeforeClass; +import java.io.ByteArrayInputStream; import java.io.IOException; public class ApacheHttpClientInstrumentationTest extends AbstractHttpClientInstrumentationTest { @@ -58,18 +62,33 @@ public boolean isTestHttpCallWithUserInfoEnabled() { return false; } + private final HttpClientResponseHandler responseHandler = response -> { + int status = response.getCode(); + if (status >= 200 && status < 300) { + HttpEntity entity = response.getEntity(); + String res = entity != null ? EntityUtils.toString(entity) : null; + return res; + } else { + throw new ClientProtocolException("Unexpected response status: " + status); + } + }; + @Override protected void performGet(String path) throws Exception { - HttpClientResponseHandler responseHandler = response -> { - int status = response.getCode(); - if (status >= 200 && status < 300) { - HttpEntity entity = response.getEntity(); - String res = entity != null ? EntityUtils.toString(entity) : null; - return res; - } else { - throw new ClientProtocolException("Unexpected response status: " + status); - } - }; - String response = client.execute(new HttpGet(path), responseHandler); + client.execute(new HttpGet(path), responseHandler); + } + + @Override + protected boolean isBodyCapturingSupported() { + return true; + } + + @Override + protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { + HttpPost request = new HttpPost(path); + request.setEntity(new InputStreamEntity(new ByteArrayInputStream(content), ContentType.parse(contentTypeHeader))); + request.setHeader("Content-Type", contentTypeHeader); + + client.execute(request, responseHandler); } } diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java index 307e2f815c..d822e255b3 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java @@ -103,10 +103,6 @@ public static boolean isBodyCapturingSupported(Object restTemplateObj) { // We do not support body capturing for OkHttp yet return false; } - if (restTemplate.getRequestFactory() instanceof HttpComponentsClientHttpRequestFactory) { - //apache http client v5 is also not supported yet - return false; - } return true; } From 7fdb0bc5989438c1dcaf30f4b9e7f97710ef0380 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 14:18:40 +0200 Subject: [PATCH 24/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to c16d3ad (#3771) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index d801c7bf61..4e5ddff9b0 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:e11c6912723c5a0ceeaeb2353329606270292e20c280a0a28d25e8d35474475f +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:c16d3ad6cebf387e8dd2ad769f54320c4819fbbaa21e729fad087c7ae223b4d0 RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From f82eb6aab13679d69e598d9613d57a448f4c0b1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 16:55:25 +0200 Subject: [PATCH 25/98] build: bump redis.clients:jedis from 1.4.0 to 5.1.4 (#3770) * build: bump redis.clients:jedis from 1.4.0 to 5.1.4 Bumps [redis.clients:jedis](https://github.com/redis/jedis) from 1.4.0 to 5.1.4. - [Release notes](https://github.com/redis/jedis/releases) - [Commits](https://github.com/redis/jedis/compare/jedis-1.4.0...v5.1.4) --- updated-dependencies: - dependency-name: redis.clients:jedis dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * keep older versions --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> --- apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index 109670c4da..25a19047ba 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -46,7 +46,7 @@ redis.clients jedis - 5.1.3 + 5.1.4 test From 0d27398584fc1674871526424935090f1d71c1da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 16:55:38 +0200 Subject: [PATCH 26/98] build: bump version.byte-buddy from 1.14.18 to 1.14.19 (#3768) * build: bump version.byte-buddy from 1.14.18 to 1.14.19 Bumps `version.byte-buddy` from 1.14.18 to 1.14.19. Updates `net.bytebuddy:byte-buddy` from 1.14.18 to 1.14.19 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.14.18...byte-buddy-1.14.19) Updates `net.bytebuddy:byte-buddy-agent` from 1.9.16 to 1.14.19 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.9.16...byte-buddy-1.14.19) Updates `net.bytebuddy:byte-buddy-dep` from 1.14.18 to 1.14.19 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.14.18...byte-buddy-1.14.19) --- updated-dependencies: - dependency-name: net.bytebuddy:byte-buddy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: net.bytebuddy:byte-buddy-agent dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: net.bytebuddy:byte-buddy-dep dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * update from main * keep old version for test in app * remove unrelated changes --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1419ae3f35..363b9c43ea 100644 --- a/pom.xml +++ b/pom.xml @@ -130,7 +130,7 @@ 9.4.11.v20180605 1.5.1 - 1.14.18 + 1.14.19 9.7 5.4.0 From d1e4580954a0448b123c700900cb3b63a2e6ee11 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Tue, 27 Aug 2024 12:53:04 +0200 Subject: [PATCH 27/98] Add body capturing for reactive spring webclient (#3754) --- .../agent/impl/context/BodyCaptureImpl.java | 47 ++++-- .../impl/context/BodyCaptureImplTest.java | 20 ++- .../serialize/DslJsonSerializerTest.java | 3 +- .../common/RequestBodyCaptureRegistry.java | 2 +- .../agent/httpclient/HttpClientHelper.java | 29 +++- .../RequestBodyRecordingHelper.java | 14 +- .../RequestBodyRecordingHelperTest.java | 6 +- .../springwebclient/BodyCaptureRegistry.java | 30 ++++ .../ClientHttpConnectorInstrumentation.java | 102 +++++++++++++ .../ClientHttpRequestInstrumentation.java | 136 ++++++++++++++++++ .../ClientRequestHeaderGetter.java | 29 ++++ ...ClientExchangeFunctionInstrumentation.java | 4 +- ...ic.apm.agent.sdk.ElasticApmInstrumentation | 2 + .../WebClientInstrumentationIT.java | 14 ++ .../WebClientInstrumentationTest.java | 55 +++++++ .../HttpUrlConnectionInstrumentation.java | 2 +- .../agent/tracer/metadata/BodyCapture.java | 53 +++++-- 17 files changed, 508 insertions(+), 40 deletions(-) create mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java create mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java create mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java create mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java index e6560f1b82..8cdb1e4973 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java @@ -46,9 +46,11 @@ public void recycle(ByteBuffer object) { }); private enum CaptureState { - NOT_ELIGIBLE, - ELIGIBLE, - STARTED + NOT_ELIGIBLE, // initial state + ELIGIBLE, // eligible but before preconditions evaluation + PRECONDITIONS_PASSED, // post preconditions (passed), can start capture + PRECONDITIONS_FAILED, // post preconditions (failed), no body will be captured + STARTED // the body capturing has been started, a buffer was acquired } private volatile CaptureState state; @@ -95,17 +97,42 @@ public boolean isEligibleForCapturing() { } @Override - public boolean startCapture(@Nullable String requestCharset, int numBytesToCapture) { + public boolean havePreconditionsBeenChecked() { + return state == CaptureState.PRECONDITIONS_PASSED + || state == CaptureState.PRECONDITIONS_FAILED + || state == CaptureState.STARTED; + } + + @Override + public void markPreconditionsFailed() { + synchronized (this) { + if (state == CaptureState.ELIGIBLE) { + state = CaptureState.PRECONDITIONS_FAILED; + } + } + } + + @Override + public void markPreconditionsPassed(@Nullable String requestCharset, int numBytesToCapture) { if (numBytesToCapture > WebConfiguration.MAX_BODY_CAPTURE_BYTES) { throw new IllegalArgumentException("Capturing " + numBytesToCapture + " bytes is not supported, maximum is " + WebConfiguration.MAX_BODY_CAPTURE_BYTES + " bytes"); } - if (state == CaptureState.ELIGIBLE) { + synchronized (this) { + if (state == CaptureState.ELIGIBLE) { + if (requestCharset != null) { + this.charset.append(requestCharset); + } + this.numBytesToCapture = numBytesToCapture; + state = CaptureState.PRECONDITIONS_PASSED; + } + } + } + + @Override + public boolean startCapture() { + if (state == CaptureState.PRECONDITIONS_PASSED) { synchronized (this) { - if (state == CaptureState.ELIGIBLE) { - if (requestCharset != null) { - this.charset.append(requestCharset); - } - this.numBytesToCapture = numBytesToCapture; + if (state == CaptureState.PRECONDITIONS_PASSED) { state = CaptureState.STARTED; return true; } diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java index c1e4e0ea31..26ea3172c0 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java @@ -32,7 +32,8 @@ public class BodyCaptureImplTest { public void testAppendTruncation() { BodyCaptureImpl capture = new BodyCaptureImpl(); capture.markEligibleForCapturing(); - capture.startCapture("foobar", 10); + capture.markPreconditionsPassed("foobar", 10); + capture.startCapture(); assertThat(capture.isFull()).isFalse(); capture.append("123Hello World!".getBytes(StandardCharsets.UTF_8), 3, 5); @@ -55,21 +56,28 @@ public void testLifecycle() { BodyCaptureImpl capture = new BodyCaptureImpl(); assertThat(capture.isEligibleForCapturing()).isFalse(); - assertThat(capture.startCapture("foobar", 42)) + assertThat(capture.havePreconditionsBeenChecked()).isFalse(); + assertThat(capture.startCapture()) .isFalse(); assertThatThrownBy(() -> capture.append((byte) 42)).isInstanceOf(IllegalStateException.class); capture.markEligibleForCapturing(); assertThat(capture.isEligibleForCapturing()).isTrue(); + assertThat(capture.havePreconditionsBeenChecked()).isFalse(); assertThatThrownBy(() -> capture.append((byte) 42)).isInstanceOf(IllegalStateException.class); - assertThat(capture.startCapture("foobar", 42)) - .isTrue(); + capture.markPreconditionsPassed("foobar", 42); + assertThat(capture.isEligibleForCapturing()).isTrue(); + assertThat(capture.havePreconditionsBeenChecked()).isTrue(); + + + assertThat(capture.startCapture()).isTrue(); capture.append((byte) 42); //ensure no exception thrown // startCapture should return true only once - assertThat(capture.startCapture("foobar", 42)) - .isFalse(); + assertThat(capture.havePreconditionsBeenChecked()).isTrue(); + assertThat(capture.startCapture()).isFalse(); + assertThat(capture.havePreconditionsBeenChecked()).isTrue(); capture.resetState(); assertThat(capture.getCharset()).isNull(); diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java index e2c76649aa..834a9c7f26 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java @@ -475,7 +475,8 @@ private SpanImpl createSpanWithRequestBody(@Nullable byte[] bodyBytes, @Nullable SpanImpl span = new SpanImpl(tracer); BodyCaptureImpl bodyCapture = span.getContext().getHttp().getRequestBody(); bodyCapture.markEligibleForCapturing(); - bodyCapture.startCapture(charset, WebConfiguration.MAX_BODY_CAPTURE_BYTES); + bodyCapture.markPreconditionsPassed(charset, WebConfiguration.MAX_BODY_CAPTURE_BYTES); + bodyCapture.startCapture(); if (bodyBytes != null) { bodyCapture.append(bodyBytes, 0, bodyBytes.length); diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java index 052591ba6e..052626b80a 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java @@ -56,7 +56,7 @@ public static void potentiallyCaptureRequestBody( ApacheHttpClientEntityAccessor adapter, TextHeaderGetter headerGetter ) { - if (HttpClientHelper.startRequestBodyCapture(abstractSpan, request, headerGetter)) { + if (HttpClientHelper.checkAndStartRequestBodyCapture(abstractSpan, request, headerGetter)) { Span span = (Span) abstractSpan; byte[] simpleBytes = adapter.getSimpleBodyBytes(request); if (simpleBytes != null) { diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java index 61bb7e7e66..2641adb865 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java @@ -27,6 +27,7 @@ import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.configuration.WebConfiguration; import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; +import co.elastic.apm.agent.tracer.metadata.BodyCapture; import javax.annotation.Nullable; import java.net.URI; @@ -75,18 +76,23 @@ public static Span startHttpClientSpan(TraceState activeContext, String me return span; } - public static boolean startRequestBodyCapture(@Nullable AbstractSpan abstractSpan, R request, TextHeaderGetter headerGetter) { + public static void checkBodyCapturePreconditions(@Nullable AbstractSpan abstractSpan, R request, TextHeaderGetter headerGetter) { if (!(abstractSpan instanceof Span)) { - return false; + return; } Span span = (Span) abstractSpan; - if (!span.getContext().getHttp().getRequestBody().isEligibleForCapturing()) { - return false; + BodyCapture bodyCapture = span.getContext().getHttp().getRequestBody(); + if (!bodyCapture.isEligibleForCapturing()) { + return; + } + if (bodyCapture.havePreconditionsBeenChecked()) { + return; } WebConfiguration webConfig = GlobalTracer.get().getConfig(WebConfiguration.class); int byteCount = webConfig.getCaptureClientRequestBytes(); if (byteCount == 0) { - return false; + bodyCapture.markPreconditionsFailed(); + return; } List contentTypes = webConfig.getCaptureContentTypes(); String contentTypeHeader = headerGetter.getFirstHeader("Content-Type", request); @@ -94,10 +100,19 @@ public static boolean startRequestBodyCapture(@Nullable AbstractSpan abst contentTypeHeader = ""; } if (WildcardMatcher.anyMatch(contentTypes, contentTypeHeader) == null) { + bodyCapture.markPreconditionsFailed(); + return; + } + bodyCapture.markPreconditionsPassed(extractCharsetFromContentType(contentTypeHeader), byteCount); + } + + public static boolean checkAndStartRequestBodyCapture(@Nullable AbstractSpan abstractSpan, R request, TextHeaderGetter headerGetter) { + if (!(abstractSpan instanceof Span)) { return false; } - String charset = extractCharsetFromContentType(contentTypeHeader); - return span.getContext().getHttp().getRequestBody().startCapture(charset, byteCount); + checkBodyCapturePreconditions(abstractSpan, request, headerGetter); + Span span = (Span) abstractSpan; + return span.getContext().getHttp().getRequestBody().startCapture(); } //Visible for testing diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java index 789471ae47..a75274426a 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java @@ -4,7 +4,7 @@ import co.elastic.apm.agent.tracer.SpanEndListener; import co.elastic.apm.agent.tracer.metadata.BodyCapture; -class RequestBodyRecordingHelper implements SpanEndListener> { +public class RequestBodyRecordingHelper implements SpanEndListener> { /** * We do not need to participate in span reference counting here. @@ -21,17 +21,25 @@ public RequestBodyRecordingHelper(Span clientSpan) { } } - void appendToBody(byte b) { + + /** + * @param b the byte to append + * @return false, if the body buffer is full and future calls would be no-op. True otherwise. + */ + public boolean appendToBody(byte b) { if (clientSpan != null) { BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); requestBody.append(b); if (requestBody.isFull()) { releaseSpan(); + } else { + return true; } } + return false; } - void appendToBody(byte[] b, int off, int len) { + public void appendToBody(byte[] b, int off, int len) { if (clientSpan != null) { BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); requestBody.append(b, off, len); diff --git a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java index 097b5b564f..ad534b361f 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java +++ b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java @@ -40,7 +40,8 @@ public void ensureNoModificationAfterSpanEnd() { SpanImpl span = rootTx.createSpan(); BodyCaptureImpl spanBody = span.getContext().getHttp().getRequestBody(); spanBody.markEligibleForCapturing(); - spanBody.startCapture(null, 100); + spanBody.markPreconditionsPassed(null, 100); + spanBody.startCapture(); RequestBodyRecordingHelper helper = new RequestBodyRecordingHelper(span); helper.appendToBody(new byte[]{1, 2, 3, 4}, 1, 2); @@ -66,7 +67,8 @@ public void ensureLimitRespected() { SpanImpl span = rootTx.createSpan(); BodyCaptureImpl spanBody = span.getContext().getHttp().getRequestBody(); spanBody.markEligibleForCapturing(); - spanBody.startCapture(null, 3); + spanBody.markPreconditionsPassed(null, 3); + spanBody.startCapture(); RequestBodyRecordingHelper helper = new RequestBodyRecordingHelper(span); helper.appendToBody((byte) 1); diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java new file mode 100644 index 0000000000..6ef7dae3c6 --- /dev/null +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java @@ -0,0 +1,30 @@ +package co.elastic.apm.agent.springwebclient; + +import co.elastic.apm.agent.httpclient.RequestBodyRecordingHelper; +import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent; +import co.elastic.apm.agent.sdk.weakconcurrent.WeakMap; +import co.elastic.apm.agent.tracer.AbstractSpan; +import co.elastic.apm.agent.tracer.Span; +import org.springframework.http.client.reactive.ClientHttpRequest; + +import javax.annotation.Nullable; + +public class BodyCaptureRegistry { + + private static final WeakMap PENDING_RECORDINGS = WeakConcurrent.buildMap(); + + public static void maybeCaptureBodyFor(AbstractSpan abstractSpan, ClientHttpRequest request) { + if (!(abstractSpan instanceof Span)) { + return; + } + Span span = (Span) abstractSpan; + if (span.getContext().getHttp().getRequestBody().startCapture()) { + PENDING_RECORDINGS.put(request, new RequestBodyRecordingHelper(span)); + } + } + + @Nullable + public static RequestBodyRecordingHelper activateRecording(ClientHttpRequest request) { + return PENDING_RECORDINGS.remove(request); + } +} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java new file mode 100644 index 0000000000..ceeec4be33 --- /dev/null +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java @@ -0,0 +1,102 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.springwebclient; + +import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; +import co.elastic.apm.agent.tracer.GlobalTracer; +import co.elastic.apm.agent.tracer.TraceState; +import co.elastic.apm.agent.tracer.Tracer; +import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.NamedElement; +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; +import org.springframework.http.HttpMethod; +import org.springframework.http.client.reactive.ClientHttpRequest; +import reactor.core.publisher.Mono; + +import javax.annotation.Nullable; +import java.net.URI; +import java.util.Arrays; +import java.util.Collection; +import java.util.function.Function; + +import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; +import static net.bytebuddy.matcher.ElementMatchers.isInterface; +import static net.bytebuddy.matcher.ElementMatchers.nameContains; +import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.not; +import static net.bytebuddy.matcher.ElementMatchers.takesArgument; + +/** + * Instruments all {@link org.springframework.http.client.reactive.ClientHttpConnector} types, to preserve the span context + * within the callback passed to {@link org.springframework.http.client.reactive.ClientHttpConnector#connect(HttpMethod, URI, Function)}. + * If the span is ready for it, this will cause the request body to be captured. + */ +public class ClientHttpConnectorInstrumentation extends ElasticApmInstrumentation { + + private static final Tracer tracer = GlobalTracer.get(); + + @Override + public ElementMatcher getTypeMatcherPreFilter() { + return nameStartsWith("org.springframework.http.") + .and(nameContains("Connector")); + } + + @Override + public ElementMatcher getTypeMatcher() { + return hasSuperType(named("org.springframework.http.client.reactive.ClientHttpConnector")) + .and(not(isInterface())); + } + + @Override + public ElementMatcher getMethodMatcher() { + return named("connect") + .and(takesArgument(2, named("java.util.function.Function"))); + } + + @Override + public Collection getInstrumentationGroupNames() { + return Arrays.asList("http-client", "spring-webclient"); + } + + public static class AdviceClass { + + @Nullable + @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) + @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(2)) + public static Function> onBefore(@Advice.Argument(2) Function> requestCallback) { + TraceState context = tracer.currentContext(); + if (context.isEmpty()) { + return requestCallback; + } + return new Function>() { + @Override + public Mono apply(ClientHttpRequest clientHttpRequest) { + // Note that even though ClientHttpRequest exposes headers via the interface, those are empty + // therefore we check the span capturing pre-conditions in the WebClientExchangeFunctionInstrumentation instead + BodyCaptureRegistry.maybeCaptureBodyFor(context.getSpan(), clientHttpRequest); + return requestCallback.apply(clientHttpRequest); + } + }; + } + + } +} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java new file mode 100644 index 0000000000..2a7757fced --- /dev/null +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java @@ -0,0 +1,136 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.springwebclient; + +import co.elastic.apm.agent.httpclient.RequestBodyRecordingHelper; +import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; +import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.NamedElement; +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; +import org.reactivestreams.Publisher; +import org.springframework.core.io.buffer.DataBuffer; +import org.springframework.http.client.reactive.ClientHttpRequest; +import reactor.core.publisher.Flux; + +import javax.annotation.Nullable; +import java.util.Arrays; +import java.util.Collection; +import java.util.function.Consumer; +import java.util.function.Function; + +import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; +import static net.bytebuddy.matcher.ElementMatchers.isInterface; +import static net.bytebuddy.matcher.ElementMatchers.nameContains; +import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.not; +import static net.bytebuddy.matcher.ElementMatchers.takesArgument; + +/** + * Instruments both {@link ClientHttpRequest#writeWith(Publisher)} and {@link ClientHttpRequest#writeAndFlushWith(Publisher)} + * to capture the request body. + */ +public class ClientHttpRequestInstrumentation extends ElasticApmInstrumentation { + + @Override + public ElementMatcher getTypeMatcherPreFilter() { + return nameStartsWith("org.springframework.http.client.reactive") + .and(nameContains("HttpRequest")); + } + + @Override + public ElementMatcher getTypeMatcher() { + return hasSuperType(named("org.springframework.http.client.reactive.ClientHttpRequest")) + .and(not(isInterface())); + } + + @Override + public ElementMatcher getMethodMatcher() { + return takesArgument(0, named("org.reactivestreams.Publisher")).and( + named("writeWith").or(named("writeAndFlushWith"))); + } + + @Override + public Collection getInstrumentationGroupNames() { + return Arrays.asList("http-client", "spring-webclient"); + } + + public static class AdviceClass { + + @Nullable + @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) + @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(0)) + @SuppressWarnings("unchecked") + public static Publisher onBefore( + @Advice.Origin("#m") String methodName, + @Advice.This ClientHttpRequest clientRequest, + @Advice.Argument(0) Publisher bodyPublisher + ) { + RequestBodyRecordingHelper activeRecording = BodyCaptureRegistry.activateRecording(clientRequest); + // Note that activateRecording would return null on subsequent calls for the same span + // This is important because writeAndFlushWith might be built on top of writeWith (or the other way round) + // The removal helps to not double capture the body in this case. + if (activeRecording == null) { + return bodyPublisher; + } + RecordingConsumer recordingConsumer = new RecordingConsumer(activeRecording); + if (methodName.equals("writeWith")) { + Publisher actualPublisher = (Publisher) bodyPublisher; + return Flux.from(actualPublisher) + .doOnNext(recordingConsumer); + } else if (methodName.equals("writeAndFlushWith")) { + Publisher> actualPublisher + = (Publisher>) bodyPublisher; + return Flux.from(actualPublisher) + .map(new Function, Publisher>() { + @Override + public Publisher apply(Publisher publisher) { + return Flux.from(publisher) + .doOnNext(recordingConsumer); + } + }); + } else { + throw new IllegalStateException("This case should never happen"); + } + } + } + + private static class RecordingConsumer implements Consumer { + + private final RequestBodyRecordingHelper recordTo; + + private RecordingConsumer(RequestBodyRecordingHelper recordTo) { + this.recordTo = recordTo; + } + + @Override + public void accept(DataBuffer dataBuffer) { + int positionBackUp = dataBuffer.readPosition(); + while (dataBuffer.readableByteCount() > 0) { + if (!recordTo.appendToBody(dataBuffer.read())) { + break; + } + } + dataBuffer.readPosition(positionBackUp); + } + } + +} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java new file mode 100644 index 0000000000..1bc6f13f66 --- /dev/null +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java @@ -0,0 +1,29 @@ +package co.elastic.apm.agent.springwebclient; + +import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; +import org.springframework.web.reactive.function.client.ClientRequest; + +import javax.annotation.Nullable; +import java.util.List; + +public class ClientRequestHeaderGetter implements TextHeaderGetter { + + public static final ClientRequestHeaderGetter INSTANCE = new ClientRequestHeaderGetter(); + + @Nullable + @Override + public String getFirstHeader(String headerName, ClientRequest carrier) { + return carrier.headers().getFirst(headerName); + } + + @Override + public void forEach(String headerName, ClientRequest carrier, S state, HeaderConsumer consumer) { + List headerValues = carrier.headers().get(headerName); + if (headerValues == null) { + return; + } + for (String value : headerValues) { + consumer.accept(value, state); + } + } +} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java index 6ae015d439..aef6617f6e 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java @@ -22,8 +22,8 @@ import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; import co.elastic.apm.agent.tracer.GlobalTracer; import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.TraceState; +import co.elastic.apm.agent.tracer.Tracer; import net.bytebuddy.asm.Advice; import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument; import net.bytebuddy.description.NamedElement; @@ -85,6 +85,8 @@ public static Object[] onBefore(@Advice.Argument(0) ClientRequest clientRequest) span.activate(); } + HttpClientHelper.checkBodyCapturePreconditions(tracer.getActive(), clientRequest, ClientRequestHeaderGetter.INSTANCE); + TraceState toPropagate = tracer.currentContext(); if (!toPropagate.isEmpty()) { ClientRequest.Builder builder = ClientRequest.from(clientRequest); diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation index 808ca3da32..7e3bb40c17 100755 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation @@ -1 +1,3 @@ co.elastic.apm.agent.springwebclient.WebClientExchangeFunctionInstrumentation +co.elastic.apm.agent.springwebclient.ClientHttpConnectorInstrumentation +co.elastic.apm.agent.springwebclient.ClientHttpRequestInstrumentation diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java index 2a2fd670f1..126a999d5d 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java @@ -24,6 +24,7 @@ import org.junit.jupiter.params.provider.ValueSource; import org.springframework.http.client.reactive.ReactorClientHttpConnector; import org.springframework.web.reactive.function.client.WebClient; +import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; import java.util.Arrays; @@ -82,5 +83,18 @@ public boolean isTestHttpCallWithUserInfoEnabled() { protected void performGet(String path) throws Exception { webClient.get().uri(path).exchangeToMono(response -> response.bodyToMono(String.class)).block(); } + + @Override + protected boolean isBodyCapturingSupported() { + return true; + } + + @Override + protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { + webClient.post().uri(path) + .header("Content-Type", contentTypeHeader) + .body(Mono.just(content), byte[].class) + .exchangeToMono(response -> response.bodyToMono(String.class)).block(); + } } } diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java index 006f673732..d949a8b7e0 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java @@ -26,6 +26,7 @@ import org.springframework.http.client.reactive.JettyClientHttpConnector; import org.springframework.http.client.reactive.ReactorClientHttpConnector; import org.springframework.web.reactive.function.client.WebClient; +import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; @RunWith(Parameterized.class) @@ -86,6 +87,16 @@ protected void performGet(String path) throws Exception { strategy.execute(webClient, path); } + @Override + protected boolean isBodyCapturingSupported() { + return true; + } + + @Override + protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { + strategy.execute(webClient, path, content, contentTypeHeader); + } + /** * Client-side API variants to cover. While we know that implementation details might delegate to the same method * we have to test for it to prevent regression in a future version @@ -98,12 +109,34 @@ void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).exchange() // deprecated API .block(); } + + @Override + void execute(Object client, String uri, byte[] body, String contentTypeHeader) { + ((WebClient) client).post() + .uri(uri) + .header("Content-Type", contentTypeHeader) + .body(Mono.just(body), byte[].class) + .exchange() // deprecated API + .block(); + + } }, EXCHANGE_TO_FLUX { @Override void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).exchangeToFlux(response -> response.bodyToFlux(String.class)).blockLast(); } + + @Override + void execute(Object client, String uri, byte[] body, String contentTypeHeader) { + ((WebClient) client).post() + .uri(uri) + .header("Content-Type", contentTypeHeader) + .body(Mono.just(body), byte[].class) + .exchangeToFlux(response -> response.bodyToFlux(String.class)) + .blockLast(); + + } }, EXCHANGE_TO_MONO { // TODO @@ -111,15 +144,37 @@ void execute(Object client, String uri) { void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).exchangeToMono(response -> response.bodyToMono(String.class)).block(); } + + @Override + void execute(Object client, String uri, byte[] body, String contentTypeHeader) { + ((WebClient) client).post() + .uri(uri) + .header("Content-Type", contentTypeHeader) + .body(Mono.just(body), byte[].class) + .exchangeToMono(response -> response.bodyToMono(String.class)).block(); + + } }, RETRIEVE { @Override void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).retrieve().bodyToMono(String.class).block(); } + + @Override + void execute(Object client, String uri, byte[] body, String contentTypeHeader) { + ((WebClient) client).post() + .uri(uri) + .header("Content-Type", contentTypeHeader) + .body(Mono.just(body), byte[].class) + .retrieve().bodyToMono(String.class).block(); + + } }; abstract void execute(Object client, String uri); + + abstract void execute(Object client, String uri, byte[] body, String contentTypeHeader); } public static class Clients { diff --git a/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java b/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java index 62e75d4d07..2105eee66c 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java +++ b/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java @@ -204,7 +204,7 @@ public static OutputStream exit(@Advice.This HttpURLConnection thiz, Span captureBodyFor = captureBodyForSpan.get(thiz); if (captureBodyFor == null) { AbstractSpan currentSpan = tracer.getActive(); - if (HttpClientHelper.startRequestBodyCapture(currentSpan, thiz, UrlConnectionPropertyAccessor.instance())) { + if (HttpClientHelper.checkAndStartRequestBodyCapture(currentSpan, thiz, UrlConnectionPropertyAccessor.instance())) { captureBodyFor = (Span) currentSpan; captureBodyForSpan.put(thiz, captureBodyFor); } diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java index 0d005a126f..5a2070895f 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java @@ -20,6 +20,29 @@ import javax.annotation.Nullable; +/** + * Container class for managing request body capture and associated state. + * This class collects the body as encoded bytearray and a charset with which we'll attempt to decode the body. + *

+ * A span goes through several states to perform body-capture: + *

    + *
  • A span need to be marked as eligible for body capture. This is useful so that higher + * level instrumentation (E.g. Spring RestTemplate) can mark the span that they would like + * to capture the body without having to implement the capturing itself. Lower level instrumentations + * (e.g. for HTTPUrlConnection) will attempt to capture the body for the currently active span even + * if they didn't start a span themselves when the currently active span is marked as eligible. + *
  • + *
  • Even if a span is marked eligible, the body will only be captured if the preconditions have been checked. + * The preconditions check whether based on the agent configuration and the Content-Type header the body shall be captured or not. + * E.g. if the body capturing is disabled via the config, the preconditions will fail for every span. + *
  • + *
  • If the preconditions passed, capturing may be started via {@link #startCapture()}. + * Capturing will only start exactly once, {@link #startCapture()} will return false on subsequent calls. + * This prevents nested instrumentation being capable of capturing the body (e.g. Spring WebFlux WebClient + * and async Apache Http client) of capturing every byte multiple times and therefore reporting a garbage body. + *
  • + *
+ */ public interface BodyCapture { /** @@ -33,23 +56,37 @@ public interface BodyCapture { * @return true, if {@link #markEligibleForCapturing()} was called for this span. */ boolean isEligibleForCapturing(); - + + /** + * @return true, if either {@link #markPreconditionsFailed()} or {@link #markPreconditionsPassed(String, int)} have been called. + */ + boolean havePreconditionsBeenChecked(); + + /** + * Ensures that the no body capturing will be performed for this span, e.g. because it is disabled via the agent config. + */ + void markPreconditionsFailed(); + + /** + * Marks this span so that any capable instrumentation may start the capturing procedure via {@link #startCapture()} + */ + void markPreconditionsPassed(@Nullable String requestCharset, int numBytesToCapture); + + /** * This method acts as a protection mechanism so that only one instrumentation tries to capture the body. * It returns true, if the calling instrumentation shall start adding body byte via {@link #append(byte)}. *

- * For this to happen, {@link #markEligibleForCapturing()} must have been called first. + * For this to happen, both {@link #markEligibleForCapturing()} and {@link #markPreconditionsPassed(String, int)} + * must have been called first. *

- * After {@link #startCapture(String, int)} has returned true once, subsequent calls will return false. + * After {@link #startCapture()} has returned true once, subsequent calls will return false. * So for example if instrumentation A and B are active for the same span, only the first one will actually be capturing the body, - * because {@link #startCapture(String, int)} only returns true once. - * - * @param charset the charset (if available) with which the request-body is encoded. - * @param numBytesToCapture the number of bytes to capture, to configure the limit of the internal buffer + * because {@link #startCapture()} only returns true once. * * @return true, if the calling instrumentation should be capturing the body (by calling {@link #append(byte)} */ - boolean startCapture(@Nullable String charset, int numBytesToCapture); + boolean startCapture(); void append(byte b); From 1c01466191b03a55b1cedc01f7935df17be1a460 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:27:18 +0100 Subject: [PATCH 28/98] build: bump redis.clients:jedis from 1.4.0 to 5.1.5 (#3774) * build: bump redis.clients:jedis from 1.4.0 to 5.1.5 Bumps [redis.clients:jedis](https://github.com/redis/jedis) from 1.4.0 to 5.1.5. - [Release notes](https://github.com/redis/jedis/releases) - [Commits](https://github.com/redis/jedis/compare/jedis-1.4.0...v5.1.5) --- updated-dependencies: - dependency-name: redis.clients:jedis dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * keep older versions --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> --- apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index 25a19047ba..99594c6b89 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -46,7 +46,7 @@ redis.clients jedis - 5.1.4 + 5.1.5 test From 808651832e487566e72d2675a48350f5d44212bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:28:14 +0100 Subject: [PATCH 29/98] build: bump version.byte-buddy from 1.14.19 to 1.15.0 (#3775) * build: bump version.byte-buddy from 1.14.19 to 1.15.0 Bumps `version.byte-buddy` from 1.14.19 to 1.15.0. Updates `net.bytebuddy:byte-buddy` from 1.14.19 to 1.15.0 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.14.19...byte-buddy-1.15.0) Updates `net.bytebuddy:byte-buddy-agent` from 1.9.16 to 1.15.0 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.9.16...byte-buddy-1.15.0) Updates `net.bytebuddy:byte-buddy-dep` from 1.14.19 to 1.15.0 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.14.19...byte-buddy-1.15.0) --- updated-dependencies: - dependency-name: net.bytebuddy:byte-buddy dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: net.bytebuddy:byte-buddy-agent dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: net.bytebuddy:byte-buddy-dep dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * keep old version --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 363b9c43ea..ea7c4f86a6 100644 --- a/pom.xml +++ b/pom.xml @@ -130,7 +130,7 @@ 9.4.11.v20180605 1.5.1 - 1.14.19 + 1.15.0 9.7 5.4.0 From ce9b400d5021591402761a32bb951fe41885941b Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Tue, 27 Aug 2024 14:53:04 +0200 Subject: [PATCH 30/98] Make capture_http_client_request_body_size config option public (#3776) --- CHANGELOG.asciidoc | 4 ++ .../configuration/WebConfiguration.java | 10 +++-- docs/configuration.asciidoc | 42 +++++++++++++++++++ 3 files changed, 52 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 4502be6cea..864acac52b 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -35,6 +35,10 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: ===== Bug fixes * Fix log4j2 log correlation with shaded application jar - {pull}3764[#3764] +[float] +===== Features +* Added experimental option to capture HTTP client request bodies for Apache Http Client v4 and v5, HttpUrlConnection and Spring WebClient - {pull}3776[#3776], {pull}3962[#3962], {pull}3724[#3724], {pull}3754[#3754], {pull}3767[#3767] + [[release-notes-1.x]] === Java Agent version 1.x diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java index 2a35facaf5..d26ba047e1 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java @@ -129,10 +129,12 @@ public class WebConfiguration extends ConfigurationOptionProvider { .addValidator(isInRange(0, MAX_BODY_CAPTURE_BYTES)) .key("capture_http_client_request_body_size") .configurationCategory(HTTP_CATEGORY) - .tags("added[1.50.0]", "internal") - .description("Configures how many bytes of http-client request bodies shall be captured. " + - "Note that only request bodies will be captured for content types matching the capture_body_content_types configuration. " + - " The maximum allowed value is " + MAX_BODY_CAPTURE_BYTES + " , a value of 0 disables body capturing") + .tags("added[1.52.0]", "experimental") + .description("Configures that the first n bytes of http-client request bodies shall be captured. " + + "Note that only request bodies will be captured for content types matching the <> configuration. " + + "The maximum allowed value is " + MAX_BODY_CAPTURE_BYTES + ", a value of 0 disables body capturing.\n\n" + + "Currently only support for Apache Http Client v4 and v5, HttpUrlConnection, Spring Webflux WebClient and other frameworks building on top of these (e.g. Spring RestTemplate).\n\n" + + "The body will be stored in the `labels.http_request_body_content` field on the span documents.") .dynamic(true) .buildWithDefault(0); diff --git a/docs/configuration.asciidoc b/docs/configuration.asciidoc index 3d124b4b2d..df9bf45204 100644 --- a/docs/configuration.asciidoc +++ b/docs/configuration.asciidoc @@ -147,6 +147,7 @@ Click on a key to get more information. ** <> ** <> ** <> +** <> * <> ** <> ** <> @@ -1829,6 +1830,35 @@ Prepending an element with `(?-i)` makes the matching case sensitive. | `elastic.apm.url_groups` | `url_groups` | `ELASTIC_APM_URL_GROUPS` |============ +// This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter +[float] +[[config-capture-http-client-request-body-size]] +==== `capture_http_client_request_body_size` (added[1.52.0] experimental) + +NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases. + +Configures that the first n bytes of http-client request bodies shall be captured. Note that only request bodies will be captured for content types matching the <> configuration. The maximum allowed value is 1024, a value of 0 disables body capturing. + +Currently only support for Apache Http Client v4 and v5, HttpUrlConnection, Spring Webflux WebClient and other frameworks building on top of these (e.g. Spring RestTemplate). + +The body will be stored in the `labels.http_request_body_content` field on the span documents. + +<> + + +[options="header"] +|============ +| Default | Type | Dynamic +| `0` | Integer | true +|============ + + +[options="header"] +|============ +| Java System Properties | Property file | Environment +| `elastic.apm.capture_http_client_request_body_size` | `capture_http_client_request_body_size` | `ELASTIC_APM_CAPTURE_HTTP_CLIENT_REQUEST_BODY_SIZE` +|============ + [[config-huge-traces]] === Huge Traces configuration options @@ -4331,6 +4361,18 @@ Example: `5ms`. # # url_groups= +# Configures that the first n bytes of http-client request bodies shall be captured. Note that only request bodies will be captured for content types matching the <> configuration. The maximum allowed value is 1024, a value of 0 disables body capturing. +# +# Currently only support for Apache Http Client v4 and v5, HttpUrlConnection, Spring Webflux WebClient and other frameworks building on top of these (e.g. Spring RestTemplate). +# +# The body will be stored in the `labels.http_request_body_content` field on the span documents. +# +# This setting can be changed at runtime +# Type: Integer +# Default value: 0 +# +# capture_http_client_request_body_size=0 + ############################################ # Huge Traces # ############################################ From d43005fbec394682512925cfe679fa219a461ab6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 15:25:24 +0000 Subject: [PATCH 31/98] build: bump io.opentelemetry.semconv:opentelemetry-semconv (#3773) Bumps [io.opentelemetry.semconv:opentelemetry-semconv](https://github.com/open-telemetry/semantic-conventions-java) from 1.25.0-alpha to 1.27.0-alpha. - [Release notes](https://github.com/open-telemetry/semantic-conventions-java/releases) - [Changelog](https://github.com/open-telemetry/semantic-conventions-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/semantic-conventions-java/commits) --- updated-dependencies: - dependency-name: io.opentelemetry.semconv:opentelemetry-semconv dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-opentelemetry/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-opentelemetry/pom.xml b/apm-agent-plugins/apm-opentelemetry/pom.xml index f8d496dd53..e4819b2bec 100644 --- a/apm-agent-plugins/apm-opentelemetry/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/pom.xml @@ -20,7 +20,7 @@ to make sure that in the future we stay compatible with the previous version. --> 1.32.0 - 1.25.0-alpha + 1.27.0-alpha 8 8 From 6cb53e970181f631ed74c6f5ff545e08dd310c82 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 15:40:20 +0000 Subject: [PATCH 32/98] build: bump actions/attest-build-provenance in the github-actions group (#3772) Bumps the github-actions group with 1 update: [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance). Updates `actions/attest-build-provenance` from 1.4.1 to 1.4.2 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](https://github.com/actions/attest-build-provenance/compare/310b0a4a3b0b78ef57ecda988ee04b132db73ef8...6149ea5740be74af77f260b9db67e633f6b0a9a1) --- updated-dependencies: - dependency-name: actions/attest-build-provenance dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release-step-3.yml | 2 +- .github/workflows/snapshot.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index 81f3442e69..c62618192f 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -105,7 +105,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@310b0a4a3b0b78ef57ecda988ee04b132db73ef8 # v1.4.1 + uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2 with: subject-path: "${{ github.workspace }}/**/target/*.jar" diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 85a41c2f29..c435574d55 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -69,7 +69,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@310b0a4a3b0b78ef57ecda988ee04b132db73ef8 # v1.4.1 + uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2 with: subject-path: "${{ github.workspace }}/**/target/*.jar" From d698fa5dea60bd421edbf36229f76b3c60aabfaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 09:20:00 +0200 Subject: [PATCH 33/98] build: bump version.aws.sdk in /apm-agent-plugins (#3778) Bumps `version.aws.sdk` from 2.26.27 to 2.27.17. Updates `software.amazon.awssdk:s3` from 2.26.27 to 2.27.17 Updates `software.amazon.awssdk:sqs` from 2.26.27 to 2.27.17 Updates `software.amazon.awssdk:dynamodb` from 2.26.27 to 2.27.17 --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: software.amazon.awssdk:sqs dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: software.amazon.awssdk:dynamodb dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index 07cfd50213..3588546c9f 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -13,7 +13,7 @@ ${project.basedir}/../../.. - 2.26.27 + 2.27.17 2.0.0 8 From aa572c09cb349989a607c39a39dfb3d8757f734f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 07:48:00 +0000 Subject: [PATCH 34/98] build: bump version.aws.sdk in /apm-agent-plugins (#3779) Bumps `version.aws.sdk` from 1.12.767 to 1.12.770. Updates `com.amazonaws:aws-java-sdk-s3` from 1.12.767 to 1.12.770 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.767...1.12.770) Updates `com.amazonaws:aws-java-sdk-dynamodb` from 1.12.767 to 1.12.770 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.767...1.12.770) Updates `com.amazonaws:aws-java-sdk-sqs` from 1.12.767 to 1.12.770 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.767...1.12.770) --- updated-dependencies: - dependency-name: com.amazonaws:aws-java-sdk-s3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-dynamodb dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-sqs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index 65a85032ed..6c33df2a21 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -12,7 +12,7 @@ ${project.basedir}/../../.. - 1.12.767 + 1.12.770 1.1.0 From 803f6da59b34bb16fd7a93484e785a82ccbfaaea Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 13:34:21 +0100 Subject: [PATCH 35/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 59b6a57 (#3777) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 4e5ddff9b0..91dcfd5f6f 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:c16d3ad6cebf387e8dd2ad769f54320c4819fbbaa21e729fad087c7ae223b4d0 +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:59b6a573ce874481d86272329426d4590f948b6714f371fb047c7fb0274f7f12 RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 753bc863060bce1cec0589115975ab449cefb835 Mon Sep 17 00:00:00 2001 From: wolframhaussig <13997737+wolframhaussig@users.noreply.github.com> Date: Mon, 2 Sep 2024 14:39:28 +0200 Subject: [PATCH 36/98] enhance class name detection (#3746) * enhance class name detection * added fix and test for nested scala objects * added changelog entry * remove regex * fix anonymous class names - anonymous classes are now shown as "ParentClass$1" instead of "ParentClass" - added more testcases * fix unit tests --- CHANGELOG.asciidoc | 1 + .../agent/sdk/bytebuddy/ClassNameParser.java | 102 ++++++++++++++++++ ...leMethodSignatureOffsetMappingFactory.java | 3 +- .../sdk/bytebuddy/ClassNameParserTest.java | 83 ++++++++++++++ .../sdk/bytebuddy/clazzes/AnonymousClass.java | 30 ++++++ .../clazzes/AnonymousNestedClass.java | 39 +++++++ .../sdk/bytebuddy/clazzes/Dollar$Class.java | 23 ++++ .../sdk/bytebuddy/clazzes/ParentClass.java | 36 +++++++ .../sdk/bytebuddy/clazzes/ParentObject.java | 29 +++++ .../sdk/bytebuddy/clazzes/ScalaObject$.java | 27 +++++ .../sdk/bytebuddy/clazzes/SimpleClass.java | 23 ++++ .../TimerTaskInstrumentationTest.java | 2 +- 12 files changed, 395 insertions(+), 3 deletions(-) create mode 100644 apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java create mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 864acac52b..e8e14d88be 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -34,6 +34,7 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: [float] ===== Bug fixes * Fix log4j2 log correlation with shaded application jar - {pull}3764[#3764] +* Improve automatic span class name detection for Scala and nested/anonymous classes - {pull}3746[#3746] [float] ===== Features diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java new file mode 100644 index 0000000000..d8c327d0ed --- /dev/null +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java @@ -0,0 +1,102 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy; + +/** + * Utility class to extract the correct simple class name + */ +public class ClassNameParser { + /** + * Utility class, do not instantiate + */ + private ClassNameParser() {} + /** + * returns true if the string only contains digits + * @param str the string to check + * @return + */ + private static boolean isNumeric(String str) { + for(int i = 0; i< str.length(); i++) { + if(!Character.isDigit(str.charAt(i))) { + return false; + } + } + return true; + } + /** + * this method parses the anonymous class name from the full class name + * @param className + * @return + */ + private static String getAnonymousClassName(String className) { + int lastDollarIndex = className.lastIndexOf('$'); + int currentDollarIndex; + String nestedClassName; + // we do not want to show just a number for anonymous classes, so we walk back until we find a named (normal or nested) class + do { + currentDollarIndex = className.lastIndexOf('$', lastDollarIndex -1); + nestedClassName = className.substring(currentDollarIndex + 1, lastDollarIndex); + lastDollarIndex = currentDollarIndex; + } while(currentDollarIndex != -1 && isNumeric(nestedClassName)); + return className.substring(currentDollarIndex + 1); + } + /** + * Parses the class name from nested and anonymous classes (containing a $ sign) + *

+ * Note: We cannot know if the $ sign is part of the class name or denotes a nested/anonymous class. As $ signs should not be used in class names anyway, + * we handle them always as a class separator + *

+ * @param className + * @return + */ + private static String getNestedClassName(String className) { + int dollarIndex = className.lastIndexOf('$'); + String innerClassName = className.substring(dollarIndex + 1); + if(isNumeric(innerClassName)) { + // this is an anonymous inner class + className = getAnonymousClassName(className); + } else { + className = innerClassName; + } + return className; + } + /** + * Parses the simple class name from a class name + * @param className + * @return + */ + public static String parse(String className) { + //remove package name + className = className.substring(className.lastIndexOf('.') + 1); + if(className.contains("$")) { + if(className.endsWith("$")) { + // this can happen if the source code was in Scala and the object keyword was used + // https://www.toptal.com/scala/scala-bytecode-and-the-jvm + className = className.substring(0, className.length() - 1); + if(className.contains("$")) + { + className = getNestedClassName(className); + } + } else { + className = getNestedClassName(className); + } + } + return className; + } +} diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java index d0bc841cd6..3df8507ea1 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java @@ -51,8 +51,7 @@ public Advice.OffsetMapping make(ParameterDescription.InDefinedShape target, public Target resolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod, Assigner assigner, Advice.ArgumentHandler argumentHandler, Sort sort) { final String className = instrumentedMethod.getDeclaringType().getTypeName(); - String simpleClassName = className.substring(className.lastIndexOf('$') + 1); - simpleClassName = simpleClassName.substring(simpleClassName.lastIndexOf('.') + 1); + final String simpleClassName = ClassNameParser.parse(className); final String signature = String.format("%s#%s", simpleClassName, instrumentedMethod.getName()); return Target.ForStackManipulation.of(signature); } diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java new file mode 100644 index 0000000000..bc76d3dd18 --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java @@ -0,0 +1,83 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ParentClass.InnerClass; +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ParentClass.InnerClass.NestedInnerClass; +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ParentObject.ChildScalaObject$; +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.SimpleClass; +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.AnonymousClass; +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.AnonymousNestedClass; +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.Dollar$Class; +import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ScalaObject$; + +class ClassNameParserTest { + + @Test + void testSimpleClassName() { + String className = ClassNameParser.parse(SimpleClass.class.getName()); + assertThat(className).isEqualTo("SimpleClass"); + } + @Test + void testNestedClassName() { + String className = ClassNameParser.parse(InnerClass.class.getName()); + assertThat(className).isEqualTo("InnerClass"); + } + @Test + void testDoubleNestedClassName() { + String className = ClassNameParser.parse(NestedInnerClass.class.getName()); + assertThat(className).isEqualTo("NestedInnerClass"); + } + @Test + void testDollarClassName() { + String className = ClassNameParser.parse(Dollar$Class.class.getName()); + //We have no way to know if the class name is Dollar$Class or Class is a nested class of Dollar + //As dollar signs should not be used in names, it should be fine to detect Class instead of Dollar$Class + assertThat(className).describedAs("Dollar signs should not be used in names").isEqualTo("Class"); + } + @Test + void testAnonymousClassName() { + String className = ClassNameParser.parse(AnonymousClass.getAnonymousClass().getName()); + assertThat(className).isEqualTo("AnonymousClass$1"); + } + @Test + void testAnonymousNestedClassName() { + String className = ClassNameParser.parse(InnerClass.getAnonymousClass().getName()); + assertThat(className).isEqualTo("InnerClass$1"); + } + @Test + void testAnonymousInAnonymousClassName() { + String className = ClassNameParser.parse(AnonymousNestedClass.getAnonymousClass().getName()); + assertThat(className).isEqualTo("AnonymousNestedClass$1$1"); + } + @Test + void testScalaObjectClassName() { + String className = ClassNameParser.parse(ScalaObject$.class.getName()); + assertThat(className).isEqualTo("ScalaObject"); + } + @Test + void testNestedScalaObjectClassName() { + String className = ClassNameParser.parse(ChildScalaObject$.class.getName()); + assertThat(className).isEqualTo("ChildScalaObject"); + } +} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java new file mode 100644 index 0000000000..ec1234c2c7 --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java @@ -0,0 +1,30 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy.clazzes; + +public class AnonymousClass { + public static Class getAnonymousClass() { + return new Object() { + @Override + public String toString() { + return "foo"; + } + }.getClass(); + } +} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java new file mode 100644 index 0000000000..14c01ce0cb --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java @@ -0,0 +1,39 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy.clazzes; + +public class AnonymousNestedClass { + public static Class getAnonymousClass() { + Factory f = new Factory() { + @Override + public Object getObject() { + return new Object() { + @Override + public String toString() { + return "foo"; + } + }; + } + }; + return f.getObject().getClass(); + } + public static interface Factory { + Object getObject(); + } +} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java new file mode 100644 index 0000000000..08aa4c7e3d --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java @@ -0,0 +1,23 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy.clazzes; + +public class Dollar$Class { + +} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java new file mode 100644 index 0000000000..99799af8bf --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java @@ -0,0 +1,36 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy.clazzes; + +public class ParentClass { + + public static class InnerClass { + public static Class getAnonymousClass() { + return new Object() { + @Override + public String toString() { + return "foo"; + } + }.getClass(); + } + public static class NestedInnerClass { + + } + } +} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java new file mode 100644 index 0000000000..3a73eeb973 --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java @@ -0,0 +1,29 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy.clazzes; + +public class ParentObject { + /** + * Scala objects generate a class with a dollar at the end + * https://www.toptal.com/scala/scala-bytecode-and-the-jvm + */ + public class ChildScalaObject$ { + + } +} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java new file mode 100644 index 0000000000..c20f336742 --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java @@ -0,0 +1,27 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy.clazzes; + +/** + * Scala objects generate a class with a dollar at the end + * https://www.toptal.com/scala/scala-bytecode-and-the-jvm + */ +public class ScalaObject$ { + +} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java new file mode 100644 index 0000000000..e0153bffa8 --- /dev/null +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java @@ -0,0 +1,23 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.sdk.bytebuddy.clazzes; + +public class SimpleClass { + +} diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java b/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java index 49c8a4e1a0..d5a8a1163c 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java @@ -80,7 +80,7 @@ public void run() { }, 1); reporter.awaitTransactionCount(1); - assertThat(reporter.getTransactions().get(0).getNameAsString()).isEqualTo("1#run"); + assertThat(reporter.getTransactions().get(0).getNameAsString()).isEqualTo("TimerTaskInstrumentationTest$1#run"); } public static class TestTimerTask extends TimerTask { From 3fda4857459a60b043b880455e302f553f356801 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 19:30:17 +0100 Subject: [PATCH 37/98] build: bump version.mockito from 5.12.0 to 5.13.0 (#3781) Bumps `version.mockito` from 5.12.0 to 5.13.0. Updates `org.mockito:mockito-core` from 5.12.0 to 5.13.0 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.12.0...v5.13.0) Updates `org.mockito:mockito-subclass` from 5.12.0 to 5.13.0 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.12.0...v5.13.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor - dependency-name: org.mockito:mockito-subclass dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ea7c4f86a6..632d378422 100644 --- a/pom.xml +++ b/pom.xml @@ -134,7 +134,7 @@ 9.7 5.4.0 - 5.12.0 + 5.13.0 1.17 From 566f93d8b371770b8de374458525f7ace3b6930b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 10:05:43 +0100 Subject: [PATCH 38/98] build: bump version.byte-buddy from 1.15.0 to 1.15.1 (#3782) * build: bump version.byte-buddy from 1.15.0 to 1.15.1 Bumps `version.byte-buddy` from 1.15.0 to 1.15.1. Updates `net.bytebuddy:byte-buddy` from 1.15.0 to 1.15.1 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.0...byte-buddy-1.15.1) Updates `net.bytebuddy:byte-buddy-agent` from 1.9.16 to 1.15.1 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.9.16...byte-buddy-1.15.1) Updates `net.bytebuddy:byte-buddy-dep` from 1.15.0 to 1.15.1 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.0...byte-buddy-1.15.1) --- updated-dependencies: - dependency-name: net.bytebuddy:byte-buddy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: net.bytebuddy:byte-buddy-agent dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: net.bytebuddy:byte-buddy-dep dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * revert bad upgrade --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jackshirazi --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 632d378422..830a12e056 100644 --- a/pom.xml +++ b/pom.xml @@ -130,7 +130,7 @@ 9.4.11.v20180605 1.5.1 - 1.15.0 + 1.15.1 9.7 5.4.0 From 95bd3d3bad34e0c83c606bb6526a3c6a834ed073 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 15:57:12 +0100 Subject: [PATCH 39/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to aad4cd4 (#3783) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 91dcfd5f6f..4a08d823dc 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:59b6a573ce874481d86272329426d4590f948b6714f371fb047c7fb0274f7f12 +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:aad4cd4e5f6d849691748c6933761889db1a20a57231613b98bbff61fa7723ab RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 0b3a63c1c94be78d18ba1ac69d84179a2f15ebe8 Mon Sep 17 00:00:00 2001 From: obltmachine <150269514+obltmachine@users.noreply.github.com> Date: Thu, 5 Sep 2024 13:51:28 +0200 Subject: [PATCH 40/98] deps(updatecli): bump all policies (#3785) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: deps(updatecli/policy): bump "ghcr.io/elastic/oblt-updatecli-p... ... olicies/apm/apm-data-spec" Updatecli version policy Made with ❤️️ by updatecli * chore: deps(updatecli/policy): bump "ghcr.io/elastic/oblt-updatecli-p... ... olicies/apm/apm-gherkin" Updatecli version policy Made with ❤️️ by updatecli * chore: deps(updatecli/policy): bump "ghcr.io/elastic/oblt-updatecli-p... ... olicies/apm/apm-json-specs" Updatecli version policy Made with ❤️️ by updatecli * use the new way to sign commits --------- Co-authored-by: obltmachine Co-authored-by: Victor Martinez --- .ci/updatecli/values.d/apm-data-spec.yml | 3 +-- .ci/updatecli/values.d/apm-gherkin.yml | 3 +-- .ci/updatecli/values.d/apm-json-specs.yml | 3 +-- .ci/updatecli/values.d/scm.yml | 1 + updatecli-compose.yaml | 6 +++--- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.ci/updatecli/values.d/apm-data-spec.yml b/.ci/updatecli/values.d/apm-data-spec.yml index fd8c9e37f7..eda04f9f54 100644 --- a/.ci/updatecli/values.d/apm-data-spec.yml +++ b/.ci/updatecli/values.d/apm-data-spec.yml @@ -1,2 +1 @@ -apm_schema_specs_path: apm-agent-core/src/test/resources/apm-server-schema/current -signedcommit: true \ No newline at end of file +apm_schema_specs_path: apm-agent-core/src/test/resources/apm-server-schema/current \ No newline at end of file diff --git a/.ci/updatecli/values.d/apm-gherkin.yml b/.ci/updatecli/values.d/apm-gherkin.yml index d676b58b2a..94a53a83ae 100644 --- a/.ci/updatecli/values.d/apm-gherkin.yml +++ b/.ci/updatecli/values.d/apm-gherkin.yml @@ -1,2 +1 @@ -apm_gherkin_specs_path: apm-agent-core/src/test/resources/specs -signedcommit: true \ No newline at end of file +apm_gherkin_specs_path: apm-agent-core/src/test/resources/specs \ No newline at end of file diff --git a/.ci/updatecli/values.d/apm-json-specs.yml b/.ci/updatecli/values.d/apm-json-specs.yml index b1b70a8e69..56874ee125 100644 --- a/.ci/updatecli/values.d/apm-json-specs.yml +++ b/.ci/updatecli/values.d/apm-json-specs.yml @@ -1,2 +1 @@ -apm_json_specs_path: apm-agent-core/src/test/resources/json-specs -signedcommit: true \ No newline at end of file +apm_json_specs_path: apm-agent-core/src/test/resources/json-specs \ No newline at end of file diff --git a/.ci/updatecli/values.d/scm.yml b/.ci/updatecli/values.d/scm.yml index 5cfcec7d2a..15964e08e0 100644 --- a/.ci/updatecli/values.d/scm.yml +++ b/.ci/updatecli/values.d/scm.yml @@ -4,6 +4,7 @@ scm: repository: apm-agent-java apm_repository: apm branch: main + commitusingapi: true # begin update-compose policy values user: obltmachine email: obltmachine@users.noreply.github.com diff --git a/updatecli-compose.yaml b/updatecli-compose.yaml index 372d29ed58..0280356703 100644 --- a/updatecli-compose.yaml +++ b/updatecli-compose.yaml @@ -2,17 +2,17 @@ # https://www.updatecli.io/docs/core/compose/ policies: - name: Handle apm-data server specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-data-spec:0.3.0@sha256:e7cdc38653afecaf9fad748356f545da6eb48bb9262665ff563cda974defb6f5 + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-data-spec:0.4.0@sha256:5ab4c0afe56d8866821644114f5442152457136892e951087cb10b2857270f6d values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-data-spec.yml - name: Handle apm gherkin specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-gherkin:0.3.0@sha256:b8fae37245a5fa99482b3700a53681196c4b42685153d93452f7103bbaf4a5f3 + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-gherkin:0.4.0@sha256:e882af52b8227d36947fdef74f2ed32cc0b508b68c80bfe85f27caf279bcf193 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-gherkin.yml - name: Handle apm json specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-json-specs:0.3.0@sha256:f01667138f2a3a52aa23c556a174d6cdba1209f475d67a73e2aec2d3189b0bb9 + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-json-specs:0.4.0@sha256:15b851ae8eb5bba9cd5320efb94b2c4322cec16ef40c68d9f6b55496a3eea2df values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-json-specs.yml From f6b08a75ab3d69aab0796b32415fe8c597f0761d Mon Sep 17 00:00:00 2001 From: obltmachine <150269514+obltmachine@users.noreply.github.com> Date: Mon, 9 Sep 2024 23:05:13 +0200 Subject: [PATCH 41/98] deps(updatecli): bump all policies (#3787) --- updatecli-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/updatecli-compose.yaml b/updatecli-compose.yaml index 0280356703..bc4f1f0b1f 100644 --- a/updatecli-compose.yaml +++ b/updatecli-compose.yaml @@ -17,7 +17,7 @@ policies: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-json-specs.yml - name: Update Updatecli policies - policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.4.0@sha256:254367f5b1454fd6032b88b314450cd3b6d5e8d5b6c953eb242a6464105eb869 + policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.5.0@sha256:df7fb3a9e3348a9749527edf867be1090f452f9ee0c2116aab6de39729850d53 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/update-compose.yml From b9e07b2bab2eda283ce649f21ba819396efcac2e Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Thu, 12 Sep 2024 16:34:00 +0200 Subject: [PATCH 42/98] Fix test-reporter workflow (#3797) --- .github/workflows/test-reporter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-reporter.yml b/.github/workflows/test-reporter.yml index dae96d5e09..15fcb7aa74 100644 --- a/.github/workflows/test-reporter.yml +++ b/.github/workflows/test-reporter.yml @@ -17,7 +17,7 @@ jobs: report: runs-on: ubuntu-latest steps: - - uses: elastic/apm-pipeline-library/.github/actions/test-report@current + - uses: elastic/oblt-actions/test-report@v1 with: artifact: /test-results-(.*)/ name: 'Test Results $1' From 1e0b60d612d50cd0719f95c53f15fa2ab4bc836d Mon Sep 17 00:00:00 2001 From: obltmachine <150269514+obltmachine@users.noreply.github.com> Date: Thu, 12 Sep 2024 16:34:44 +0200 Subject: [PATCH 43/98] chore: deps(updatecli/policy): bump "ghcr.io/updatecli/policies/autod... (#3794) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... iscovery/updatecli" Updatecli version policy Made with ❤️️ by updatecli --- updatecli-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/updatecli-compose.yaml b/updatecli-compose.yaml index bc4f1f0b1f..6d49a7b08d 100644 --- a/updatecli-compose.yaml +++ b/updatecli-compose.yaml @@ -17,7 +17,7 @@ policies: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-json-specs.yml - name: Update Updatecli policies - policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.5.0@sha256:df7fb3a9e3348a9749527edf867be1090f452f9ee0c2116aab6de39729850d53 + policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.6.0@sha256:6bd6999620674b2fbb1d374f7a1a5e9740d042667f0592900b44259f3e1ae98f values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/update-compose.yml From 85ea1c04cd1fe3ca9603c9108efe2a559fbbe9ba Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 12 Sep 2024 16:36:48 +0200 Subject: [PATCH 44/98] github-action: use oblt-actions/maven/await-artifact (#3796) --- .github/workflows/release-step-3.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index c62618192f..b3c7542daf 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -115,10 +115,10 @@ jobs: needs: - validate-tag steps: - - uses: elastic/apm-pipeline-library/.github/actions/await-maven-artifact@current + - uses: elastic/oblt-actions/maven/await-artifact@v1 with: - groupid: 'co.elastic.apm' - artifactid: 'elastic-apm-agent' + group-id: 'co.elastic.apm' + artifact-id: 'elastic-apm-agent' version: ${{ env.RELEASE_VERSION }} build-and-push-docker-images: From 9a12b98ee959abb4a596c823325d9c78d827724b Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Thu, 12 Sep 2024 18:01:16 +0200 Subject: [PATCH 45/98] Bump upload- and download-artifact to v4 (#3798) --- .github/workflows/stash/action.yml | 2 +- .github/workflows/unstash/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stash/action.yml b/.github/workflows/stash/action.yml index edcbdcbaec..27d888f618 100644 --- a/.github/workflows/stash/action.yml +++ b/.github/workflows/stash/action.yml @@ -17,7 +17,7 @@ runs: shell: bash - name: Upload stash - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.name }} path: ${{ runner.temp }}/${{ inputs.name }}.tar.zst diff --git a/.github/workflows/unstash/action.yml b/.github/workflows/unstash/action.yml index a62a7b7d1e..320a646119 100644 --- a/.github/workflows/unstash/action.yml +++ b/.github/workflows/unstash/action.yml @@ -13,7 +13,7 @@ runs: using: "composite" steps: - name: Download stash - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.name }} path: ${{ runner.temp }} From 9c6b73502049120236a8b4bfb8c2fdff7c69eb16 Mon Sep 17 00:00:00 2001 From: jackshirazi Date: Tue, 17 Sep 2024 13:49:51 +0100 Subject: [PATCH 46/98] Make health metrics GA (#3802) * Make health metrics GA * Make health metrics GA - changelog --- CHANGELOG.asciidoc | 1 + .../apm/agent/configuration/MetricsConfigurationImpl.java | 4 ++-- docs/configuration.asciidoc | 8 ++------ docs/metrics.asciidoc | 2 -- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index e8e14d88be..87800ec9da 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -39,6 +39,7 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: [float] ===== Features * Added experimental option to capture HTTP client request bodies for Apache Http Client v4 and v5, HttpUrlConnection and Spring WebClient - {pull}3776[#3776], {pull}3962[#3962], {pull}3724[#3724], {pull}3754[#3754], {pull}3767[#3767] +* Agent health metrics now GA - {pull}3802[#3802] [[release-notes-1.x]] === Java Agent version 1.x diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java index db67ada95f..d0a14030f6 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java @@ -93,7 +93,7 @@ public void assertValid(List buckets) { .key("agent_reporter_health_metrics") .configurationCategory(METRICS_CATEGORY) .description("Enables metrics which capture the health state of the agent's event reporting mechanism.") - .tags("added[1.35.0]", "experimental") + .tags("added[1.35.0]") .dynamic(false) .buildWithDefault(false); @@ -101,7 +101,7 @@ public void assertValid(List buckets) { .key("agent_background_overhead_metrics") .configurationCategory(METRICS_CATEGORY) .description("Enables metrics which capture the resource consumption of agent background tasks.") - .tags("added[1.35.0]", "experimental") + .tags("added[1.35.0]") .dynamic(false) .buildWithDefault(false); diff --git a/docs/configuration.asciidoc b/docs/configuration.asciidoc index df9bf45204..6ff4717594 100644 --- a/docs/configuration.asciidoc +++ b/docs/configuration.asciidoc @@ -2653,9 +2653,7 @@ But if you must, you can use this option to increase the limit. // This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter [float] [[config-agent-reporter-health-metrics]] -==== `agent_reporter_health_metrics` (added[1.35.0] experimental) - -NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases. +==== `agent_reporter_health_metrics` (added[1.35.0]) Enables metrics which capture the health state of the agent's event reporting mechanism. @@ -2678,9 +2676,7 @@ Enables metrics which capture the health state of the agent's event reporting me // This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter [float] [[config-agent-background-overhead-metrics]] -==== `agent_background_overhead_metrics` (added[1.35.0] experimental) - -NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases. +==== `agent_background_overhead_metrics` (added[1.35.0]) Enables metrics which capture the resource consumption of agent background tasks. diff --git a/docs/metrics.asciidoc b/docs/metrics.asciidoc index 09d43629d7..75f11c59f2 100644 --- a/docs/metrics.asciidoc +++ b/docs/metrics.asciidoc @@ -663,8 +663,6 @@ Fields: [[metrics-agenthealth]] === Agent Health Metrics -experimental::[] - The agent internally uses a queue to buffer the various events (e.g. transactions, spans, metrics) before sending them to the APM server. When <> is enabled, the agent will expose several metrics regarding the health state of this queue and the network connectivity to the APM server. In addition, if <> is enabled, the agent will continuously measure the resource consumption of its own background tasks and provide the results as metrics. From 2f99ecc22559f3d2c18ac68a413ec28e357fc614 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:25:32 +0200 Subject: [PATCH 47/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to d4def25 (#3805) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 4a08d823dc..348d6681b4 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:aad4cd4e5f6d849691748c6933761889db1a20a57231613b98bbff61fa7723ab +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:d4def25f2fd3b0ff9bc68091cd1d89524e41b7d3fc0d3b3a665720eb92145f3b RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 81eea8721d347262335c56362665d6950ce7b74d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:25:51 +0200 Subject: [PATCH 48/98] build: bump version.log4j from 2.12.4 to 2.24.0 (#3792) * build: bump version.log4j from 2.12.4 to 2.24.0 Bumps `version.log4j` from 2.12.4 to 2.24.0. Updates `org.apache.logging.log4j:log4j-core` from 2.12.4 to 2.24.0 Updates `org.apache.logging.log4j:log4j-slf4j-impl` from 2.12.4 to 2.24.0 --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.apache.logging.log4j:log4j-slf4j-impl dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * revert the change * Fix classpath for log4j2 tests * Upgrade log4j2 tests to JUnit5, disable broken tests * Fix error capturing test for 2.6 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jackshirazi Co-authored-by: Jonas Kunz --- .../apm-ecs-logging-plugin/pom.xml | 3 +- .../apm-log4j2-plugin-tests/pom.xml | 55 ++++++++ .../log4j2/Log4j2InstrumentationTest.java | 55 ++++++++ ...Log4j2InstrumentationTestDefinitions.java} | 17 ++- ...ggerErrorCapturingInstrumentationTest.java | 10 +- .../src/test/resources/log4j2.xml | 0 .../apm-log4j2-plugin/pom.xml | 14 +-- .../Log4j2InstrumentationTestVersions.java | 118 ------------------ .../Log4j2_17_1InstrumentationTest.java | 46 ------- .../log4j2/Log4j2_6SInstrumentationTest.java | 46 ------- .../Log4j2ErrorCapturingTestVersions.java | 51 -------- .../error/Log4j2_17_1ErrorCapturingTest.java | 42 ------- apm-agent-plugins/apm-logging-plugin/pom.xml | 1 + 13 files changed, 130 insertions(+), 328 deletions(-) create mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml create mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java rename apm-agent-plugins/apm-logging-plugin/{apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java => apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java} (93%) rename apm-agent-plugins/apm-logging-plugin/{apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error => apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2}/Log4j2LoggerErrorCapturingInstrumentationTest.java (85%) rename apm-agent-plugins/apm-logging-plugin/{apm-log4j2-plugin => apm-log4j2-plugin-tests}/src/test/resources/log4j2.xml (100%) delete mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java delete mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java delete mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java delete mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java delete mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java diff --git a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml index c6754f8e56..b172bfdfce 100644 --- a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml @@ -41,7 +41,8 @@ org.apache.logging.log4j log4j-core - 2.23.1 + + ${version.log4j} provided true diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml new file mode 100644 index 0000000000..8d593f7fc6 --- /dev/null +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml @@ -0,0 +1,55 @@ + + + 4.0.0 + + co.elastic.apm + apm-logging-plugin + 1.51.1-SNAPSHOT + + + apm-log4j2-plugin-tests + ${project.groupId}:${project.artifactId} + + + ${project.basedir}/../../.. + + + + + + + ${project.groupId} + apm-log4j2-plugin + ${project.version} + test + + + org.apache.logging.log4j + log4j-core + ${version.log4j} + test + + + ${project.groupId} + apm-logging-plugin-common + ${project.version} + test-jar + test + + + org.apache.ivy + ivy + test + + + + + diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java new file mode 100644 index 0000000000..3a4c05ce6b --- /dev/null +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java @@ -0,0 +1,55 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.log4j2; + +import co.elastic.apm.agent.testutils.TestClassWithDependencyRunner; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +import java.util.List; + +@DisabledOnOs(OS.WINDOWS) +public class Log4j2InstrumentationTest { + + @ParameterizedTest + @ValueSource(strings = {"2.6", "2.17.1", "2.24.0"}) + public void testInstrumentation(String version) throws Exception { + List dependencies = List.of( + "org.apache.logging.log4j:log4j-core:" + version, + "org.apache.logging.log4j:log4j-api:" + version, + "co.elastic.logging:log4j2-ecs-layout:1.3.2" + ); + new TestClassWithDependencyRunner(dependencies, Log4j2InstrumentationTestDefinitions.class.getName(), + Log4j2InstrumentationTestDefinitions.Log4j2LoggerFacade.class.getName()) + .run(); + } + + @ParameterizedTest + @ValueSource(strings = {"2.6", "2.17.1", "2.24.0"}) + public void testErrorCapture(String version) throws Exception { + List dependencies = List.of( + "org.apache.logging.log4j:log4j-core:" + version, + "org.apache.logging.log4j:log4j-api:" + version + ); + new TestClassWithDependencyRunner(dependencies, Log4j2LoggerErrorCapturingInstrumentationTest.class.getName()) + .run(); + } +} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java similarity index 93% rename from apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java rename to apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java index e8cfe0480a..4482a5e096 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java @@ -18,9 +18,10 @@ */ package co.elastic.apm.agent.log4j2; -import co.elastic.apm.agent.loginstr.LoggingInstrumentationTest; -import co.elastic.apm.agent.loginstr.LoggerFacade; import co.elastic.apm.agent.logging.LoggingConfigurationImpl; +import co.elastic.apm.agent.loginstr.LoggerFacade; +import co.elastic.apm.agent.loginstr.LoggingInstrumentationTest; +import co.elastic.apm.agent.testutils.TestClassWithDependencyRunner; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Marker; @@ -32,7 +33,6 @@ import org.apache.logging.log4j.core.config.ConfigurationFactory; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; import java.net.URI; import java.net.URISyntaxException; @@ -45,8 +45,8 @@ * Since the agent core uses log4j 2.12.4, and since both agent core and tests are loaded by the system class loader in unit tests, * the proper way to test integration tests with log4j2 is only through dedicated class loaders. */ -@Disabled -public class Log4j2InstrumentationTest extends LoggingInstrumentationTest { +@TestClassWithDependencyRunner.DisableOutsideOfRunner +public class Log4j2InstrumentationTestDefinitions extends LoggingInstrumentationTest { @BeforeAll static void resetConfigFactory() { @@ -60,6 +60,11 @@ static void reInitLogging() { private static final Marker TEST_MARKER = MarkerManager.getMarker("TEST"); + @Override + public void testSendLogs() { + //TODO: fix me, log sending is currently broken for log4j2 + } + @Override protected LoggerFacade createLoggerFacade() { return new Log4j2LoggerFacade(); @@ -86,7 +91,7 @@ static class Log4j2LoggerFacade implements LoggerFacade { public Log4j2LoggerFacade() { try { - configLocation = Objects.requireNonNull(Log4j2InstrumentationTest.class.getClassLoader() + configLocation = Objects.requireNonNull(Log4j2InstrumentationTestDefinitions.class.getClassLoader() .getResource("log4j2.xml")).toURI(); } catch (URISyntaxException e) { e.printStackTrace(); diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2LoggerErrorCapturingInstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2LoggerErrorCapturingInstrumentationTest.java similarity index 85% rename from apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2LoggerErrorCapturingInstrumentationTest.java rename to apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2LoggerErrorCapturingInstrumentationTest.java index 08fd54465a..19e05d94ad 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2LoggerErrorCapturingInstrumentationTest.java +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2LoggerErrorCapturingInstrumentationTest.java @@ -16,20 +16,20 @@ * specific language governing permissions and limitations * under the License. */ -package co.elastic.apm.agent.log4j2.error; +package co.elastic.apm.agent.log4j2; import co.elastic.apm.agent.loginstr.error.AbstractErrorLoggingInstrumentationTest; +import co.elastic.apm.agent.testutils.TestClassWithDependencyRunner; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessageFactory; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** * Only tested through dedicated class loaders for latest and oldest-supported versions. - * See {@link Log4j2ErrorCapturingTestVersions} + * See {@link co.elastic.apm.agent.log4j2.Log4j2InstrumentationTest} */ -@Disabled +@TestClassWithDependencyRunner.DisableOutsideOfRunner public class Log4j2LoggerErrorCapturingInstrumentationTest extends AbstractErrorLoggingInstrumentationTest { private static final Logger logger = LogManager.getLogger(Log4j2LoggerErrorCapturingInstrumentationTest.class); @@ -42,7 +42,7 @@ void captureErrorExceptionWithStringMessage() { @Test void captureErrorExceptionWithMessageMessage() { - logger.error(ParameterizedMessageFactory.INSTANCE.newMessage("exception captured with parameter {}", "foo"), new RuntimeException("some business exception")); + logger.error(ParameterizedMessageFactory.INSTANCE.newMessage("exception captured with parameter {}", new Object[]{"foo"}), new RuntimeException("some business exception")); verifyExceptionCaptured("some business exception", RuntimeException.class); } diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/resources/log4j2.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/resources/log4j2.xml similarity index 100% rename from apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/resources/log4j2.xml rename to apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/resources/log4j2.xml diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml index b99e850e8b..ad208e00ea 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml @@ -24,7 +24,7 @@ org.apache.logging.log4j log4j-core - 2.23.1 + 2.24.0 provided @@ -32,18 +32,6 @@ log4j2-ecs-layout ${version.ecs.logging} - - ${project.groupId} - apm-logging-plugin-common - ${project.version} - test-jar - test - - - org.apache.ivy - ivy - test - diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java deleted file mode 100644 index 302f0132f5..0000000000 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.log4j2; - -import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; -import co.elastic.apm.agent.logging.LoggingConfigurationImpl; -import org.apache.logging.log4j.core.config.ConfigurationFactory; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -import java.io.IOException; -import java.util.List; - -/** - * This class only delegates tests to the current-version log4j2 tests through JUnit 4, so that it can be ran using - * {@link JUnit4TestClassWithDependencyRunner} in a dedicated CL where an older log4j2 version is loaded. - * This is required because the agent is using log4j2 and in tests they retain their original packages (relocation only - * takes place during packaging). - */ -@Ignore -public class Log4j2InstrumentationTestVersions extends Log4j2InstrumentationTest { - - @BeforeClass - public static void resetConfigFactory() { - ConfigurationFactory.resetConfigurationFactory(); - } - - @AfterClass - public static void reInitLogging() { - LoggingConfigurationImpl.init(List.of(), ""); - } - - @Before - @Override - public void setup() throws Exception { - super.setup(); - } - - @After - @Override - public void closeLogger() { - super.closeLogger(); - } - - @Test - @Override - public void testSimpleLogReformatting() throws Exception { - super.testSimpleLogReformatting(); - } - - @Test - @Override - public void testMarkers() throws Exception { - super.testMarkers(); - } - - @Test - @Override - public void testShadingIntoOriginalLogsDir() throws Exception { - super.testShadingIntoOriginalLogsDir(); - } - - @Test - @Override - public void testLazyEcsFileCreation() throws Exception { - super.testLazyEcsFileCreation(); - } - - @Test - @Override - public void testLogReformattingReplaceOriginal() throws IOException { - super.testLogReformattingReplaceOriginal(); - } - - @Test - @Override - public void testDynamicConfiguration() throws Exception { - super.testDynamicConfiguration(); - } - - @Test - @Override - public void testLogOverride() throws IOException { - super.testLogOverride(); - } - - @Test - @Override - public void testEmptyFormatterAllowList() throws Exception { - super.testEmptyFormatterAllowList(); - } - - @Test - @Override - public void testReformattedLogRolling() throws IOException { - super.testReformattedLogRolling(); - } -} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java deleted file mode 100644 index 4f6e009153..0000000000 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.log4j2; - -import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.condition.DisabledOnOs; -import org.junit.jupiter.api.condition.OS; - -import java.util.List; - -@DisabledOnOs(OS.WINDOWS) -public class Log4j2_17_1InstrumentationTest { - private final JUnit4TestClassWithDependencyRunner runner; - - public Log4j2_17_1InstrumentationTest() throws Exception { - List dependencies = List.of( - "org.apache.logging.log4j:log4j-core:2.17.1", - "org.apache.logging.log4j:log4j-api:2.17.1", - "co.elastic.logging:log4j2-ecs-layout:1.3.2" - ); - runner = new JUnit4TestClassWithDependencyRunner(dependencies, Log4j2InstrumentationTestVersions.class, Log4j2InstrumentationTest.class, - Log4j2InstrumentationTest.Log4j2LoggerFacade.class); - } - - @Test - public void testVersions() { - runner.run(); - } -} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java deleted file mode 100644 index cfb8bf7df6..0000000000 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.log4j2; - -import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.condition.DisabledOnOs; -import org.junit.jupiter.api.condition.OS; - -import java.util.List; - -@DisabledOnOs(OS.WINDOWS) -public class Log4j2_6SInstrumentationTest { - private final JUnit4TestClassWithDependencyRunner runner; - - public Log4j2_6SInstrumentationTest() throws Exception { - List dependencies = List.of( - "org.apache.logging.log4j:log4j-core:2.6", - "org.apache.logging.log4j:log4j-api:2.6", - "co.elastic.logging:log4j2-ecs-layout:1.3.2" - ); - runner = new JUnit4TestClassWithDependencyRunner(dependencies, Log4j2InstrumentationTestVersions.class, Log4j2InstrumentationTest.class, - Log4j2InstrumentationTest.Log4j2LoggerFacade.class); - } - - @Test - public void testVersions() { - runner.run(); - } -} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java deleted file mode 100644 index 3c1aa79b0a..0000000000 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.log4j2.error; - -import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; -import org.junit.Ignore; -import org.junit.Test; - -/** - * This class only delegates tests to the current-version log4j2 tests through JUnit 4, so that it can be ran using - * {@link JUnit4TestClassWithDependencyRunner} in a dedicated CL where an older log4j2 version is loaded. - * This is required because the agent is using log4j2 and in tests they retain their original packages (relocation only - * takes place during packaging). - */ -@Ignore -public class Log4j2ErrorCapturingTestVersions extends Log4j2LoggerErrorCapturingInstrumentationTest { - - @Test - @Override - public void captureErrorExceptionWithStringMessage() { - super.captureErrorExceptionWithStringMessage(); - } - - @Test - @Override - public void captureErrorExceptionWithMessageMessage() { - super.captureErrorExceptionWithMessageMessage(); - } - - @Test - @Override - public void captureFatalException() { - super.captureFatalException(); - } -} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java deleted file mode 100644 index 06415b3b49..0000000000 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.log4j2.error; - -import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; -import org.junit.jupiter.api.Test; - -import java.util.List; - -public class Log4j2_17_1ErrorCapturingTest { - private final JUnit4TestClassWithDependencyRunner runner; - - public Log4j2_17_1ErrorCapturingTest() throws Exception { - List dependencies = List.of( - "org.apache.logging.log4j:log4j-core:2.17.1", - "org.apache.logging.log4j:log4j-api:2.17.1" - ); - runner = new JUnit4TestClassWithDependencyRunner(dependencies, Log4j2ErrorCapturingTestVersions.class, - Log4j2LoggerErrorCapturingInstrumentationTest.class); - } - - @Test - public void testVersions() { - runner.run(); - } -} diff --git a/apm-agent-plugins/apm-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/pom.xml index 628560fea3..be0fc2aeb0 100644 --- a/apm-agent-plugins/apm-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/pom.xml @@ -25,6 +25,7 @@ apm-tomcat-logging-plugin apm-slf4j-plugin apm-jul-plugin + apm-log4j2-plugin-tests From bb84a5099383d994e90364b407c4137378e1e4c7 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 18 Sep 2024 16:06:39 +0200 Subject: [PATCH 49/98] github-action: use ephemeral tokens with the required permissions (#3789) --- .github/workflows/updatecli.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/updatecli.yml b/.github/workflows/updatecli.yml index c942a12d60..c8f4b4fb08 100644 --- a/.github/workflows/updatecli.yml +++ b/.github/workflows/updatecli.yml @@ -17,6 +17,18 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Get token + id: get_token + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0 + with: + app_id: ${{ secrets.OBS_AUTOMATION_APP_ID }} + private_key: ${{ secrets.OBS_AUTOMATION_APP_PEM }} + permissions: >- + { + "contents": "write", + "pull_requests": "write" + } + - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 with: registry: ghcr.io @@ -27,13 +39,13 @@ jobs: with: command: --experimental compose diff env: - GITHUB_TOKEN: ${{ secrets.UPDATECLI_GH_TOKEN }} + GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} - uses: elastic/oblt-actions/updatecli/run@v1 with: command: --experimental compose apply env: - GITHUB_TOKEN: ${{ secrets.UPDATECLI_GH_TOKEN }} + GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} - if: failure() uses: elastic/oblt-actions/slack/send@v1 From 80929c34fe0e25c8749c092a3d521899792896be Mon Sep 17 00:00:00 2001 From: "elastic-observability-automation[bot]" <180520183+elastic-observability-automation[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:53:54 +0000 Subject: [PATCH 50/98] deps(updatecli): bump all policies (#3806) --- updatecli-compose.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/updatecli-compose.yaml b/updatecli-compose.yaml index 6d49a7b08d..7225bcbd08 100644 --- a/updatecli-compose.yaml +++ b/updatecli-compose.yaml @@ -2,22 +2,22 @@ # https://www.updatecli.io/docs/core/compose/ policies: - name: Handle apm-data server specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-data-spec:0.4.0@sha256:5ab4c0afe56d8866821644114f5442152457136892e951087cb10b2857270f6d + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-data-spec:0.5.0@sha256:1307837d72174da906afb40a812b89f9f40efdbc0f6dcb4f632f886f9798577e values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-data-spec.yml - name: Handle apm gherkin specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-gherkin:0.4.0@sha256:e882af52b8227d36947fdef74f2ed32cc0b508b68c80bfe85f27caf279bcf193 + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-gherkin:0.5.0@sha256:7166356b1bb5fb39b640dc9712a2a9f16b06b3fdb137dd362ede7d70ca5396e8 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-gherkin.yml - name: Handle apm json specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-json-specs:0.4.0@sha256:15b851ae8eb5bba9cd5320efb94b2c4322cec16ef40c68d9f6b55496a3eea2df + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-json-specs:0.5.0@sha256:f4065402be6459507660cb644fffa9cdc77a58303ebd7f8f0325002e206cf6a1 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-json-specs.yml - name: Update Updatecli policies - policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.6.0@sha256:6bd6999620674b2fbb1d374f7a1a5e9740d042667f0592900b44259f3e1ae98f + policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.8.0@sha256:99e9e61b501575c2c176c39f2275998d198b590a3f6b1fe829f7315f8d457e7f values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/update-compose.yml From d4d8ae6241c4e95744aab1d5ec5c1f52c1727722 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 09:34:16 +0200 Subject: [PATCH 51/98] build: bump actions/attest-build-provenance from 1.4.2 to 1.4.3 in the github-actions group (#3786) Bumps the github-actions group with 1 update: [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance). Updates `actions/attest-build-provenance` from 1.4.2 to 1.4.3 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](https://github.com/actions/attest-build-provenance/compare/6149ea5740be74af77f260b9db67e633f6b0a9a1...1c608d11d69870c2092266b3f9a6f3abbf17002c) --- updated-dependencies: - dependency-name: actions/attest-build-provenance dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release-step-3.yml | 2 +- .github/workflows/snapshot.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index b3c7542daf..5825547d0c 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -105,7 +105,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2 + uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3 with: subject-path: "${{ github.workspace }}/**/target/*.jar" diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index c435574d55..c6dbef3629 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -69,7 +69,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2 + uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3 with: subject-path: "${{ github.workspace }}/**/target/*.jar" From bd21a0703329ccd1e1420a1970a8bd7a363cebf5 Mon Sep 17 00:00:00 2001 From: obltmachine <150269514+obltmachine@users.noreply.github.com> Date: Mon, 23 Sep 2024 12:11:21 +0200 Subject: [PATCH 52/98] pre release: elastic-apm-agent v1.52.0 (#3810) Co-authored-by: obltmachine --- CHANGELOG.asciidoc | 9 ++++++--- apm-agent-api/pom.xml | 2 +- apm-agent-attach-cli/pom.xml | 2 +- apm-agent-attach/pom.xml | 2 +- apm-agent-benchmarks/pom.xml | 2 +- apm-agent-bootstrap/pom.xml | 2 +- apm-agent-builds/apm-agent-java8/pom.xml | 2 +- apm-agent-builds/apm-agent/pom.xml | 2 +- apm-agent-builds/pom.xml | 2 +- apm-agent-cached-lookup-key/pom.xml | 2 +- apm-agent-common/pom.xml | 2 +- apm-agent-core/pom.xml | 2 +- apm-agent-lambda-layer/pom.xml | 2 +- apm-agent-plugin-sdk/pom.xml | 2 +- .../apm-apache-httpclient-common/pom.xml | 2 +- .../apm-apache-httpclient3-plugin/pom.xml | 2 +- .../apm-apache-httpclient4-plugin/pom.xml | 2 +- .../apm-apache-httpclient5-plugin/pom.xml | 2 +- apm-agent-plugins/apm-apache-httpclient/pom.xml | 2 +- apm-agent-plugins/apm-api-plugin/pom.xml | 2 +- apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml | 2 +- .../apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- .../apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/pom.xml | 2 +- apm-agent-plugins/apm-awslambda-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra-core-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra3-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/pom.xml | 2 +- apm-agent-plugins/apm-dubbo-plugin/pom.xml | 2 +- apm-agent-plugins/apm-ecs-logging-plugin/pom.xml | 2 +- .../apm-es-restclient-plugin-5_6/pom.xml | 2 +- .../apm-es-restclient-plugin-6_4/pom.xml | 2 +- .../apm-es-restclient-plugin-7_x/pom.xml | 2 +- .../apm-es-restclient-plugin-8_x/pom.xml | 2 +- .../apm-es-restclient-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-es-restclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grails-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-grpc/pom.xml | 2 +- .../apm-hibernate-search-plugin-5_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-6_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-hibernate-search-plugin/pom.xml | 2 +- apm-agent-plugins/apm-httpclient-core/pom.xml | 2 +- apm-agent-plugins/apm-httpserver-core/pom.xml | 2 +- apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-concurrent-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-ldap-plugin/pom.xml | 2 +- apm-agent-plugins/apm-javalin-plugin/pom.xml | 2 +- .../apm-jaxrs-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxrs-plugin/pom.xml | 2 +- .../apm-jaxws-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxws-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdbc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml | 2 +- .../apm-jms-plugin/apm-jms-plugin-base/pom.xml | 2 +- .../apm-jms-plugin/apm-jms-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jmx-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jsf-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-base-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-kafka-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-jboss-logging-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-jul-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-log4j1-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml | 2 +- .../apm-logging-plugin/apm-log4j2-plugin/pom.xml | 2 +- .../apm-logback-plugin/apm-logback-plugin-impl/pom.xml | 2 +- .../apm-logback-plugin-legacy-tests/pom.xml | 2 +- .../apm-logging-plugin/apm-logback-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-logging-plugin-common/pom.xml | 2 +- .../apm-logging-plugin/apm-slf4j-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-micrometer-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml | 2 +- .../apm-mongodb/apm-mongodb3-plugin/pom.xml | 2 +- .../apm-mongodb/apm-mongodb4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-plugin/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-test/pom.xml | 2 +- .../apm-opentelemetry-embedded-metrics-sdk/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-common/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-latest/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-v1_14/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-parent/pom.xml | 2 +- .../apm-opentelemetry-metricsdk-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-test/pom.xml | 2 +- apm-agent-plugins/apm-opentelemetry/pom.xml | 2 +- apm-agent-plugins/apm-opentracing-plugin/pom.xml | 2 +- apm-agent-plugins/apm-process-plugin/pom.xml | 2 +- apm-agent-plugins/apm-profiling-plugin/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml | 2 +- apm-agent-plugins/apm-quartz/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-plugin/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-spring/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-test-3/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-test-4/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/pom.xml | 2 +- apm-agent-plugins/apm-reactor-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-2-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-3-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-4-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-5-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-lettuce-3-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-lettuce-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-redis-common/pom.xml | 2 +- .../apm-redis-plugin/apm-redisson-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/pom.xml | 2 +- apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml | 2 +- .../pom.xml | 2 +- .../apm-scheduled-annotation-plugin/pom.xml | 2 +- apm-agent-plugins/apm-servlet-jakarta-test/pom.xml | 2 +- apm-agent-plugins/apm-servlet-plugin/pom.xml | 2 +- apm-agent-plugins/apm-sparkjava-plugin/pom.xml | 2 +- .../apm-spring-restclient-test/pom.xml | 2 +- .../apm-spring-resttemplate-plugin/pom.xml | 2 +- .../apm-spring-resttemplate-test/pom.xml | 2 +- apm-agent-plugins/apm-spring-resttemplate/pom.xml | 2 +- .../apm-spring-webclient-plugin/pom.xml | 2 +- .../apm-spring-webflux-common-spring5/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-common/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-plugin/pom.xml | 2 +- .../apm-spring-webflux-spring5/pom.xml | 2 +- .../apm-spring-webflux-testapp/pom.xml | 2 +- apm-agent-plugins/apm-spring-webflux/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml | 2 +- apm-agent-plugins/apm-spring-webmvc/pom.xml | 2 +- apm-agent-plugins/apm-struts-plugin/pom.xml | 2 +- apm-agent-plugins/apm-urlconnection-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml | 2 +- .../apm-vertx/apm-vertx3-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/pom.xml | 2 +- apm-agent-plugins/pom.xml | 2 +- apm-agent-tracer/pom.xml | 2 +- apm-opentracing/pom.xml | 2 +- elastic-apm-agent-java8/pom.xml | 2 +- elastic-apm-agent-premain/pom.xml | 2 +- elastic-apm-agent/pom.xml | 2 +- .../application-server-integration-tests/pom.xml | 2 +- integration-tests/aws-lambda-test/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-dependent/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-standalone/pom.xml | 2 +- integration-tests/cdi-app/pom.xml | 2 +- .../cdi-jakartaee-app-dependent/pom.xml | 2 +- .../cdi-jakartaee-app-standalone/pom.xml | 2 +- integration-tests/cdi-jakartaee-app/pom.xml | 2 +- .../external-plugin-otel-test-app/pom.xml | 2 +- .../external-plugin-otel-test-plugin1/pom.xml | 2 +- .../external-plugin-otel-test-plugin2/pom.xml | 2 +- integration-tests/external-plugin-otel-test/pom.xml | 2 +- .../external-plugin-test/external-plugin-app/pom.xml | 2 +- .../external-plugin-jakarta-app/pom.xml | 2 +- .../external-plugin-test/external-plugin/pom.xml | 2 +- .../plugin-instrumentation-target/pom.xml | 2 +- integration-tests/external-plugin-test/pom.xml | 2 +- .../jakartaee-jsf-app-dependent/pom.xml | 2 +- .../jakartaee-jsf-app-standalone/pom.xml | 2 +- integration-tests/jakartaee-jsf-app/pom.xml | 2 +- integration-tests/jakartaee-simple-webapp/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-dependent/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-standalone/pom.xml | 2 +- integration-tests/jsf-app/pom.xml | 2 +- integration-tests/main-app-test/pom.xml | 2 +- integration-tests/pom.xml | 2 +- integration-tests/quarkus/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-base/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml | 2 +- integration-tests/runtime-attach/pom.xml | 2 +- .../runtime-attach/runtime-attach-app/pom.xml | 2 +- .../runtime-attach/runtime-attach-test/pom.xml | 2 +- integration-tests/simple-webapp/pom.xml | 2 +- integration-tests/soap-test/pom.xml | 2 +- integration-tests/spring-boot-1-5/pom.xml | 2 +- integration-tests/spring-boot-2/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-base/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-jetty/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-tomcat/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-undertow/pom.xml | 2 +- integration-tests/spring-boot-3/pom.xml | 2 +- .../spring-boot-3/spring-boot-3-jetty/pom.xml | 2 +- .../spring-boot-3/spring-boot-3-tomcat/pom.xml | 2 +- .../spring-boot-3/spring-boot-3-undertow/pom.xml | 2 +- pom.xml | 2 +- 202 files changed, 207 insertions(+), 204 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 87800ec9da..2d294d7773 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -31,6 +31,12 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: === Unreleased +[[release-notes-1.x]] +=== Java Agent version 1.x + +[[release-notes-1.52.0]] +==== 1.52.0 - 2024/09/23 + [float] ===== Bug fixes * Fix log4j2 log correlation with shaded application jar - {pull}3764[#3764] @@ -41,9 +47,6 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: * Added experimental option to capture HTTP client request bodies for Apache Http Client v4 and v5, HttpUrlConnection and Spring WebClient - {pull}3776[#3776], {pull}3962[#3962], {pull}3724[#3724], {pull}3754[#3754], {pull}3767[#3767] * Agent health metrics now GA - {pull}3802[#3802] -[[release-notes-1.x]] -=== Java Agent version 1.x - [[release-notes-1.51.0]] ==== 1.51.0 - 2024/07/24 diff --git a/apm-agent-api/pom.xml b/apm-agent-api/pom.xml index 6d9ba899ba..501e10e306 100644 --- a/apm-agent-api/pom.xml +++ b/apm-agent-api/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-api diff --git a/apm-agent-attach-cli/pom.xml b/apm-agent-attach-cli/pom.xml index d51015ff75..bffc06a48c 100644 --- a/apm-agent-attach-cli/pom.xml +++ b/apm-agent-attach-cli/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-attach/pom.xml b/apm-agent-attach/pom.xml index 865838cfb4..c1d7dfa567 100644 --- a/apm-agent-attach/pom.xml +++ b/apm-agent-attach/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-attach diff --git a/apm-agent-benchmarks/pom.xml b/apm-agent-benchmarks/pom.xml index d0350d7e7e..3cb3f7fd5b 100644 --- a/apm-agent-benchmarks/pom.xml +++ b/apm-agent-benchmarks/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-benchmarks diff --git a/apm-agent-bootstrap/pom.xml b/apm-agent-bootstrap/pom.xml index c4445ccdc9..c31662c60f 100644 --- a/apm-agent-bootstrap/pom.xml +++ b/apm-agent-bootstrap/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-bootstrap diff --git a/apm-agent-builds/apm-agent-java8/pom.xml b/apm-agent-builds/apm-agent-java8/pom.xml index 9b05bb9b73..a7c821252e 100644 --- a/apm-agent-builds/apm-agent-java8/pom.xml +++ b/apm-agent-builds/apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-java8 diff --git a/apm-agent-builds/apm-agent/pom.xml b/apm-agent-builds/apm-agent/pom.xml index 04934c3469..14a7edee69 100644 --- a/apm-agent-builds/apm-agent/pom.xml +++ b/apm-agent-builds/apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.51.1-SNAPSHOT + 1.52.0 apm-agent diff --git a/apm-agent-builds/pom.xml b/apm-agent-builds/pom.xml index 3db2ae4084..83e5fa6f19 100644 --- a/apm-agent-builds/pom.xml +++ b/apm-agent-builds/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-cached-lookup-key/pom.xml b/apm-agent-cached-lookup-key/pom.xml index f41dd5097d..826062dde5 100644 --- a/apm-agent-cached-lookup-key/pom.xml +++ b/apm-agent-cached-lookup-key/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-common/pom.xml b/apm-agent-common/pom.xml index 924a0357f7..7e74f56f6d 100644 --- a/apm-agent-common/pom.xml +++ b/apm-agent-common/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-core/pom.xml b/apm-agent-core/pom.xml index ce24e0ad24..55a88c872d 100644 --- a/apm-agent-core/pom.xml +++ b/apm-agent-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-core diff --git a/apm-agent-lambda-layer/pom.xml b/apm-agent-lambda-layer/pom.xml index 3ab82da949..64f28e3f23 100644 --- a/apm-agent-lambda-layer/pom.xml +++ b/apm-agent-lambda-layer/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugin-sdk/pom.xml b/apm-agent-plugin-sdk/pom.xml index 27706e99db..d3e44b9f5b 100644 --- a/apm-agent-plugin-sdk/pom.xml +++ b/apm-agent-plugin-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml index 9901bfcac8..283199152c 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-apache-httpclient-common diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml index 47a6b19496..387a8e075e 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-apache-httpclient3-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml index 9157f397a8..24049343f6 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-apache-httpclient4-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml index 22d0af460f..5bd35ad3fb 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-apache-httpclient - 1.51.1-SNAPSHOT + 1.52.0 apm-apache-httpclient5-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/pom.xml b/apm-agent-plugins/apm-apache-httpclient/pom.xml index b0c559b325..c566875f9d 100644 --- a/apm-agent-plugins/apm-apache-httpclient/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-apache-httpclient diff --git a/apm-agent-plugins/apm-api-plugin/pom.xml b/apm-agent-plugins/apm-api-plugin/pom.xml index 0bb0a3e491..1447181eea 100644 --- a/apm-agent-plugins/apm-api-plugin/pom.xml +++ b/apm-agent-plugins/apm-api-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 diff --git a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml index af7b2ede94..6080baed61 100644 --- a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-asynchttpclient-plugin diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index 6c33df2a21..a0eb0a6ed3 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index 3588546c9f..d5358ec712 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml index 8550636006..86af8747a5 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/pom.xml b/apm-agent-plugins/apm-aws-sdk/pom.xml index cf5a4851b1..3e6d602bbf 100644 --- a/apm-agent-plugins/apm-aws-sdk/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-awslambda-plugin/pom.xml b/apm-agent-plugins/apm-awslambda-plugin/pom.xml index 46b29e71ca..6afae0bd70 100644 --- a/apm-agent-plugins/apm-awslambda-plugin/pom.xml +++ b/apm-agent-plugins/apm-awslambda-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml index 24ea24fe4b..d25fd6ffd5 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml index 1135f9f07f..2399d0f835 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml index 1a98e22218..7dd6eba97c 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/pom.xml b/apm-agent-plugins/apm-cassandra/pom.xml index 14a3204ca2..1fa5d7586a 100644 --- a/apm-agent-plugins/apm-cassandra/pom.xml +++ b/apm-agent-plugins/apm-cassandra/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-dubbo-plugin/pom.xml b/apm-agent-plugins/apm-dubbo-plugin/pom.xml index ebf63b002e..38eea4570a 100644 --- a/apm-agent-plugins/apm-dubbo-plugin/pom.xml +++ b/apm-agent-plugins/apm-dubbo-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml index b172bfdfce..712b820c21 100644 --- a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-ecs-logging-plugin diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml index 6424494f05..3b9644c7ea 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-es-restclient-plugin-5_6 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml index af426f9ca7..ad2babc3ef 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-es-restclient-plugin-6_4 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml index 1d84390c6c..39e84c5f4f 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-es-restclient-plugin-7_x diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml index 10d666c3f8..4316d6c2b0 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml @@ -3,7 +3,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml index b4b907ed14..ff66886574 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-es-restclient-plugin-common diff --git a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml index 0a84b33a61..7300a18b8c 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-es-restclient-plugin diff --git a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml index 65571edd82..9b3c2c04de 100644 --- a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-finagle-httpclient-plugin diff --git a/apm-agent-plugins/apm-grails-plugin/pom.xml b/apm-agent-plugins/apm-grails-plugin/pom.xml index 16ae512933..c91d2ce1d1 100644 --- a/apm-agent-plugins/apm-grails-plugin/pom.xml +++ b/apm-agent-plugins/apm-grails-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-grails-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml index 6f13c623ce..1d39ea0665 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.51.1-SNAPSHOT + 1.52.0 apm-grpc-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml index d71232ac63..1425fc863a 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.51.1-SNAPSHOT + 1.52.0 apm-grpc-test-1.6.1 diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml index e7565a0602..af8cb8106e 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.51.1-SNAPSHOT + 1.52.0 apm-grpc-test-latest diff --git a/apm-agent-plugins/apm-grpc/pom.xml b/apm-agent-plugins/apm-grpc/pom.xml index 111e38ae42..cc1c00a915 100644 --- a/apm-agent-plugins/apm-grpc/pom.xml +++ b/apm-agent-plugins/apm-grpc/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.1-SNAPSHOT + 1.52.0 apm-grpc diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml index e8f963310e..272274d6be 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-hibernate-search-plugin-5_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml index e7ca28c91f..b84962208e 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-hibernate-search-plugin-6_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml index 11a938e037..127a750017 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-hibernate-search-plugin-common diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml index 9be6ce23e4..31b9946fd9 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-hibernate-search-plugin diff --git a/apm-agent-plugins/apm-httpclient-core/pom.xml b/apm-agent-plugins/apm-httpclient-core/pom.xml index f0b89ca870..ba0643a70a 100644 --- a/apm-agent-plugins/apm-httpclient-core/pom.xml +++ b/apm-agent-plugins/apm-httpclient-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-httpclient-core diff --git a/apm-agent-plugins/apm-httpserver-core/pom.xml b/apm-agent-plugins/apm-httpserver-core/pom.xml index 4a2745c2ad..8a7fcdc86d 100644 --- a/apm-agent-plugins/apm-httpserver-core/pom.xml +++ b/apm-agent-plugins/apm-httpserver-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-httpserver-core diff --git a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml index 8615b71976..26ac3b892f 100644 --- a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml +++ b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jakarta-websocket-plugin diff --git a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml index 68c19e3e27..577b2a4c84 100644 --- a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-java-concurrent-plugin diff --git a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml index 2a4ec0b14a..b6bf154bed 100644 --- a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-java-ldap-plugin diff --git a/apm-agent-plugins/apm-javalin-plugin/pom.xml b/apm-agent-plugins/apm-javalin-plugin/pom.xml index d8c24d01b2..6acd8b47aa 100644 --- a/apm-agent-plugins/apm-javalin-plugin/pom.xml +++ b/apm-agent-plugins/apm-javalin-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-javalin-plugin diff --git a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml index 55b8825161..5f35c63200 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml index ee5fc7ae58..dbcaaebe79 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jaxrs-plugin diff --git a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml index 0e73af848f..b3d96701f2 100644 --- a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-jaxws-plugin/pom.xml b/apm-agent-plugins/apm-jaxws-plugin/pom.xml index b1965653e9..13e221638f 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jaxws-plugin diff --git a/apm-agent-plugins/apm-jdbc-plugin/pom.xml b/apm-agent-plugins/apm-jdbc-plugin/pom.xml index 082c36b5aa..1a0b540ce2 100644 --- a/apm-agent-plugins/apm-jdbc-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdbc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jdbc-plugin diff --git a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml index 46347af96b..b206e6a993 100644 --- a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jdk-httpclient-plugin diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml index 9070bf903e..a3167046c2 100644 --- a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jdk-httpserver-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml index 8e30a0d121..19821d1379 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml index 5e77921d4c..55639e2368 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml index fdc5f486c2..9a643f7f87 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jms-plugin-base diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml index 3657fd3506..83bfa46c7b 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jms-spring-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/pom.xml index feca4e14ae..eb664fee8d 100644 --- a/apm-agent-plugins/apm-jms-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jms-plugin diff --git a/apm-agent-plugins/apm-jmx-plugin/pom.xml b/apm-agent-plugins/apm-jmx-plugin/pom.xml index 5e1541e1a0..488f2fe188 100644 --- a/apm-agent-plugins/apm-jmx-plugin/pom.xml +++ b/apm-agent-plugins/apm-jmx-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jmx-plugin diff --git a/apm-agent-plugins/apm-jsf-plugin/pom.xml b/apm-agent-plugins/apm-jsf-plugin/pom.xml index c062f74132..5ac9347124 100644 --- a/apm-agent-plugins/apm-jsf-plugin/pom.xml +++ b/apm-agent-plugins/apm-jsf-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jsf-plugin diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml index 342aad4514..5660ba49e3 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml @@ -3,7 +3,7 @@ apm-kafka-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml index 39126f76d7..e31c586ce1 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml index 9c693fddfc..7fcc417fe2 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/pom.xml index fcadf2b280..1caf2805a9 100644 --- a/apm-agent-plugins/apm-kafka-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml index 5f798fd24f..4ba7dfa61a 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jboss-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml index 9a1106ccd0..dcb34f9417 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jul-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml index 99719c602f..1a12d5d893 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-log4j1-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml index 8d593f7fc6..a2e9b966b7 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml @@ -6,7 +6,7 @@ co.elastic.apm apm-logging-plugin - 1.51.1-SNAPSHOT + 1.52.0 apm-log4j2-plugin-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml index ad208e00ea..b8b50f6d93 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-log4j2-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml index 053988061e..2d2050f175 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-logback-plugin-impl diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml index 7003df0af7..6fc64818c9 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-logback-plugin-legacy-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml index c25ddf9495..68814b5d8b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-logback-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml index 5ec0b4d507..4a47e7551b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-logging-plugin-common diff --git a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml index 9d55e6ac5b..854c519c1c 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-slf4j-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml index 1df7f08b20..6386b8d133 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-tomcat-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/pom.xml index be0fc2aeb0..7a9743e7b8 100644 --- a/apm-agent-plugins/apm-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-logging-plugin diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index 2eb651f562..ac9be92aa9 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml index 99891b2ed3..c64fd931e8 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml @@ -4,7 +4,7 @@ apm-mongodb co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml index d10284cbca..93118663e2 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-mongodb co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml index 5459da8cbc..f6d6864bcf 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-mongodb co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-mongodb4-plugin diff --git a/apm-agent-plugins/apm-mongodb/pom.xml b/apm-agent-plugins/apm-mongodb/pom.xml index 133458b767..5bdce0eb6e 100644 --- a/apm-agent-plugins/apm-mongodb/pom.xml +++ b/apm-agent-plugins/apm-mongodb/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-mongodb diff --git a/apm-agent-plugins/apm-okhttp-plugin/pom.xml b/apm-agent-plugins/apm-okhttp-plugin/pom.xml index d6e07baa3b..3a387dd968 100644 --- a/apm-agent-plugins/apm-okhttp-plugin/pom.xml +++ b/apm-agent-plugins/apm-okhttp-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-okhttp-plugin diff --git a/apm-agent-plugins/apm-okhttp-test/pom.xml b/apm-agent-plugins/apm-okhttp-test/pom.xml index e9365e76e8..0cb79c1c28 100644 --- a/apm-agent-plugins/apm-okhttp-test/pom.xml +++ b/apm-agent-plugins/apm-okhttp-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml index fc8ad510f9..5930f06861 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.1-SNAPSHOT + 1.52.0 apm-opentelemetry-embedded-metrics-sdk diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml index 78e0fa7059..283aeaad00 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml index 8e25eb55cf..b63ec61ecb 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml index 97cbb1e990..b908102577 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml index 60be65af33..b5faf16e98 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml index edfc2b830e..94d50f8415 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.1-SNAPSHOT + 1.52.0 apm-opentelemetry-metricsdk-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml index a8844b9f65..239ecbcf3c 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.1-SNAPSHOT + 1.52.0 apm-opentelemetry-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml index 592e6d5dae..7d4058f2ff 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.51.1-SNAPSHOT + 1.52.0 ${project.groupId}:${project.artifactId} diff --git a/apm-agent-plugins/apm-opentelemetry/pom.xml b/apm-agent-plugins/apm-opentelemetry/pom.xml index e4819b2bec..b4b496f872 100644 --- a/apm-agent-plugins/apm-opentelemetry/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.1-SNAPSHOT + 1.52.0 apm-opentelemetry diff --git a/apm-agent-plugins/apm-opentracing-plugin/pom.xml b/apm-agent-plugins/apm-opentracing-plugin/pom.xml index 7a762dbea9..e7c0db728f 100644 --- a/apm-agent-plugins/apm-opentracing-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentracing-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-opentracing-plugin diff --git a/apm-agent-plugins/apm-process-plugin/pom.xml b/apm-agent-plugins/apm-process-plugin/pom.xml index 2cf9802024..ebca33388e 100644 --- a/apm-agent-plugins/apm-process-plugin/pom.xml +++ b/apm-agent-plugins/apm-process-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-profiling-plugin/pom.xml b/apm-agent-plugins/apm-profiling-plugin/pom.xml index 12485764bc..74833d32f8 100644 --- a/apm-agent-plugins/apm-profiling-plugin/pom.xml +++ b/apm-agent-plugins/apm-profiling-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-profiling-plugin diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml index 8b6121e2f5..f4e8da2ce7 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml index 44373949da..aad2b1e555 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml index cfba29dd02..c4cfbddea5 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/pom.xml b/apm-agent-plugins/apm-quartz/pom.xml index 9be38d14ad..3f2a829a15 100644 --- a/apm-agent-plugins/apm-quartz/pom.xml +++ b/apm-agent-plugins/apm-quartz/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-quartz diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml index fbb46bdd72..2ec83509d0 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-rabbitmq-plugin diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml index 90bf799ab8..080df4c32d 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-rabbitmq-spring diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml index f495a0f365..2eaec66e99 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-rabbitmq-test-3 diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml index 8f8b724dcc..b789efe0b7 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-rabbitmq-test-4 diff --git a/apm-agent-plugins/apm-rabbitmq/pom.xml b/apm-agent-plugins/apm-rabbitmq/pom.xml index 45664b43a0..142b78d458 100644 --- a/apm-agent-plugins/apm-rabbitmq/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-rabbitmq diff --git a/apm-agent-plugins/apm-reactor-plugin/pom.xml b/apm-agent-plugins/apm-reactor-plugin/pom.xml index 53b2405c96..fc27ef1ccc 100644 --- a/apm-agent-plugins/apm-reactor-plugin/pom.xml +++ b/apm-agent-plugins/apm-reactor-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.1-SNAPSHOT + 1.52.0 apm-reactor-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml index 0989546e26..52efbbc288 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jedis-2-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml index 37f1484d27..efd93cb423 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jedis-3-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml index 442233cb08..8ab645baf3 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jedis-4-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index 99594c6b89..ac6bd4c80b 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jedis-5-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml index 1949a34663..6b67c54d5d 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-jedis-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml index b979432431..a868bf5067 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml index 3a80de7bea..e0a40d2b3b 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml index 354e3704e7..91b1f66a32 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-redis-common diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml index f31a7dfadd..797b7714af 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-redisson-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/pom.xml index 23ef97813a..6048ec5714 100644 --- a/apm-agent-plugins/apm-redis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-redis-plugin diff --git a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml index 2574b74a06..2c0227853f 100644 --- a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-scala-concurrent-plugin diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml index ddebdeeaca..4d941f97f0 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml index d6065b1024..71a7431f6f 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-scheduled-annotation-plugin diff --git a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml index f679bbb3e8..63b9bf7c72 100644 --- a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml +++ b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-servlet-jakarta-test diff --git a/apm-agent-plugins/apm-servlet-plugin/pom.xml b/apm-agent-plugins/apm-servlet-plugin/pom.xml index 092684376e..6d0208a5ef 100644 --- a/apm-agent-plugins/apm-servlet-plugin/pom.xml +++ b/apm-agent-plugins/apm-servlet-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-servlet-plugin diff --git a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml index 95f46a1377..2213b1c9ac 100644 --- a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml +++ b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml index 4af4ae49cd..1f58112775 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-restclient-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml index 98d9d2ca6d..be0d910972 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-resttemplate-plugin diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml index c794247af3..c9583915eb 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-resttemplate-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/pom.xml index 9f92e256eb..4e02157fb1 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-resttemplate diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml index da48b47b60..e8451f623d 100755 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webclient-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml index 5725642bd1..b932b662d4 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webflux-common-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml index 9d831b7f0c..fa11f5e4ac 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webflux-common diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml index 2c5a7fb61d..fc6ddbd4a6 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webflux-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml index b4ae541335..6e5db947e2 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webflux-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml index fa44c7deb7..f3588941ee 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webflux-testapp diff --git a/apm-agent-plugins/apm-spring-webflux/pom.xml b/apm-agent-plugins/apm-spring-webflux/pom.xml index ee32aacf9a..8d3839ffb1 100644 --- a/apm-agent-plugins/apm-spring-webflux/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webflux diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml index 9abf559c37..29661bc77d 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webmvc-plugin diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml index f24896085a..5ef7b9c735 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-spring-webmvc-spring5 diff --git a/apm-agent-plugins/apm-spring-webmvc/pom.xml b/apm-agent-plugins/apm-spring-webmvc/pom.xml index 2bf6986a6b..05097f14e3 100644 --- a/apm-agent-plugins/apm-spring-webmvc/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-struts-plugin/pom.xml b/apm-agent-plugins/apm-struts-plugin/pom.xml index 5f9d1edb4b..55c20a73e0 100644 --- a/apm-agent-plugins/apm-struts-plugin/pom.xml +++ b/apm-agent-plugins/apm-struts-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml index c1542fdc1e..67c682c919 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml +++ b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-urlconnection-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml index 27514472b0..4ee2e2d902 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-vertx-common diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml index 21b409d644..fa8cc2331b 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-vertx3-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml index 97ae491df5..3106d119a1 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-vertx3-test-latest diff --git a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml index c6a6b179b9..d99f5cdfbe 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-vertx4-plugin diff --git a/apm-agent-plugins/apm-vertx/pom.xml b/apm-agent-plugins/apm-vertx/pom.xml index a4b8460460..37f10e99a8 100644 --- a/apm-agent-plugins/apm-vertx/pom.xml +++ b/apm-agent-plugins/apm-vertx/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-vertx diff --git a/apm-agent-plugins/pom.xml b/apm-agent-plugins/pom.xml index 050334cb03..a7f392c9bc 100644 --- a/apm-agent-plugins/pom.xml +++ b/apm-agent-plugins/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-plugins diff --git a/apm-agent-tracer/pom.xml b/apm-agent-tracer/pom.xml index 6d4218ceb9..7e5ca7a03a 100644 --- a/apm-agent-tracer/pom.xml +++ b/apm-agent-tracer/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.51.1-SNAPSHOT + 1.52.0 apm-agent-tracer diff --git a/apm-opentracing/pom.xml b/apm-opentracing/pom.xml index a1740a249b..1d4dd43ca6 100644 --- a/apm-opentracing/pom.xml +++ b/apm-opentracing/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 apm-opentracing diff --git a/elastic-apm-agent-java8/pom.xml b/elastic-apm-agent-java8/pom.xml index d78b736999..af58cbf093 100644 --- a/elastic-apm-agent-java8/pom.xml +++ b/elastic-apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.51.1-SNAPSHOT + 1.52.0 elastic-apm-agent-java8 diff --git a/elastic-apm-agent-premain/pom.xml b/elastic-apm-agent-premain/pom.xml index 846959709b..25850879f1 100644 --- a/elastic-apm-agent-premain/pom.xml +++ b/elastic-apm-agent-premain/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/elastic-apm-agent/pom.xml b/elastic-apm-agent/pom.xml index a09cbec1ba..b66699bf06 100644 --- a/elastic-apm-agent/pom.xml +++ b/elastic-apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.51.1-SNAPSHOT + 1.52.0 elastic-apm-agent diff --git a/integration-tests/application-server-integration-tests/pom.xml b/integration-tests/application-server-integration-tests/pom.xml index 968b90b092..94c2f7a842 100644 --- a/integration-tests/application-server-integration-tests/pom.xml +++ b/integration-tests/application-server-integration-tests/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 application-server-integration-tests diff --git a/integration-tests/aws-lambda-test/pom.xml b/integration-tests/aws-lambda-test/pom.xml index a4571d0c19..fe605feb56 100644 --- a/integration-tests/aws-lambda-test/pom.xml +++ b/integration-tests/aws-lambda-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-dependent/pom.xml b/integration-tests/cdi-app/cdi-app-dependent/pom.xml index f628e9abb6..1223f46f18 100644 --- a/integration-tests/cdi-app/cdi-app-dependent/pom.xml +++ b/integration-tests/cdi-app/cdi-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-standalone/pom.xml b/integration-tests/cdi-app/cdi-app-standalone/pom.xml index f4c30f7b10..6e2739e956 100644 --- a/integration-tests/cdi-app/cdi-app-standalone/pom.xml +++ b/integration-tests/cdi-app/cdi-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/cdi-app/pom.xml b/integration-tests/cdi-app/pom.xml index 8f746f1284..43e3acbe22 100644 --- a/integration-tests/cdi-app/pom.xml +++ b/integration-tests/cdi-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml index dd9d10b1ac..c6bac408bd 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml index 7b8fd9bf58..9432d9482a 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/pom.xml b/integration-tests/cdi-jakartaee-app/pom.xml index c15f31e6bf..7c6c43365c 100644 --- a/integration-tests/cdi-jakartaee-app/pom.xml +++ b/integration-tests/cdi-jakartaee-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml index 27ed7b28ab..5695c1db67 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.51.1-SNAPSHOT + 1.52.0 external-plugin-otel-test-app diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml index 6d9a1c7eef..b64790d3ff 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.51.1-SNAPSHOT + 1.52.0 external-plugin-otel-test-plugin1 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml index 21ea4e31ae..c517e8b792 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.51.1-SNAPSHOT + 1.52.0 external-plugin-otel-test-plugin2 diff --git a/integration-tests/external-plugin-otel-test/pom.xml b/integration-tests/external-plugin-otel-test/pom.xml index d2b6e0fec4..6f009e231e 100644 --- a/integration-tests/external-plugin-otel-test/pom.xml +++ b/integration-tests/external-plugin-otel-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm integration-tests - 1.51.1-SNAPSHOT + 1.52.0 external-plugin-otel-test diff --git a/integration-tests/external-plugin-test/external-plugin-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-app/pom.xml index 5fac766ee1..312e16c288 100644 --- a/integration-tests/external-plugin-test/external-plugin-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 external-plugin-app diff --git a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml index 48c925417a..f4bbdbaad8 100644 --- a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 external-plugin-jakarta-app diff --git a/integration-tests/external-plugin-test/external-plugin/pom.xml b/integration-tests/external-plugin-test/external-plugin/pom.xml index f62804c15a..3226694dee 100644 --- a/integration-tests/external-plugin-test/external-plugin/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 external-plugin diff --git a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml index 587e26216d..e70a0357e0 100644 --- a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml +++ b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 plugin-instrumentation-target diff --git a/integration-tests/external-plugin-test/pom.xml b/integration-tests/external-plugin-test/pom.xml index 976d244902..74765e1dec 100644 --- a/integration-tests/external-plugin-test/pom.xml +++ b/integration-tests/external-plugin-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml index 990b6edfe7..641a286f59 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml index 89ee2ff664..e959055e00 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/pom.xml b/integration-tests/jakartaee-jsf-app/pom.xml index c97d7fcfbc..93c94ca4cb 100644 --- a/integration-tests/jakartaee-jsf-app/pom.xml +++ b/integration-tests/jakartaee-jsf-app/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 pom diff --git a/integration-tests/jakartaee-simple-webapp/pom.xml b/integration-tests/jakartaee-simple-webapp/pom.xml index 12ba0b56e7..2640aa16f4 100644 --- a/integration-tests/jakartaee-simple-webapp/pom.xml +++ b/integration-tests/jakartaee-simple-webapp/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 jakartaee-simple-webapp diff --git a/integration-tests/jsf-app/jsf-app-dependent/pom.xml b/integration-tests/jsf-app/jsf-app-dependent/pom.xml index 64735c0366..1293d46c05 100644 --- a/integration-tests/jsf-app/jsf-app-dependent/pom.xml +++ b/integration-tests/jsf-app/jsf-app-dependent/pom.xml @@ -4,7 +4,7 @@ jsf-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/jsf-app/jsf-app-standalone/pom.xml b/integration-tests/jsf-app/jsf-app-standalone/pom.xml index 3142ee23a6..159a79b58a 100644 --- a/integration-tests/jsf-app/jsf-app-standalone/pom.xml +++ b/integration-tests/jsf-app/jsf-app-standalone/pom.xml @@ -6,7 +6,7 @@ jsf-app co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 jsf-app-standalone diff --git a/integration-tests/jsf-app/pom.xml b/integration-tests/jsf-app/pom.xml index b7cce2a122..b69708c463 100644 --- a/integration-tests/jsf-app/pom.xml +++ b/integration-tests/jsf-app/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 jsf-app diff --git a/integration-tests/main-app-test/pom.xml b/integration-tests/main-app-test/pom.xml index eadf28be67..c2bdf63d67 100644 --- a/integration-tests/main-app-test/pom.xml +++ b/integration-tests/main-app-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 main-app-test diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index aec5d4ea38..6eb37dc803 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 integration-tests diff --git a/integration-tests/quarkus/pom.xml b/integration-tests/quarkus/pom.xml index 907927a75b..924f305d67 100644 --- a/integration-tests/quarkus/pom.xml +++ b/integration-tests/quarkus/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 quarkus diff --git a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml index 07ae0a1084..8609f3f6a8 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 quarkus-jaxrs-base diff --git a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml index 7cf4d4eb3e..c0925248c6 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 quarkus-jaxrs-undertow diff --git a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml index cd3de3be85..5e770fd7ee 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 quarkus-jaxrs-vertx diff --git a/integration-tests/runtime-attach/pom.xml b/integration-tests/runtime-attach/pom.xml index 87d5f9b6d0..f423c619b8 100644 --- a/integration-tests/runtime-attach/pom.xml +++ b/integration-tests/runtime-attach/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 runtime-attach diff --git a/integration-tests/runtime-attach/runtime-attach-app/pom.xml b/integration-tests/runtime-attach/runtime-attach-app/pom.xml index aed443ed32..110af7d2ca 100644 --- a/integration-tests/runtime-attach/runtime-attach-app/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-app/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/runtime-attach/runtime-attach-test/pom.xml b/integration-tests/runtime-attach/runtime-attach-test/pom.xml index 5c98bea169..3659acbf4a 100644 --- a/integration-tests/runtime-attach/runtime-attach-test/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-test/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/simple-webapp/pom.xml b/integration-tests/simple-webapp/pom.xml index 54d3ccc6e4..6b15b75cdf 100644 --- a/integration-tests/simple-webapp/pom.xml +++ b/integration-tests/simple-webapp/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 simple-webapp diff --git a/integration-tests/soap-test/pom.xml b/integration-tests/soap-test/pom.xml index 3e667804d8..faab22748b 100644 --- a/integration-tests/soap-test/pom.xml +++ b/integration-tests/soap-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 soap-test diff --git a/integration-tests/spring-boot-1-5/pom.xml b/integration-tests/spring-boot-1-5/pom.xml index 7921ee8e7c..268c3696c2 100644 --- a/integration-tests/spring-boot-1-5/pom.xml +++ b/integration-tests/spring-boot-1-5/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 spring-boot-1-5 diff --git a/integration-tests/spring-boot-2/pom.xml b/integration-tests/spring-boot-2/pom.xml index 9e0c4bdcb8..842959d228 100644 --- a/integration-tests/spring-boot-2/pom.xml +++ b/integration-tests/spring-boot-2/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 spring-boot-2 diff --git a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml index e035612d1a..9cbd366e3e 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 spring-boot-2-base diff --git a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml index 14df973ad9..739756e032 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 spring-boot-2-jetty diff --git a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml index bbbb69feb3..369eb48e6b 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 spring-boot-2-tomcat diff --git a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml index 6a5f5f3242..cac0e6b1e1 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 spring-boot-2-undertow diff --git a/integration-tests/spring-boot-3/pom.xml b/integration-tests/spring-boot-3/pom.xml index f2cbe4ad8e..6eadb700fe 100644 --- a/integration-tests/spring-boot-3/pom.xml +++ b/integration-tests/spring-boot-3/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 spring-boot-3 diff --git a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml index e295086cb1..e3de1c19e1 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml index 71eb6d1725..0f4a4a6f7b 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml index 29378f1e48..2377b32281 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.51.1-SNAPSHOT + 1.52.0 4.0.0 diff --git a/pom.xml b/pom.xml index 830a12e056..70f873f2aa 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.51.1-SNAPSHOT + 1.52.0 pom ${project.groupId}:${project.artifactId} From 1474534c3eda70fe9c8eb3e5344afd668b37e5a8 Mon Sep 17 00:00:00 2001 From: obltmachine <150269514+obltmachine@users.noreply.github.com> Date: Mon, 23 Sep 2024 18:07:12 +0200 Subject: [PATCH 53/98] post release: elastic-apm-agent v1.52.0 (#3813) Co-authored-by: obltmachine --- apm-agent-api/pom.xml | 2 +- apm-agent-attach-cli/pom.xml | 2 +- apm-agent-attach/pom.xml | 2 +- apm-agent-benchmarks/pom.xml | 2 +- apm-agent-bootstrap/pom.xml | 2 +- apm-agent-builds/apm-agent-java8/pom.xml | 2 +- apm-agent-builds/apm-agent/pom.xml | 2 +- apm-agent-builds/pom.xml | 2 +- apm-agent-cached-lookup-key/pom.xml | 2 +- apm-agent-common/pom.xml | 2 +- apm-agent-core/pom.xml | 2 +- apm-agent-lambda-layer/pom.xml | 2 +- apm-agent-plugin-sdk/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient-common/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml | 2 +- .../apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml | 2 +- apm-agent-plugins/apm-apache-httpclient/pom.xml | 2 +- apm-agent-plugins/apm-api-plugin/pom.xml | 2 +- apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/pom.xml | 2 +- apm-agent-plugins/apm-awslambda-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra-core-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/pom.xml | 2 +- apm-agent-plugins/apm-dubbo-plugin/pom.xml | 2 +- apm-agent-plugins/apm-ecs-logging-plugin/pom.xml | 2 +- .../apm-es-restclient-plugin-5_6/pom.xml | 2 +- .../apm-es-restclient-plugin-6_4/pom.xml | 2 +- .../apm-es-restclient-plugin-7_x/pom.xml | 2 +- .../apm-es-restclient-plugin-8_x/pom.xml | 2 +- .../apm-es-restclient-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-es-restclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grails-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-grpc/pom.xml | 2 +- .../apm-hibernate-search-plugin-5_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-6_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-hibernate-search-plugin/pom.xml | 2 +- apm-agent-plugins/apm-httpclient-core/pom.xml | 2 +- apm-agent-plugins/apm-httpserver-core/pom.xml | 2 +- apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-concurrent-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-ldap-plugin/pom.xml | 2 +- apm-agent-plugins/apm-javalin-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxrs-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxws-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdbc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jmx-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jsf-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-base-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-kafka-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-jboss-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml | 2 +- .../apm-logback-plugin/apm-logback-plugin-impl/pom.xml | 2 +- .../apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-logging-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-micrometer-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-plugin/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-test/pom.xml | 2 +- .../apm-opentelemetry-embedded-metrics-sdk/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-common/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-latest/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-v1_14/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-parent/pom.xml | 2 +- .../apm-opentelemetry-metricsdk-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-test/pom.xml | 2 +- apm-agent-plugins/apm-opentelemetry/pom.xml | 2 +- apm-agent-plugins/apm-opentracing-plugin/pom.xml | 2 +- apm-agent-plugins/apm-process-plugin/pom.xml | 2 +- apm-agent-plugins/apm-profiling-plugin/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml | 2 +- apm-agent-plugins/apm-quartz/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/pom.xml | 2 +- apm-agent-plugins/apm-reactor-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/pom.xml | 2 +- apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml | 2 +- .../apm-scheduled-annotation-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml | 2 +- apm-agent-plugins/apm-servlet-jakarta-test/pom.xml | 2 +- apm-agent-plugins/apm-servlet-plugin/pom.xml | 2 +- apm-agent-plugins/apm-sparkjava-plugin/pom.xml | 2 +- .../apm-spring-resttemplate/apm-spring-restclient-test/pom.xml | 2 +- .../apm-spring-resttemplate-plugin/pom.xml | 2 +- .../apm-spring-resttemplate-test/pom.xml | 2 +- apm-agent-plugins/apm-spring-resttemplate/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webclient-plugin/pom.xml | 2 +- .../apm-spring-webflux-common-spring5/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-common/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-plugin/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-spring5/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-testapp/pom.xml | 2 +- apm-agent-plugins/apm-spring-webflux/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml | 2 +- apm-agent-plugins/apm-spring-webmvc/pom.xml | 2 +- apm-agent-plugins/apm-struts-plugin/pom.xml | 2 +- apm-agent-plugins/apm-urlconnection-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/pom.xml | 2 +- apm-agent-plugins/pom.xml | 2 +- apm-agent-tracer/pom.xml | 2 +- apm-opentracing/pom.xml | 2 +- cloudfoundry/index.yml | 1 + elastic-apm-agent-java8/pom.xml | 2 +- elastic-apm-agent-premain/pom.xml | 2 +- elastic-apm-agent/pom.xml | 2 +- integration-tests/application-server-integration-tests/pom.xml | 2 +- integration-tests/aws-lambda-test/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-dependent/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-standalone/pom.xml | 2 +- integration-tests/cdi-app/pom.xml | 2 +- .../cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml | 2 +- .../cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml | 2 +- integration-tests/cdi-jakartaee-app/pom.xml | 2 +- .../external-plugin-otel-test-app/pom.xml | 2 +- .../external-plugin-otel-test-plugin1/pom.xml | 2 +- .../external-plugin-otel-test-plugin2/pom.xml | 2 +- integration-tests/external-plugin-otel-test/pom.xml | 2 +- .../external-plugin-test/external-plugin-app/pom.xml | 2 +- .../external-plugin-test/external-plugin-jakarta-app/pom.xml | 2 +- integration-tests/external-plugin-test/external-plugin/pom.xml | 2 +- .../external-plugin-test/plugin-instrumentation-target/pom.xml | 2 +- integration-tests/external-plugin-test/pom.xml | 2 +- .../jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml | 2 +- .../jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml | 2 +- integration-tests/jakartaee-jsf-app/pom.xml | 2 +- integration-tests/jakartaee-simple-webapp/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-dependent/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-standalone/pom.xml | 2 +- integration-tests/jsf-app/pom.xml | 2 +- integration-tests/main-app-test/pom.xml | 2 +- integration-tests/pom.xml | 2 +- integration-tests/quarkus/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-base/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml | 2 +- integration-tests/runtime-attach/pom.xml | 2 +- integration-tests/runtime-attach/runtime-attach-app/pom.xml | 2 +- integration-tests/runtime-attach/runtime-attach-test/pom.xml | 2 +- integration-tests/simple-webapp/pom.xml | 2 +- integration-tests/soap-test/pom.xml | 2 +- integration-tests/spring-boot-1-5/pom.xml | 2 +- integration-tests/spring-boot-2/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-base/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml | 2 +- integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml | 2 +- integration-tests/spring-boot-3/pom.xml | 2 +- integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml | 2 +- integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml | 2 +- integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml | 2 +- pom.xml | 2 +- 202 files changed, 202 insertions(+), 201 deletions(-) diff --git a/apm-agent-api/pom.xml b/apm-agent-api/pom.xml index 501e10e306..811e7c5c7d 100644 --- a/apm-agent-api/pom.xml +++ b/apm-agent-api/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-api diff --git a/apm-agent-attach-cli/pom.xml b/apm-agent-attach-cli/pom.xml index bffc06a48c..06a30940db 100644 --- a/apm-agent-attach-cli/pom.xml +++ b/apm-agent-attach-cli/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-attach/pom.xml b/apm-agent-attach/pom.xml index c1d7dfa567..4828bc1ad7 100644 --- a/apm-agent-attach/pom.xml +++ b/apm-agent-attach/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-attach diff --git a/apm-agent-benchmarks/pom.xml b/apm-agent-benchmarks/pom.xml index 3cb3f7fd5b..b211527105 100644 --- a/apm-agent-benchmarks/pom.xml +++ b/apm-agent-benchmarks/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-benchmarks diff --git a/apm-agent-bootstrap/pom.xml b/apm-agent-bootstrap/pom.xml index c31662c60f..ec01e3e6b1 100644 --- a/apm-agent-bootstrap/pom.xml +++ b/apm-agent-bootstrap/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-bootstrap diff --git a/apm-agent-builds/apm-agent-java8/pom.xml b/apm-agent-builds/apm-agent-java8/pom.xml index a7c821252e..192ad1244b 100644 --- a/apm-agent-builds/apm-agent-java8/pom.xml +++ b/apm-agent-builds/apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-java8 diff --git a/apm-agent-builds/apm-agent/pom.xml b/apm-agent-builds/apm-agent/pom.xml index 14a7edee69..9450214b07 100644 --- a/apm-agent-builds/apm-agent/pom.xml +++ b/apm-agent-builds/apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.52.0 + 1.52.1-SNAPSHOT apm-agent diff --git a/apm-agent-builds/pom.xml b/apm-agent-builds/pom.xml index 83e5fa6f19..3cbcffbd23 100644 --- a/apm-agent-builds/pom.xml +++ b/apm-agent-builds/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-cached-lookup-key/pom.xml b/apm-agent-cached-lookup-key/pom.xml index 826062dde5..96ca8673f9 100644 --- a/apm-agent-cached-lookup-key/pom.xml +++ b/apm-agent-cached-lookup-key/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-common/pom.xml b/apm-agent-common/pom.xml index 7e74f56f6d..d196209bcc 100644 --- a/apm-agent-common/pom.xml +++ b/apm-agent-common/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-core/pom.xml b/apm-agent-core/pom.xml index 55a88c872d..98ca788a7b 100644 --- a/apm-agent-core/pom.xml +++ b/apm-agent-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-core diff --git a/apm-agent-lambda-layer/pom.xml b/apm-agent-lambda-layer/pom.xml index 64f28e3f23..6fd67cba8a 100644 --- a/apm-agent-lambda-layer/pom.xml +++ b/apm-agent-lambda-layer/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugin-sdk/pom.xml b/apm-agent-plugin-sdk/pom.xml index d3e44b9f5b..00cae53d5b 100644 --- a/apm-agent-plugin-sdk/pom.xml +++ b/apm-agent-plugin-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml index 283199152c..e698c88c25 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-apache-httpclient-common diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml index 387a8e075e..e459a5d0b5 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-apache-httpclient3-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml index 24049343f6..a881eaca1b 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-apache-httpclient4-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml index 5bd35ad3fb..7039df5fb3 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-apache-httpclient - 1.52.0 + 1.52.1-SNAPSHOT apm-apache-httpclient5-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/pom.xml b/apm-agent-plugins/apm-apache-httpclient/pom.xml index c566875f9d..b31b2de02a 100644 --- a/apm-agent-plugins/apm-apache-httpclient/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-apache-httpclient diff --git a/apm-agent-plugins/apm-api-plugin/pom.xml b/apm-agent-plugins/apm-api-plugin/pom.xml index 1447181eea..9f389b9b8b 100644 --- a/apm-agent-plugins/apm-api-plugin/pom.xml +++ b/apm-agent-plugins/apm-api-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT diff --git a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml index 6080baed61..bb4fc4573d 100644 --- a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-asynchttpclient-plugin diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index a0eb0a6ed3..c58f5dde1c 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index d5358ec712..d38816d400 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml index 86af8747a5..98301add9d 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/pom.xml b/apm-agent-plugins/apm-aws-sdk/pom.xml index 3e6d602bbf..8e7bbadad8 100644 --- a/apm-agent-plugins/apm-aws-sdk/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-awslambda-plugin/pom.xml b/apm-agent-plugins/apm-awslambda-plugin/pom.xml index 6afae0bd70..39abce3c4b 100644 --- a/apm-agent-plugins/apm-awslambda-plugin/pom.xml +++ b/apm-agent-plugins/apm-awslambda-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml index d25fd6ffd5..00a1a3aeb7 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml index 2399d0f835..4f138f2de4 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml index 7dd6eba97c..d4d6a04095 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/pom.xml b/apm-agent-plugins/apm-cassandra/pom.xml index 1fa5d7586a..bd6a46e378 100644 --- a/apm-agent-plugins/apm-cassandra/pom.xml +++ b/apm-agent-plugins/apm-cassandra/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-dubbo-plugin/pom.xml b/apm-agent-plugins/apm-dubbo-plugin/pom.xml index 38eea4570a..8efcd5f8f5 100644 --- a/apm-agent-plugins/apm-dubbo-plugin/pom.xml +++ b/apm-agent-plugins/apm-dubbo-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml index 712b820c21..38390738bc 100644 --- a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-ecs-logging-plugin diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml index 3b9644c7ea..37a698d900 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-es-restclient-plugin-5_6 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml index ad2babc3ef..f770ad9f44 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-es-restclient-plugin-6_4 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml index 39e84c5f4f..9b4e138b7e 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-es-restclient-plugin-7_x diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml index 4316d6c2b0..52b0de9e7c 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml @@ -3,7 +3,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml index ff66886574..42815f5b21 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-es-restclient-plugin-common diff --git a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml index 7300a18b8c..9acc0585e2 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-es-restclient-plugin diff --git a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml index 9b3c2c04de..c57513de4d 100644 --- a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-finagle-httpclient-plugin diff --git a/apm-agent-plugins/apm-grails-plugin/pom.xml b/apm-agent-plugins/apm-grails-plugin/pom.xml index c91d2ce1d1..5eeec9901c 100644 --- a/apm-agent-plugins/apm-grails-plugin/pom.xml +++ b/apm-agent-plugins/apm-grails-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-grails-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml index 1d39ea0665..f8af14d6c9 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.0 + 1.52.1-SNAPSHOT apm-grpc-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml index 1425fc863a..6ff5f4872d 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.0 + 1.52.1-SNAPSHOT apm-grpc-test-1.6.1 diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml index af8cb8106e..e02c17bf60 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.0 + 1.52.1-SNAPSHOT apm-grpc-test-latest diff --git a/apm-agent-plugins/apm-grpc/pom.xml b/apm-agent-plugins/apm-grpc/pom.xml index cc1c00a915..0da786d951 100644 --- a/apm-agent-plugins/apm-grpc/pom.xml +++ b/apm-agent-plugins/apm-grpc/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.52.1-SNAPSHOT apm-grpc diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml index 272274d6be..086697282d 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-hibernate-search-plugin-5_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml index b84962208e..486b6a0f61 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-hibernate-search-plugin-6_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml index 127a750017..63f41ef34d 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-hibernate-search-plugin-common diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml index 31b9946fd9..2cb8311903 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-hibernate-search-plugin diff --git a/apm-agent-plugins/apm-httpclient-core/pom.xml b/apm-agent-plugins/apm-httpclient-core/pom.xml index ba0643a70a..a17971571c 100644 --- a/apm-agent-plugins/apm-httpclient-core/pom.xml +++ b/apm-agent-plugins/apm-httpclient-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-httpclient-core diff --git a/apm-agent-plugins/apm-httpserver-core/pom.xml b/apm-agent-plugins/apm-httpserver-core/pom.xml index 8a7fcdc86d..b174242944 100644 --- a/apm-agent-plugins/apm-httpserver-core/pom.xml +++ b/apm-agent-plugins/apm-httpserver-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-httpserver-core diff --git a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml index 26ac3b892f..6d904d1d29 100644 --- a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml +++ b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jakarta-websocket-plugin diff --git a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml index 577b2a4c84..4e8e60cede 100644 --- a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-java-concurrent-plugin diff --git a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml index b6bf154bed..1b78c6b32c 100644 --- a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-java-ldap-plugin diff --git a/apm-agent-plugins/apm-javalin-plugin/pom.xml b/apm-agent-plugins/apm-javalin-plugin/pom.xml index 6acd8b47aa..108a418878 100644 --- a/apm-agent-plugins/apm-javalin-plugin/pom.xml +++ b/apm-agent-plugins/apm-javalin-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-javalin-plugin diff --git a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml index 5f35c63200..2330c7e627 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml index dbcaaebe79..49a098bbed 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jaxrs-plugin diff --git a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml index b3d96701f2..133a48473b 100644 --- a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jaxws-plugin/pom.xml b/apm-agent-plugins/apm-jaxws-plugin/pom.xml index 13e221638f..ff539cf801 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jaxws-plugin diff --git a/apm-agent-plugins/apm-jdbc-plugin/pom.xml b/apm-agent-plugins/apm-jdbc-plugin/pom.xml index 1a0b540ce2..c4dcd0c426 100644 --- a/apm-agent-plugins/apm-jdbc-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdbc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jdbc-plugin diff --git a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml index b206e6a993..48d9ca16de 100644 --- a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jdk-httpclient-plugin diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml index a3167046c2..3304305784 100644 --- a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jdk-httpserver-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml index 19821d1379..3acb2e5ba4 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml index 55639e2368..69d5725ab2 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml index 9a643f7f87..d0cd79d942 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jms-plugin-base diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml index 83bfa46c7b..67a49d4931 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jms-spring-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/pom.xml index eb664fee8d..e7d15a74e4 100644 --- a/apm-agent-plugins/apm-jms-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jms-plugin diff --git a/apm-agent-plugins/apm-jmx-plugin/pom.xml b/apm-agent-plugins/apm-jmx-plugin/pom.xml index 488f2fe188..99b60e8064 100644 --- a/apm-agent-plugins/apm-jmx-plugin/pom.xml +++ b/apm-agent-plugins/apm-jmx-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jmx-plugin diff --git a/apm-agent-plugins/apm-jsf-plugin/pom.xml b/apm-agent-plugins/apm-jsf-plugin/pom.xml index 5ac9347124..e46b21344e 100644 --- a/apm-agent-plugins/apm-jsf-plugin/pom.xml +++ b/apm-agent-plugins/apm-jsf-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jsf-plugin diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml index 5660ba49e3..6bce08ffb7 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml @@ -3,7 +3,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml index e31c586ce1..d6e5f75412 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml index 7fcc417fe2..c1ecc32e53 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/pom.xml index 1caf2805a9..8a55418a70 100644 --- a/apm-agent-plugins/apm-kafka-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml index 4ba7dfa61a..b139bfa1ab 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jboss-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml index dcb34f9417..08074feb60 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jul-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml index 1a12d5d893..c62461166b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-log4j1-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml index a2e9b966b7..c7023119b4 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml @@ -6,7 +6,7 @@ co.elastic.apm apm-logging-plugin - 1.52.0 + 1.52.1-SNAPSHOT apm-log4j2-plugin-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml index b8b50f6d93..806e13cca1 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-log4j2-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml index 2d2050f175..d08698653f 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-logback-plugin-impl diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml index 6fc64818c9..4a6ac24834 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-logback-plugin-legacy-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml index 68814b5d8b..d18cf66da1 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-logback-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml index 4a47e7551b..b700fc13a6 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-logging-plugin-common diff --git a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml index 854c519c1c..ce16bda3ad 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-slf4j-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml index 6386b8d133..78c3b16352 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-tomcat-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/pom.xml index 7a9743e7b8..0a26955ae9 100644 --- a/apm-agent-plugins/apm-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-logging-plugin diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index ac9be92aa9..eda0508a4d 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml index c64fd931e8..0a8fef4a61 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml @@ -4,7 +4,7 @@ apm-mongodb co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml index 93118663e2..9c4034a9be 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-mongodb co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml index f6d6864bcf..3337ed4483 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-mongodb co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-mongodb4-plugin diff --git a/apm-agent-plugins/apm-mongodb/pom.xml b/apm-agent-plugins/apm-mongodb/pom.xml index 5bdce0eb6e..efb7d17f30 100644 --- a/apm-agent-plugins/apm-mongodb/pom.xml +++ b/apm-agent-plugins/apm-mongodb/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-mongodb diff --git a/apm-agent-plugins/apm-okhttp-plugin/pom.xml b/apm-agent-plugins/apm-okhttp-plugin/pom.xml index 3a387dd968..7e0eec4750 100644 --- a/apm-agent-plugins/apm-okhttp-plugin/pom.xml +++ b/apm-agent-plugins/apm-okhttp-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-okhttp-plugin diff --git a/apm-agent-plugins/apm-okhttp-test/pom.xml b/apm-agent-plugins/apm-okhttp-test/pom.xml index 0cb79c1c28..8ef7db00d5 100644 --- a/apm-agent-plugins/apm-okhttp-test/pom.xml +++ b/apm-agent-plugins/apm-okhttp-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml index 5930f06861..8e94acee0a 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.52.1-SNAPSHOT apm-opentelemetry-embedded-metrics-sdk diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml index 283aeaad00..9a50e4212c 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml index b63ec61ecb..cd0c32584a 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml index b908102577..f8629ae498 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml index b5faf16e98..6ba66dea57 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml index 94d50f8415..f5b9cdd5f9 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.52.1-SNAPSHOT apm-opentelemetry-metricsdk-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml index 239ecbcf3c..2ef543a12d 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.52.1-SNAPSHOT apm-opentelemetry-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml index 7d4058f2ff..97cc0df9d8 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.52.1-SNAPSHOT ${project.groupId}:${project.artifactId} diff --git a/apm-agent-plugins/apm-opentelemetry/pom.xml b/apm-agent-plugins/apm-opentelemetry/pom.xml index b4b496f872..0c1c4c5a6f 100644 --- a/apm-agent-plugins/apm-opentelemetry/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.52.1-SNAPSHOT apm-opentelemetry diff --git a/apm-agent-plugins/apm-opentracing-plugin/pom.xml b/apm-agent-plugins/apm-opentracing-plugin/pom.xml index e7c0db728f..b27d087c5c 100644 --- a/apm-agent-plugins/apm-opentracing-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentracing-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-opentracing-plugin diff --git a/apm-agent-plugins/apm-process-plugin/pom.xml b/apm-agent-plugins/apm-process-plugin/pom.xml index ebca33388e..33f9b703ca 100644 --- a/apm-agent-plugins/apm-process-plugin/pom.xml +++ b/apm-agent-plugins/apm-process-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-profiling-plugin/pom.xml b/apm-agent-plugins/apm-profiling-plugin/pom.xml index 74833d32f8..8ff4c11141 100644 --- a/apm-agent-plugins/apm-profiling-plugin/pom.xml +++ b/apm-agent-plugins/apm-profiling-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-profiling-plugin diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml index f4e8da2ce7..faef711507 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml index aad2b1e555..60a18cb2f0 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml index c4cfbddea5..b9c9cc1fc3 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/pom.xml b/apm-agent-plugins/apm-quartz/pom.xml index 3f2a829a15..e451026364 100644 --- a/apm-agent-plugins/apm-quartz/pom.xml +++ b/apm-agent-plugins/apm-quartz/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-quartz diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml index 2ec83509d0..fa422f834a 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-rabbitmq-plugin diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml index 080df4c32d..b4b347aa2d 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-rabbitmq-spring diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml index 2eaec66e99..44f8d6c83c 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-rabbitmq-test-3 diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml index b789efe0b7..e725cf1f57 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-rabbitmq-test-4 diff --git a/apm-agent-plugins/apm-rabbitmq/pom.xml b/apm-agent-plugins/apm-rabbitmq/pom.xml index 142b78d458..d6de24f151 100644 --- a/apm-agent-plugins/apm-rabbitmq/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-rabbitmq diff --git a/apm-agent-plugins/apm-reactor-plugin/pom.xml b/apm-agent-plugins/apm-reactor-plugin/pom.xml index fc27ef1ccc..e524dbf7a9 100644 --- a/apm-agent-plugins/apm-reactor-plugin/pom.xml +++ b/apm-agent-plugins/apm-reactor-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.52.1-SNAPSHOT apm-reactor-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml index 52efbbc288..047d194547 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jedis-2-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml index efd93cb423..118b6c516f 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jedis-3-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml index 8ab645baf3..f875504530 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jedis-4-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index ac6bd4c80b..441ed805f1 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jedis-5-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml index 6b67c54d5d..ed6be5b0dd 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-jedis-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml index a868bf5067..dda0885a88 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml index e0a40d2b3b..a61d7dcad3 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml index 91b1f66a32..6dfdcaf174 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-redis-common diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml index 797b7714af..7fbb1a444a 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-redisson-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/pom.xml index 6048ec5714..513bf6f6f8 100644 --- a/apm-agent-plugins/apm-redis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-redis-plugin diff --git a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml index 2c0227853f..add024e404 100644 --- a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-scala-concurrent-plugin diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml index 4d941f97f0..8f19f1ce26 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml index 71a7431f6f..543dc11d57 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-scheduled-annotation-plugin diff --git a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml index 63b9bf7c72..985d0897f2 100644 --- a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml +++ b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-servlet-jakarta-test diff --git a/apm-agent-plugins/apm-servlet-plugin/pom.xml b/apm-agent-plugins/apm-servlet-plugin/pom.xml index 6d0208a5ef..fc8758bcff 100644 --- a/apm-agent-plugins/apm-servlet-plugin/pom.xml +++ b/apm-agent-plugins/apm-servlet-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-servlet-plugin diff --git a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml index 2213b1c9ac..b06ca1720e 100644 --- a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml +++ b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml index 1f58112775..f2e8c4bcce 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-restclient-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml index be0d910972..a1336e9e35 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-resttemplate-plugin diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml index c9583915eb..73e69994f1 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-resttemplate-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/pom.xml index 4e02157fb1..47dfaf09bf 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-resttemplate diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml index e8451f623d..586beff2a6 100755 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webclient-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml index b932b662d4..6835d93359 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webflux-common-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml index fa11f5e4ac..0cb8b1f605 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webflux-common diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml index fc6ddbd4a6..5f86de81ed 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webflux-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml index 6e5db947e2..6784dbf9df 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webflux-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml index f3588941ee..89bba644e2 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webflux-testapp diff --git a/apm-agent-plugins/apm-spring-webflux/pom.xml b/apm-agent-plugins/apm-spring-webflux/pom.xml index 8d3839ffb1..7634d99b88 100644 --- a/apm-agent-plugins/apm-spring-webflux/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webflux diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml index 29661bc77d..da46c21179 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webmvc-plugin diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml index 5ef7b9c735..f6f6134832 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-spring-webmvc-spring5 diff --git a/apm-agent-plugins/apm-spring-webmvc/pom.xml b/apm-agent-plugins/apm-spring-webmvc/pom.xml index 05097f14e3..fbe88eade0 100644 --- a/apm-agent-plugins/apm-spring-webmvc/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-struts-plugin/pom.xml b/apm-agent-plugins/apm-struts-plugin/pom.xml index 55c20a73e0..f0b3c6a042 100644 --- a/apm-agent-plugins/apm-struts-plugin/pom.xml +++ b/apm-agent-plugins/apm-struts-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml index 67c682c919..b23308d097 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml +++ b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-urlconnection-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml index 4ee2e2d902..b1bff2b901 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-vertx-common diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml index fa8cc2331b..d24590f44e 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-vertx3-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml index 3106d119a1..a59abc53d6 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-vertx3-test-latest diff --git a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml index d99f5cdfbe..015713f06b 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-vertx4-plugin diff --git a/apm-agent-plugins/apm-vertx/pom.xml b/apm-agent-plugins/apm-vertx/pom.xml index 37f10e99a8..0a18afc8ed 100644 --- a/apm-agent-plugins/apm-vertx/pom.xml +++ b/apm-agent-plugins/apm-vertx/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-vertx diff --git a/apm-agent-plugins/pom.xml b/apm-agent-plugins/pom.xml index a7f392c9bc..fd7fb975b7 100644 --- a/apm-agent-plugins/pom.xml +++ b/apm-agent-plugins/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-plugins diff --git a/apm-agent-tracer/pom.xml b/apm-agent-tracer/pom.xml index 7e5ca7a03a..3d0cbccfcc 100644 --- a/apm-agent-tracer/pom.xml +++ b/apm-agent-tracer/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.52.1-SNAPSHOT apm-agent-tracer diff --git a/apm-opentracing/pom.xml b/apm-opentracing/pom.xml index 1d4dd43ca6..e584b0b1fe 100644 --- a/apm-opentracing/pom.xml +++ b/apm-opentracing/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT apm-opentracing diff --git a/cloudfoundry/index.yml b/cloudfoundry/index.yml index d93c07fbc0..f247aaecdc 100644 --- a/cloudfoundry/index.yml +++ b/cloudfoundry/index.yml @@ -64,3 +64,4 @@ 1.49.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.49.0/elastic-apm-agent-1.49.0.jar 1.50.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.50.0/elastic-apm-agent-1.50.0.jar 1.51.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.51.0/elastic-apm-agent-1.51.0.jar +1.52.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.52.0/elastic-apm-agent-1.52.0.jar diff --git a/elastic-apm-agent-java8/pom.xml b/elastic-apm-agent-java8/pom.xml index af58cbf093..89ace89606 100644 --- a/elastic-apm-agent-java8/pom.xml +++ b/elastic-apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.52.1-SNAPSHOT elastic-apm-agent-java8 diff --git a/elastic-apm-agent-premain/pom.xml b/elastic-apm-agent-premain/pom.xml index 25850879f1..93c0ca676e 100644 --- a/elastic-apm-agent-premain/pom.xml +++ b/elastic-apm-agent-premain/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/elastic-apm-agent/pom.xml b/elastic-apm-agent/pom.xml index b66699bf06..78fc25e908 100644 --- a/elastic-apm-agent/pom.xml +++ b/elastic-apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.52.1-SNAPSHOT elastic-apm-agent diff --git a/integration-tests/application-server-integration-tests/pom.xml b/integration-tests/application-server-integration-tests/pom.xml index 94c2f7a842..c9a29e11ec 100644 --- a/integration-tests/application-server-integration-tests/pom.xml +++ b/integration-tests/application-server-integration-tests/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT application-server-integration-tests diff --git a/integration-tests/aws-lambda-test/pom.xml b/integration-tests/aws-lambda-test/pom.xml index fe605feb56..a070e2480b 100644 --- a/integration-tests/aws-lambda-test/pom.xml +++ b/integration-tests/aws-lambda-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-dependent/pom.xml b/integration-tests/cdi-app/cdi-app-dependent/pom.xml index 1223f46f18..f625fa1c4b 100644 --- a/integration-tests/cdi-app/cdi-app-dependent/pom.xml +++ b/integration-tests/cdi-app/cdi-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-standalone/pom.xml b/integration-tests/cdi-app/cdi-app-standalone/pom.xml index 6e2739e956..87693f1bdb 100644 --- a/integration-tests/cdi-app/cdi-app-standalone/pom.xml +++ b/integration-tests/cdi-app/cdi-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-app/pom.xml b/integration-tests/cdi-app/pom.xml index 43e3acbe22..f411a6bc54 100644 --- a/integration-tests/cdi-app/pom.xml +++ b/integration-tests/cdi-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml index c6bac408bd..5bd40614fc 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml index 9432d9482a..58eac8bcfc 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/pom.xml b/integration-tests/cdi-jakartaee-app/pom.xml index 7c6c43365c..60ed982e75 100644 --- a/integration-tests/cdi-jakartaee-app/pom.xml +++ b/integration-tests/cdi-jakartaee-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml index 5695c1db67..a5206936aa 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.0 + 1.52.1-SNAPSHOT external-plugin-otel-test-app diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml index b64790d3ff..4c4e0e7e63 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.0 + 1.52.1-SNAPSHOT external-plugin-otel-test-plugin1 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml index c517e8b792..c586340a3a 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.0 + 1.52.1-SNAPSHOT external-plugin-otel-test-plugin2 diff --git a/integration-tests/external-plugin-otel-test/pom.xml b/integration-tests/external-plugin-otel-test/pom.xml index 6f009e231e..82a538df93 100644 --- a/integration-tests/external-plugin-otel-test/pom.xml +++ b/integration-tests/external-plugin-otel-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm integration-tests - 1.52.0 + 1.52.1-SNAPSHOT external-plugin-otel-test diff --git a/integration-tests/external-plugin-test/external-plugin-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-app/pom.xml index 312e16c288..9633ba4a12 100644 --- a/integration-tests/external-plugin-test/external-plugin-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT external-plugin-app diff --git a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml index f4bbdbaad8..e14f9eb681 100644 --- a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT external-plugin-jakarta-app diff --git a/integration-tests/external-plugin-test/external-plugin/pom.xml b/integration-tests/external-plugin-test/external-plugin/pom.xml index 3226694dee..a352263e32 100644 --- a/integration-tests/external-plugin-test/external-plugin/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT external-plugin diff --git a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml index e70a0357e0..a1d30e16e7 100644 --- a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml +++ b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT plugin-instrumentation-target diff --git a/integration-tests/external-plugin-test/pom.xml b/integration-tests/external-plugin-test/pom.xml index 74765e1dec..fe32b66d01 100644 --- a/integration-tests/external-plugin-test/pom.xml +++ b/integration-tests/external-plugin-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml index 641a286f59..2d26dfbda5 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml index e959055e00..1399f420fa 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/pom.xml b/integration-tests/jakartaee-jsf-app/pom.xml index 93c94ca4cb..67b6745a9f 100644 --- a/integration-tests/jakartaee-jsf-app/pom.xml +++ b/integration-tests/jakartaee-jsf-app/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 pom diff --git a/integration-tests/jakartaee-simple-webapp/pom.xml b/integration-tests/jakartaee-simple-webapp/pom.xml index 2640aa16f4..b71990076c 100644 --- a/integration-tests/jakartaee-simple-webapp/pom.xml +++ b/integration-tests/jakartaee-simple-webapp/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT jakartaee-simple-webapp diff --git a/integration-tests/jsf-app/jsf-app-dependent/pom.xml b/integration-tests/jsf-app/jsf-app-dependent/pom.xml index 1293d46c05..2891c79ddf 100644 --- a/integration-tests/jsf-app/jsf-app-dependent/pom.xml +++ b/integration-tests/jsf-app/jsf-app-dependent/pom.xml @@ -4,7 +4,7 @@ jsf-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/jsf-app/jsf-app-standalone/pom.xml b/integration-tests/jsf-app/jsf-app-standalone/pom.xml index 159a79b58a..ec1fa14ff0 100644 --- a/integration-tests/jsf-app/jsf-app-standalone/pom.xml +++ b/integration-tests/jsf-app/jsf-app-standalone/pom.xml @@ -6,7 +6,7 @@ jsf-app co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT jsf-app-standalone diff --git a/integration-tests/jsf-app/pom.xml b/integration-tests/jsf-app/pom.xml index b69708c463..fd67dc8b86 100644 --- a/integration-tests/jsf-app/pom.xml +++ b/integration-tests/jsf-app/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT jsf-app diff --git a/integration-tests/main-app-test/pom.xml b/integration-tests/main-app-test/pom.xml index c2bdf63d67..445fd242f2 100644 --- a/integration-tests/main-app-test/pom.xml +++ b/integration-tests/main-app-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT main-app-test diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 6eb37dc803..908584ea27 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT integration-tests diff --git a/integration-tests/quarkus/pom.xml b/integration-tests/quarkus/pom.xml index 924f305d67..6ccbd08107 100644 --- a/integration-tests/quarkus/pom.xml +++ b/integration-tests/quarkus/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT quarkus diff --git a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml index 8609f3f6a8..b6145bf1fe 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT quarkus-jaxrs-base diff --git a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml index c0925248c6..9eba45852b 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT quarkus-jaxrs-undertow diff --git a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml index 5e770fd7ee..e30dd22800 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT quarkus-jaxrs-vertx diff --git a/integration-tests/runtime-attach/pom.xml b/integration-tests/runtime-attach/pom.xml index f423c619b8..f3cf3c9e71 100644 --- a/integration-tests/runtime-attach/pom.xml +++ b/integration-tests/runtime-attach/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT runtime-attach diff --git a/integration-tests/runtime-attach/runtime-attach-app/pom.xml b/integration-tests/runtime-attach/runtime-attach-app/pom.xml index 110af7d2ca..9043fef6f8 100644 --- a/integration-tests/runtime-attach/runtime-attach-app/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-app/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/runtime-attach/runtime-attach-test/pom.xml b/integration-tests/runtime-attach/runtime-attach-test/pom.xml index 3659acbf4a..cfdef70253 100644 --- a/integration-tests/runtime-attach/runtime-attach-test/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-test/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/simple-webapp/pom.xml b/integration-tests/simple-webapp/pom.xml index 6b15b75cdf..ec8668f281 100644 --- a/integration-tests/simple-webapp/pom.xml +++ b/integration-tests/simple-webapp/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT simple-webapp diff --git a/integration-tests/soap-test/pom.xml b/integration-tests/soap-test/pom.xml index faab22748b..64b4607074 100644 --- a/integration-tests/soap-test/pom.xml +++ b/integration-tests/soap-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT soap-test diff --git a/integration-tests/spring-boot-1-5/pom.xml b/integration-tests/spring-boot-1-5/pom.xml index 268c3696c2..6f5c260cca 100644 --- a/integration-tests/spring-boot-1-5/pom.xml +++ b/integration-tests/spring-boot-1-5/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT spring-boot-1-5 diff --git a/integration-tests/spring-boot-2/pom.xml b/integration-tests/spring-boot-2/pom.xml index 842959d228..036aba6980 100644 --- a/integration-tests/spring-boot-2/pom.xml +++ b/integration-tests/spring-boot-2/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT spring-boot-2 diff --git a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml index 9cbd366e3e..048f2bfcb8 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT spring-boot-2-base diff --git a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml index 739756e032..e0714656b7 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT spring-boot-2-jetty diff --git a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml index 369eb48e6b..fe41d2270f 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT spring-boot-2-tomcat diff --git a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml index cac0e6b1e1..d44c21013f 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT spring-boot-2-undertow diff --git a/integration-tests/spring-boot-3/pom.xml b/integration-tests/spring-boot-3/pom.xml index 6eadb700fe..93f2ed4e86 100644 --- a/integration-tests/spring-boot-3/pom.xml +++ b/integration-tests/spring-boot-3/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT spring-boot-3 diff --git a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml index e3de1c19e1..e15b97f04c 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml index 0f4a4a6f7b..42d2eb8be2 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml index 2377b32281..9159965d0b 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.0 + 1.52.1-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index 70f873f2aa..c902f02908 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.52.1-SNAPSHOT pom ${project.groupId}:${project.artifactId} From 550245595ba5c30346df2c78a99a567e7fc04ca8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:21:11 +0200 Subject: [PATCH 54/98] build: bump com.networknt:json-schema-validator from 1.5.1 to 1.5.2 (#3816) Bumps [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) from 1.5.1 to 1.5.2. - [Release notes](https://github.com/networknt/json-schema-validator/releases) - [Changelog](https://github.com/networknt/json-schema-validator/blob/master/CHANGELOG.md) - [Commits](https://github.com/networknt/json-schema-validator/compare/1.5.1...1.5.2) --- updated-dependencies: - dependency-name: com.networknt:json-schema-validator dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c902f02908..4f330c25df 100644 --- a/pom.xml +++ b/pom.xml @@ -128,7 +128,7 @@ 1.6.0 5.0.15.RELEASE 9.4.11.v20180605 - 1.5.1 + 1.5.2 1.15.1 9.7 From 33c8a0297574be681b39fca9d0c20d94551b7c0f Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:27:20 +0200 Subject: [PATCH 55/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 6fbf078 (#3809) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 348d6681b4..0e64e4d9e8 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:d4def25f2fd3b0ff9bc68091cd1d89524e41b7d3fc0d3b3a665720eb92145f3b +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:6fbf07849a440c8dca9aa7e9cb56ed3ecaa9eb40f8a4f36b39393d7b32d78ecc RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 0d95dadbc507e10b275c462463e9d54e75b5b218 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Tue, 24 Sep 2024 14:32:19 +0200 Subject: [PATCH 56/98] ci: use GitHub app for ephemeral tokens (#3808) --- .buildkite/hooks/prepare-common.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.buildkite/hooks/prepare-common.sh b/.buildkite/hooks/prepare-common.sh index b3d16a1aae..7e88783c2e 100644 --- a/.buildkite/hooks/prepare-common.sh +++ b/.buildkite/hooks/prepare-common.sh @@ -37,9 +37,11 @@ fi java -version echo "--- Prepare github secrets :vault:" -VAULT_SECRET_PATH=kv/ci-shared/observability-ci/github-bot-user -GITHUB_SECRET=$(vault kv get -field token "${VAULT_SECRET_PATH}") -GIT_USER=$(vault kv get -field username "${VAULT_SECRET_PATH}") -GIT_EMAIL=$(vault kv get -field email "${VAULT_SECRET_PATH}") +# Only accessible by Elastic employees +# The GitHub Permission Set can be found at: +# https://github.com/v1v/terrazzo/blob/main/manifests/prod/vault/apm-agent-java-permission-set.yaml +GITHUB_SECRET=$VAULT_GITHUB_TOKEN +GIT_USER="elastic-vault-github-plugin-prod" +GIT_EMAIL="obltmachine@users.noreply.github.com" GH_TOKEN=$GITHUB_SECRET export GITHUB_SECRET GH_TOKEN GIT_USER GIT_EMAIL From fcf64c6bccd69a0272f37134ea65da98de525886 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Tue, 24 Sep 2024 23:10:47 +0200 Subject: [PATCH 57/98] ci: use GitHub app for ephemeral tokens (#3801) --- .github/workflows/pre-post-release.yml | 24 ++++++++++++++++++------ .github/workflows/release-step-3.yml | 22 +++++++++++++++++----- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/.github/workflows/pre-post-release.yml b/.github/workflows/pre-post-release.yml index 18b61057e9..4e5adb5599 100644 --- a/.github/workflows/pre-post-release.yml +++ b/.github/workflows/pre-post-release.yml @@ -53,17 +53,29 @@ jobs: runs-on: ubuntu-latest needs: - validate-tag - permissions: - contents: write - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} steps: + - name: Get token + id: get_token + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0 + with: + app_id: ${{ secrets.OBS_AUTOMATION_APP_ID }} + private_key: ${{ secrets.OBS_AUTOMATION_APP_PEM }} + permissions: >- + { + "contents": "write", + "pull_requests": "write" + } + repositories: >- + ["apm-agent-java"] + - uses: actions/checkout@v4 with: ref: ${{ inputs.ref }} - token: ${{ env.GITHUB_TOKEN }} + token: ${{ steps.get_token.outputs.token }} - uses: elastic/oblt-actions/git/setup@v1 + with: + github-token: ${{ steps.get_token.outputs.token }} - name: Create the release tag (post phase) if: inputs.phase == 'post' @@ -95,4 +107,4 @@ jobs: - name: Create the ${{ inputs.phase }} release PR run: gh pr create --title="${{ inputs.pr_title }}" --base main --head ${{ env.BRANCH_NAME }} -b "${{ inputs.pr_body }}" env: - GH_TOKEN: ${{ env.GITHUB_TOKEN }} + GH_TOKEN: ${{ steps.get_token.outputs.token }} diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index 5825547d0c..0a143258e0 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -213,17 +213,29 @@ jobs: runs-on: ubuntu-latest needs: - post-release - permissions: - contents: write - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} steps: + - name: Get token + id: get_token + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0 + with: + app_id: ${{ secrets.OBS_AUTOMATION_APP_ID }} + private_key: ${{ secrets.OBS_AUTOMATION_APP_PEM }} + permissions: >- + { + "contents": "write", + "pull_requests": "write" + } + repositories: >- + ["apm-agent-java"] + - uses: actions/checkout@v4 with: ref: ${{ inputs.ref }} - token: ${{ env.GITHUB_TOKEN }} + token: ${{ steps.get_token.outputs.token }} - uses: elastic/oblt-actions/git/setup@v1 + with: + github-token: ${{ steps.get_token.outputs.token }} - name: Update major branch if: ${{ ! inputs.dry_run }} From 3c646ee79ef1ba5f9f53783d3884afaafead89b9 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 26 Sep 2024 15:08:50 +0200 Subject: [PATCH 58/98] github-action: use elastic/oblt-actions/github/is-member-of (#3819) --- .github/workflows/labeler.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index bcfc707160..8c4d1068ab 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -25,10 +25,11 @@ jobs: labels: ["agent-java"] }) - id: is_elastic_member - uses: elastic/apm-pipeline-library/.github/actions/is-member-elastic-org@current + uses: elastic/oblt-actions/github/is-member-of@v1 with: - username: ${{ github.actor }} - token: ${{ secrets.APM_TECH_USER_TOKEN }} + github-org: "elastic" + github-user: ${{ github.actor }} + github-token: ${{ secrets.APM_TECH_USER_TOKEN }} - name: Add community and triage lables if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' uses: actions/github-script@v7 From 1dc2cddcd72ac4fe31689405ea618207e4784e56 Mon Sep 17 00:00:00 2001 From: SylvainJuge <763082+SylvainJuge@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:04:43 +0200 Subject: [PATCH 59/98] fix lettuce instrumentation (#3826) * use .toString() instead of name() * add missing headers --- .../BaseApacheHttpEntityInstrumentation.java | 18 ++++++++++++++++++ .../BaseApacheHttp5EntityInstrumentation.java | 18 ++++++++++++++++++ .../httpclient/RequestBodyRecordingHelper.java | 18 ++++++++++++++++++ .../RequestBodyRecordingHelperTest.java | 18 ++++++++++++++++++ .../Lettuce5StartSpanInstrumentation.java | 2 +- .../apm/agent/tracer/SpanEndListener.java | 18 ++++++++++++++++++ 6 files changed, 91 insertions(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java index 64e5f17e9a..7cd8afae1c 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.httpclient.v4; import net.bytebuddy.description.NamedElement; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java index 6628a50dce..bab697d037 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.httpclient.v5; import net.bytebuddy.description.NamedElement; diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java index a75274426a..52039e6141 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.httpclient; import co.elastic.apm.agent.tracer.Span; diff --git a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java index ad534b361f..ac6658affd 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java +++ b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.httpclient; import co.elastic.apm.agent.MockReporter; diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java index beda687cf8..6451c998f7 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java @@ -74,7 +74,7 @@ public static class AdviceClass { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static Object beforeDispatch(@Nullable @Advice.Argument(0) RedisCommand command) { if (command != null) { - Span span = RedisSpanUtils.createRedisSpan(command.getType().name()); + Span span = RedisSpanUtils.createRedisSpan(command.getType().toString()); if (span != null) { commandToSpan.put(command, span); return span; diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java index 11bae55cfb..20b3735dd5 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.tracer; public interface SpanEndListener> { From 4a6455b6bff9009ac9679e7bdd4dc16c66f214ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:21:40 +0200 Subject: [PATCH 60/98] build: bump version.mockito from 5.13.0 to 5.14.1 (#3823) Bumps `version.mockito` from 5.13.0 to 5.14.1. Updates `org.mockito:mockito-core` from 5.13.0 to 5.14.1 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.13.0...v5.14.1) Updates `org.mockito:mockito-subclass` from 5.13.0 to 5.14.1 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.13.0...v5.14.1) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor - dependency-name: org.mockito:mockito-subclass dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4f330c25df..5746fd89a5 100644 --- a/pom.xml +++ b/pom.xml @@ -134,7 +134,7 @@ 9.7 5.4.0 - 5.13.0 + 5.14.1 1.17 From 1fe74a9d1da48978c0bb5934836ac20844aa10c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:22:03 +0200 Subject: [PATCH 61/98] build: bump version.aws.sdk in /apm-agent-plugins (#3827) Bumps `version.aws.sdk` from 2.27.17 to 2.28.13. Updates `software.amazon.awssdk:s3` from 2.27.17 to 2.28.13 Updates `software.amazon.awssdk:sqs` from 2.27.17 to 2.28.13 Updates `software.amazon.awssdk:dynamodb` from 2.27.17 to 2.28.13 --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: software.amazon.awssdk:sqs dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: software.amazon.awssdk:dynamodb dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index d38816d400..7759d0ec1b 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -13,7 +13,7 @@ ${project.basedir}/../../.. - 2.27.17 + 2.28.13 2.0.0 8 From 56dc64af7496154dcf21083a9a1222b03f07cf09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:22:37 +0200 Subject: [PATCH 62/98] build: bump org.apache.logging.log4j:log4j-bom from 2.23.1 to 2.24.1 (#3822) Bumps [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2) from 2.23.1 to 2.24.1. - [Release notes](https://github.com/apache/logging-log4j2/releases) - [Changelog](https://github.com/apache/logging-log4j2/blob/2.x/RELEASE-NOTES.adoc) - [Commits](https://github.com/apache/logging-log4j2/compare/rel/2.23.1...rel/2.24.1) --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-builds/apm-agent-java8/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-builds/apm-agent-java8/pom.xml b/apm-agent-builds/apm-agent-java8/pom.xml index 192ad1244b..cb9521cc00 100644 --- a/apm-agent-builds/apm-agent-java8/pom.xml +++ b/apm-agent-builds/apm-agent-java8/pom.xml @@ -21,7 +21,7 @@ org.apache.logging.log4j log4j-bom - 2.23.1 + 2.24.1 import pom
From 18116943b9bf790cd0a6705efb482d6eb15863a5 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:22:52 +0200 Subject: [PATCH 63/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 5186816 (#3820) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 0e64e4d9e8..3c2d0dc895 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:6fbf07849a440c8dca9aa7e9cb56ed3ecaa9eb40f8a4f36b39393d7b32d78ecc +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:5186816a1b676aa8d7f11f2a1faaf142348f0045a64bc3e8195c61b133496896 RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 1fda0dd08fdb616ae5b5bcad965af69160944454 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:23:40 +0200 Subject: [PATCH 64/98] build: bump version.aws.sdk in /apm-agent-plugins (#3825) Bumps `version.aws.sdk` from 1.12.770 to 1.12.772. Updates `com.amazonaws:aws-java-sdk-s3` from 1.12.770 to 1.12.772 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.770...1.12.772) Updates `com.amazonaws:aws-java-sdk-dynamodb` from 1.12.770 to 1.12.772 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.770...1.12.772) Updates `com.amazonaws:aws-java-sdk-sqs` from 1.12.770 to 1.12.772 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.770...1.12.772) --- updated-dependencies: - dependency-name: com.amazonaws:aws-java-sdk-s3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-dynamodb dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-sqs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index c58f5dde1c..30d180a0f7 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -12,7 +12,7 @@ ${project.basedir}/../../.. - 1.12.770 + 1.12.772 1.1.0 From 6795daafecfb7738ffbe422652906941e5ce2556 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Tue, 8 Oct 2024 13:10:28 +0200 Subject: [PATCH 65/98] Added test case ensuring client body capturing is dynamic (#3831) --- ...AbstractHttpClientInstrumentationTest.java | 19 +++++++++++++++---- .../springwebclient/BodyCaptureRegistry.java | 18 ++++++++++++++++++ .../ClientRequestHeaderGetter.java | 18 ++++++++++++++++++ 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java index a5ed7ca364..e627fd1231 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java @@ -83,6 +83,9 @@ public final void setUpWiremock() { wireMockRule.stubFor(any(urlEqualTo("/")) .willReturn(dummyResponse() .withStatus(200))); + wireMockRule.stubFor(any(urlEqualTo("/dummy")) + .willReturn(dummyResponse() + .withStatus(200))); wireMockRule.stubFor(get(urlEqualTo("/error")) .willReturn(dummyResponse() .withStatus(515))); @@ -125,11 +128,19 @@ public void testPostBodyCapture() throws Exception { if (!isBodyCapturingSupported()) { return; } - doReturn(5).when(config.getConfig(WebConfiguration.class)).getCaptureClientRequestBytes(); byte[] content = "Hello World!".getBytes(StandardCharsets.UTF_8); - String path = "/"; - performPost(getBaseUrl() + path, content, "text/plain; charset=utf-8"); - expectSpan(path) + + // Ensure that the setting can be turned on dynamically by first issuing a request with the feature disabled + doReturn(0).when(config.getConfig(WebConfiguration.class)).getCaptureClientRequestBytes(); + performPost(getBaseUrl() + "/dummy", content, "text/plain; charset=utf-8"); + expectSpan("/dummy") + .withRequestBodySatisfying(body -> assertThat(body.getBody()).isNull()) + .verify(); + reporter.reset(); + + doReturn(5).when(config.getConfig(WebConfiguration.class)).getCaptureClientRequestBytes(); + performPost(getBaseUrl() + "/", content, "text/plain; charset=utf-8"); + expectSpan("/") .withRequestBodySatisfying(body -> { ByteBuffer buffer = body.getBody(); assertThat(buffer).isNotNull(); diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java index 6ef7dae3c6..aa64e682bc 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.springwebclient; import co.elastic.apm.agent.httpclient.RequestBodyRecordingHelper; diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java index 1bc6f13f66..ed16434816 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java @@ -1,3 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.apm.agent.springwebclient; import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; From d7f690cf8f35592ab67f32d8501d2e11464d1194 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 14:42:41 +0100 Subject: [PATCH 66/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 90888b1 (#3828) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 3c2d0dc895..f3505cbb3d 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:5186816a1b676aa8d7f11f2a1faaf142348f0045a64bc3e8195c61b133496896 +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:90888b190da54062f67f3fef1372eb0ae7d81ea55f5a1f56d748b13e4853d984 RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 6dcd5e841eb6e210c951b8d8c677c2d86a2a7586 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Tue, 8 Oct 2024 17:30:37 +0200 Subject: [PATCH 67/98] github-actions: use GH app to manage the projects (#3829) --- .github/workflows/addToProject.yml | 19 ++++++++++++++++--- .github/workflows/labeler.yml | 19 +++++++++++++++++-- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/.github/workflows/addToProject.yml b/.github/workflows/addToProject.yml index e7befea26f..08efeef38f 100644 --- a/.github/workflows/addToProject.yml +++ b/.github/workflows/addToProject.yml @@ -3,6 +3,7 @@ on: issues: types: - opened, milestoned + permissions: contents: read @@ -11,9 +12,21 @@ jobs: if: github.event.issue && github.event.issue.milestone runs-on: ubuntu-latest steps: + - name: Get token + id: get_token + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0 + with: + app_id: ${{ secrets.OBS_AUTOMATION_APP_ID }} + private_key: ${{ secrets.OBS_AUTOMATION_APP_PEM }} + permissions: >- + { + "organization_projects": "write", + "issues": "read" + } + - name: Get project data env: - GITHUB_TOKEN: ${{ secrets.APM_TECH_USER_TOKEN }} + GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} TEAM: Java ORGANIZATION: elastic PROJECT_NUMBER: 595 @@ -49,7 +62,7 @@ jobs: - name: Add issue to project env: - GITHUB_TOKEN: ${{ secrets.APM_TECH_USER_TOKEN }} + GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} ISSUE_ID: ${{ github.event.issue.node_id }} run: | item_id="$( gh api graphql -f query=' @@ -65,7 +78,7 @@ jobs: - name: Set fields env: - GITHUB_TOKEN: ${{ secrets.APM_TECH_USER_TOKEN }} + GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} run: | gh api graphql -f query=' mutation ( diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 8c4d1068ab..0bd0bf20f4 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -24,12 +24,27 @@ jobs: repo: context.repo.repo, labels: ["agent-java"] }) + + - name: Get token + id: get_token + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0 + with: + app_id: ${{ secrets.OBS_AUTOMATION_APP_ID }} + private_key: ${{ secrets.OBS_AUTOMATION_APP_PEM }} + permissions: >- + { + "members": "read", + "organization_projects": "write", + "issues": "read" + } + - id: is_elastic_member uses: elastic/oblt-actions/github/is-member-of@v1 with: github-org: "elastic" github-user: ${{ github.actor }} - github-token: ${{ secrets.APM_TECH_USER_TOKEN }} + github-token: ${{ steps.get_token.outputs.token }} + - name: Add community and triage lables if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' uses: actions/github-script@v7 @@ -56,7 +71,7 @@ jobs: uses: elastic/assign-one-project-github-action@1.2.2 if: contains(steps.is_elastic_member.outputs.result, 'true') && github.event.pull_request env: - MY_GITHUB_TOKEN: ${{ secrets.APM_TECH_USER_TOKEN }} + MY_GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} with: project: 'https://github.com/orgs/elastic/projects/454' project_id: '5882982' From 1d7fdc66cf655d143c7a78cef9ea0f5e552f33b5 Mon Sep 17 00:00:00 2001 From: jackshirazi Date: Wed, 9 Oct 2024 14:53:56 +0100 Subject: [PATCH 68/98] update versions to test to JDK23 (#3836) * update versions to test to JDK23 * fix typo --- .github/workflows/main.yml | 2 +- .../test/java/co/elastic/apm/agent/util/JdkVersionTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b8ea06f00b..9873953b73 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -309,7 +309,7 @@ jobs: distribution: 'temurin' - version: 21 distribution: 'temurin' - - version: 22 + - version: 23 distribution: 'temurin' steps: - uses: actions/checkout@v4 diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/util/JdkVersionTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/util/JdkVersionTest.java index c4d8b958d9..32ff667b51 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/util/JdkVersionTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/util/JdkVersionTest.java @@ -33,9 +33,9 @@ public class JdkVersionTest { private static List releaseSchedule() { // from https://www.oracle.com/java/technologies/java-se-support-roadmap.html return List.of( - Arguments.of(23, LocalDate.parse("2024-10-01")), Arguments.of(24, LocalDate.parse("2025-04-01")), - Arguments.of(25, LocalDate.parse("2025-10-01")) + Arguments.of(25, LocalDate.parse("2025-10-01")), + Arguments.of(26, LocalDate.parse("2026-04-01")) ); } From d191415b6870fb31cc86332db9a8eb502a5908b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:46:48 +0100 Subject: [PATCH 69/98] build: bump version.log4j from 2.12.4 to 2.24.1 (#3833) * build: bump version.log4j from 2.12.4 to 2.24.1 Bumps `version.log4j` from 2.12.4 to 2.24.1. Updates `org.apache.logging.log4j:log4j-core` from 2.12.4 to 2.24.1 Updates `org.apache.logging.log4j:log4j-slf4j-impl` from 2.12.4 to 2.24.1 --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:development update-type: version-update:semver-minor - dependency-name: org.apache.logging.log4j:log4j-slf4j-impl dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * don't change for java 7 support --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jackshirazi --- apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml index 806e13cca1..68aa966de3 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml @@ -24,7 +24,7 @@ org.apache.logging.log4j log4j-core - 2.24.0 + 2.24.1 provided From be1267de0676ddd35b562413ae6d7f56cad5da74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:47:14 +0100 Subject: [PATCH 70/98] build: bump org.springframework.boot:spring-boot-dependencies from 2.7.16 to 3.3.4 (#3834) * build: bump org.springframework.boot:spring-boot-dependencies Bumps [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) from 2.7.16 to 3.3.4. - [Release notes](https://github.com/spring-projects/spring-boot/releases) - [Commits](https://github.com/spring-projects/spring-boot/compare/v2.7.16...v3.3.4) --- updated-dependencies: - dependency-name: org.springframework.boot:spring-boot-dependencies dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * not all should be updated * rollback 3.3.4 * rollback 3.3.4 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jackshirazi --- .../apm-spring-resttemplate/apm-spring-restclient-test/pom.xml | 2 +- .../apm-spring-resttemplate-plugin/pom.xml | 2 +- apm-agent-plugins/apm-spring-webflux/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-spring-webmvc/pom.xml | 2 +- integration-tests/spring-boot-3/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml index f2e8c4bcce..bc57d1ae4a 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml @@ -20,7 +20,7 @@ org.springframework.boot spring-boot-dependencies - 3.3.2 + 3.3.4 pom import diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml index a1336e9e35..5f38fd1179 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml @@ -23,7 +23,7 @@ org.springframework.boot spring-boot-dependencies - 3.3.2 + 3.3.4 pom import diff --git a/apm-agent-plugins/apm-spring-webflux/pom.xml b/apm-agent-plugins/apm-spring-webflux/pom.xml index 7634d99b88..ab1e568d4a 100644 --- a/apm-agent-plugins/apm-spring-webflux/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/pom.xml @@ -18,7 +18,7 @@ 2.7.16 - 3.3.2 + 3.3.4
diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml index da46c21179..ab78b3c11b 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml @@ -22,7 +22,7 @@ org.springframework.boot spring-boot-dependencies - 3.3.2 + 3.3.4 pom import diff --git a/apm-agent-plugins/apm-spring-webmvc/pom.xml b/apm-agent-plugins/apm-spring-webmvc/pom.xml index fbe88eade0..e4e4d07122 100644 --- a/apm-agent-plugins/apm-spring-webmvc/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/pom.xml @@ -29,7 +29,7 @@ org.springframework.boot spring-boot-dependencies - 3.3.2 + 3.3.4 pom import diff --git a/integration-tests/spring-boot-3/pom.xml b/integration-tests/spring-boot-3/pom.xml index 93f2ed4e86..642393c147 100644 --- a/integration-tests/spring-boot-3/pom.xml +++ b/integration-tests/spring-boot-3/pom.xml @@ -30,7 +30,7 @@ org.springframework.boot spring-boot-dependencies - 3.3.2 + 3.3.4 pom import From 196f6d4582fcaaf44c0e00dcd313ecb861e3db48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:47:40 +0100 Subject: [PATCH 71/98] build: bump version.byte-buddy from 1.15.1 to 1.15.3 (#3835) * build: bump version.byte-buddy from 1.15.1 to 1.15.3 Bumps `version.byte-buddy` from 1.15.1 to 1.15.3. Updates `net.bytebuddy:byte-buddy` from 1.15.1 to 1.15.3 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.1...byte-buddy-1.15.3) Updates `net.bytebuddy:byte-buddy-agent` from 1.9.16 to 1.15.3 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.9.16...byte-buddy-1.15.3) Updates `net.bytebuddy:byte-buddy-dep` from 1.15.1 to 1.15.3 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.1...byte-buddy-1.15.3) --- updated-dependencies: - dependency-name: net.bytebuddy:byte-buddy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: net.bytebuddy:byte-buddy-agent dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: net.bytebuddy:byte-buddy-dep dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * rollback the update --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jackshirazi --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5746fd89a5..9324db9a39 100644 --- a/pom.xml +++ b/pom.xml @@ -130,7 +130,7 @@ 9.4.11.v20180605 1.5.2 - 1.15.1 + 1.15.3 9.7 5.4.0 From 60bbd4901ecf75837c24616aa9fbfb5bdba0cbcf Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:26:06 +0200 Subject: [PATCH 72/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 277ebb4 (#3838) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index f3505cbb3d..c0ca17f7d5 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:90888b190da54062f67f3fef1372eb0ae7d81ea55f5a1f56d748b13e4853d984 +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:277ebb42c458ef39cb4028f9204f0b3d51d8cd628ea737a65696a1143c3e42fe RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 45052daaec44c4b0bf9e803c75a5c46bb3bb6c69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 12:47:09 +0200 Subject: [PATCH 73/98] build: bump io.micrometer:micrometer-core from 1.13.3 to 1.13.5 (#3839) Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.13.3 to 1.13.5. - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.13.3...v1.13.5) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-micrometer-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index eda0508a4d..206ce2b2c7 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -23,7 +23,7 @@ io.micrometer micrometer-core - 1.13.3 + 1.13.5 provided From 4a863f76f1ad2183f94e88b77043ef070e1bba53 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 13:36:47 +0200 Subject: [PATCH 74/98] build: bump version.byte-buddy from 1.15.3 to 1.15.4 (#3841) * build: bump version.byte-buddy from 1.15.3 to 1.15.4 Bumps `version.byte-buddy` from 1.15.3 to 1.15.4. Updates `net.bytebuddy:byte-buddy` from 1.15.3 to 1.15.4 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.3...byte-buddy-1.15.4) Updates `net.bytebuddy:byte-buddy-agent` from 1.9.16 to 1.15.4 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.9.16...byte-buddy-1.15.4) Updates `net.bytebuddy:byte-buddy-dep` from 1.15.3 to 1.15.4 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.3...byte-buddy-1.15.4) --- updated-dependencies: - dependency-name: net.bytebuddy:byte-buddy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: net.bytebuddy:byte-buddy-agent dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: net.bytebuddy:byte-buddy-dep dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Update pom.xml --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jonas Kunz --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9324db9a39..a6186ca146 100644 --- a/pom.xml +++ b/pom.xml @@ -130,7 +130,7 @@ 9.4.11.v20180605 1.5.2 - 1.15.3 + 1.15.4 9.7 5.4.0 From 07a4b0229b70b6e1a7207b90fd50d13b363a8779 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:25:07 +0200 Subject: [PATCH 75/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to d56fa50 (#3842) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index c0ca17f7d5..a2c14caf16 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:277ebb42c458ef39cb4028f9204f0b3d51d8cd628ea737a65696a1143c3e42fe +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:d56fa50e5427f566f0a9ba8b1cad553bfca706de9223776d658e5cd608edd58b RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 8c5bbb21d22a437eaf576caf3b5de0875849a40b Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Fri, 18 Oct 2024 11:56:28 +0200 Subject: [PATCH 76/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 5bc7518 (#3843) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index a2c14caf16..32f0941b34 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:d56fa50e5427f566f0a9ba8b1cad553bfca706de9223776d658e5cd608edd58b +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:5bc7518045103e085b07842c4362ca5366e117abfdcd3010030f1c072a5607ac RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 174286a09b57fa9621287e5aaf861c24cd25ba25 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Fri, 18 Oct 2024 14:34:31 +0200 Subject: [PATCH 77/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to bf163e1 (#3844) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 32f0941b34..7b0b954981 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:5bc7518045103e085b07842c4362ca5366e117abfdcd3010030f1c072a5607ac +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:bf163e1977002301f7b9fd28fe6837a8cb2dd5c83e4cd45fb67fb28d15d5d40f RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 5464fbae186a2bc5f6dd669e2eb10c3f719676de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:40:19 +0200 Subject: [PATCH 78/98] build: bump org.ow2.asm:asm-tree from 9.7 to 9.7.1 (#3845) Bumps org.ow2.asm:asm-tree from 9.7 to 9.7.1. --- updated-dependencies: - dependency-name: org.ow2.asm:asm-tree dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a6186ca146..1d1017f5b4 100644 --- a/pom.xml +++ b/pom.xml @@ -131,7 +131,7 @@ 1.5.2 1.15.4 - 9.7 + 9.7.1 5.4.0 5.14.1 From c99f76352e2a4a6529b3545936d211e52ae82cf5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:40:36 +0200 Subject: [PATCH 79/98] build: bump io.micrometer:micrometer-core from 1.13.5 to 1.13.6 (#3846) Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.13.5 to 1.13.6. - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.13.5...v1.13.6) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-micrometer-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index 206ce2b2c7..fa72e0251a 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -23,7 +23,7 @@ io.micrometer micrometer-core - 1.13.5 + 1.13.6 provided From 52b5679032a450ca3ddc92d935e35f28350629e8 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:59:18 +0200 Subject: [PATCH 80/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 2e3da56 (#3847) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 7b0b954981..761c7a3c2a 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:bf163e1977002301f7b9fd28fe6837a8cb2dd5c83e4cd45fb67fb28d15d5d40f +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:2e3da56229f5673b149191a5451bb4c6ead117a307b0cc98c7a0651ca6f4523e RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 1545f3b81b1a8471af9d30500dc1fc7c2bb70989 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Fri, 25 Oct 2024 15:33:38 +0200 Subject: [PATCH 81/98] Fix JMX invalid composite value type log message (#3849) --- CHANGELOG.asciidoc | 4 ++++ .../apm/agent/jmx/JmxMetricTracker.java | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 2d294d7773..c5d4cfe1f0 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -31,6 +31,10 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: === Unreleased +[float] +===== Bug fixes +* Fix JMX metric warning message about unsupported composite value types - {pull}3849[#3849] + [[release-notes-1.x]] === Java Agent version 1.x diff --git a/apm-agent-plugins/apm-jmx-plugin/src/main/java/co/elastic/apm/agent/jmx/JmxMetricTracker.java b/apm-agent-plugins/apm-jmx-plugin/src/main/java/co/elastic/apm/agent/jmx/JmxMetricTracker.java index 6518f4f03e..08391e0e51 100644 --- a/apm-agent-plugins/apm-jmx-plugin/src/main/java/co/elastic/apm/agent/jmx/JmxMetricTracker.java +++ b/apm-agent-plugins/apm-jmx-plugin/src/main/java/co/elastic/apm/agent/jmx/JmxMetricTracker.java @@ -18,16 +18,16 @@ */ package co.elastic.apm.agent.jmx; -import co.elastic.apm.agent.tracer.AbstractLifecycleListener; -import co.elastic.apm.agent.tracer.metrics.DoubleSupplier; -import co.elastic.apm.agent.tracer.Tracer; -import co.elastic.apm.agent.tracer.metrics.Labels; -import co.elastic.apm.agent.tracer.GlobalLocks; import co.elastic.apm.agent.sdk.internal.util.ExecutorUtils; import co.elastic.apm.agent.sdk.internal.util.PrivilegedActionUtils; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; +import co.elastic.apm.agent.tracer.AbstractLifecycleListener; +import co.elastic.apm.agent.tracer.GlobalLocks; +import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.configuration.TimeDuration; +import co.elastic.apm.agent.tracer.metrics.DoubleSupplier; +import co.elastic.apm.agent.tracer.metrics.Labels; import org.stagemonitor.configuration.ConfigurationOption; import javax.annotation.Nullable; @@ -35,6 +35,7 @@ import javax.management.InstanceNotFoundException; import javax.management.JMException; import javax.management.MBeanAttributeInfo; +import javax.management.MBeanException; import javax.management.MBeanInfo; import javax.management.MBeanServer; import javax.management.MBeanServerDelegate; @@ -45,9 +46,8 @@ import javax.management.NotificationListener; import javax.management.ObjectInstance; import javax.management.ObjectName; -import javax.management.RuntimeMBeanException; -import javax.management.MBeanException; import javax.management.ReflectionException; +import javax.management.RuntimeMBeanException; import javax.management.openmbean.CompositeData; import javax.management.relation.MBeanServerNotificationFilter; import java.lang.management.ManagementFactory; @@ -436,7 +436,8 @@ private void addJmxMetricRegistration(JmxMetric jmxMetric, List Date: Tue, 29 Oct 2024 17:18:04 +0000 Subject: [PATCH 82/98] build: bump version.mockito from 5.14.1 to 5.14.2 (#3852) Bumps `version.mockito` from 5.14.1 to 5.14.2. Updates `org.mockito:mockito-core` from 5.14.1 to 5.14.2 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.14.1...v5.14.2) Updates `org.mockito:mockito-subclass` from 5.14.1 to 5.14.2 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.14.1...v5.14.2) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-patch - dependency-name: org.mockito:mockito-subclass dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1d1017f5b4..65cff03277 100644 --- a/pom.xml +++ b/pom.xml @@ -134,7 +134,7 @@ 9.7.1 5.4.0 - 5.14.1 + 5.14.2 1.17 From a4b986044e012d20147d502006b2c6762d84aa54 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 14:51:25 +0000 Subject: [PATCH 83/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 1815394 (#3848) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 761c7a3c2a..4f46bf9d67 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:2e3da56229f5673b149191a5451bb4c6ead117a307b0cc98c7a0651ca6f4523e +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:18153942f0d6e97bc6131cd557c7ed3be6e892846a5df0760896eb8d15b1b236 RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 462f42f744e598ef6c989282d26d471b3d87d173 Mon Sep 17 00:00:00 2001 From: mmahacek Date: Wed, 30 Oct 2024 08:03:38 -0700 Subject: [PATCH 84/98] Doc: Update Micrometer notes (#3853) --- docs/metrics.asciidoc | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/metrics.asciidoc b/docs/metrics.asciidoc index 75f11c59f2..4a8e8a3943 100644 --- a/docs/metrics.asciidoc +++ b/docs/metrics.asciidoc @@ -461,6 +461,7 @@ For example, `DistributionSummary.builder("order").register(...).record(orderPri * When using `CountingMode.CUMULATIVE`, you can use TSVB's "Positive Rate" aggregation to convert the counter to a rate. But you have to remember to group by a combination of dimensions that uniquely identify the time series. This may be a combination of `host.name` and `service.name`, or the `kubernetes.pod.id`. +* Micrometer metrics can be disabled by using the <> setting. [float] From 4e4901dcb6f7c3d0e1cbddeaf7fedb6ee9f110ea Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 15:31:32 +0000 Subject: [PATCH 85/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 8cff240 (#3855) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 4f46bf9d67..7e8129eaa3 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:18153942f0d6e97bc6131cd557c7ed3be6e892846a5df0760896eb8d15b1b236 +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:8cff240b81057968575dd28dab0c3609657cb7e0e60ff017261e5b721fad9e1b RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 0c76bf513918b88356a79cbcc0c2114223ec0df0 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:43:50 +0000 Subject: [PATCH 86/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 7082adc (#3856) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 7e8129eaa3..8b50313cbc 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:8cff240b81057968575dd28dab0c3609657cb7e0e60ff017261e5b721fad9e1b +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:7082adcc2c4380be273ab5b80c4a762b4f17279c13c6fc8f87a60190aee2e2cd RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 2568ea09fb2bfc1ef015fad5799dfec275951d69 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 12:44:42 +0000 Subject: [PATCH 87/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 74385d2 (#3857) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 8b50313cbc..069a005a07 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:7082adcc2c4380be273ab5b80c4a762b4f17279c13c6fc8f87a60190aee2e2cd +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:74385d2e67fb0df0df261e57ea174bb2df6e858110ecd1e8928d06f53c9efa4b RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 672b7225be219ce5130d84dbe5dbc9dc5647a465 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 18:19:07 +0000 Subject: [PATCH 88/98] build: bump version.aws.sdk from 2.28.13 to 2.29.5 in /apm-agent-plugins (#3860) Bumps `version.aws.sdk` from 2.28.13 to 2.29.5. Updates `software.amazon.awssdk:s3` from 2.28.13 to 2.29.5 Updates `software.amazon.awssdk:sqs` from 2.28.13 to 2.29.5 Updates `software.amazon.awssdk:dynamodb` from 2.28.13 to 2.29.5 --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: software.amazon.awssdk:sqs dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: software.amazon.awssdk:dynamodb dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index 7759d0ec1b..df0aba6c47 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -13,7 +13,7 @@ ${project.basedir}/../../.. - 2.28.13 + 2.29.5 2.0.0 8 From c4c54a72a51f2b6a4576c174d4fd960352185a96 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 18:19:46 +0000 Subject: [PATCH 89/98] build: bump version.aws.sdk in /apm-agent-plugins (#3859) Bumps `version.aws.sdk` from 1.12.772 to 1.12.777. Updates `com.amazonaws:aws-java-sdk-s3` from 1.12.772 to 1.12.777 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.772...1.12.777) Updates `com.amazonaws:aws-java-sdk-dynamodb` from 1.12.772 to 1.12.777 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.772...1.12.777) Updates `com.amazonaws:aws-java-sdk-sqs` from 1.12.772 to 1.12.777 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.772...1.12.777) --- updated-dependencies: - dependency-name: com.amazonaws:aws-java-sdk-s3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-dynamodb dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.amazonaws:aws-java-sdk-sqs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index 30d180a0f7..d7a75d5470 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -12,7 +12,7 @@ ${project.basedir}/../../.. - 1.12.772 + 1.12.777 1.1.0 From 016f33a6b08aeeed70b5cf0a623cd85be3335585 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Mon, 4 Nov 2024 09:18:32 +0100 Subject: [PATCH 90/98] github-action: use elastic/oblt-actions/check-dependent-jobs (#3858) --- .github/workflows/release-step-3.yml | 4 ++-- .github/workflows/snapshot.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index 0a143258e0..b525aaec3a 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -288,9 +288,9 @@ jobs: runs-on: ubuntu-latest steps: - id: check - uses: elastic/apm-pipeline-library/.github/actions/check-dependent-jobs@current + uses: elastic/oblt-actions/check-dependent-jobs@v1 with: - needs: ${{ toJSON(needs) }} + jobs: ${{ toJSON(needs) }} - uses: elastic/oblt-actions/slack/notify-result@v1 with: bot-token: ${{ secrets.SLACK_BOT_TOKEN }} diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index c6dbef3629..7234cf16aa 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -102,9 +102,9 @@ jobs: runs-on: ubuntu-latest steps: - id: check - uses: elastic/apm-pipeline-library/.github/actions/check-dependent-jobs@current + uses: elastic/oblt-actions/check-dependent-jobs@v1 with: - needs: ${{ toJSON(needs) }} + jobs: ${{ toJSON(needs) }} - if: ${{ failure() && ! inputs.dry_run }} uses: elastic/oblt-actions/slack/send@v1 with: From 22fedac572b9936f59da0057aa1dcc286a1ca8dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 22:17:14 +0000 Subject: [PATCH 91/98] build: bump io.opentelemetry.semconv:opentelemetry-semconv (#3863) Bumps [io.opentelemetry.semconv:opentelemetry-semconv](https://github.com/open-telemetry/semantic-conventions-java) from 1.27.0-alpha to 1.28.0-alpha. - [Release notes](https://github.com/open-telemetry/semantic-conventions-java/releases) - [Changelog](https://github.com/open-telemetry/semantic-conventions-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/semantic-conventions-java/commits) --- updated-dependencies: - dependency-name: io.opentelemetry.semconv:opentelemetry-semconv dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apm-agent-plugins/apm-opentelemetry/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-opentelemetry/pom.xml b/apm-agent-plugins/apm-opentelemetry/pom.xml index 0c1c4c5a6f..b6f851db8d 100644 --- a/apm-agent-plugins/apm-opentelemetry/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/pom.xml @@ -20,7 +20,7 @@ to make sure that in the future we stay compatible with the previous version. --> 1.32.0 - 1.27.0-alpha + 1.28.0-alpha 8 8 From 290811001b4b0e765290596ae49b60b56940f787 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 15:37:47 +0000 Subject: [PATCH 92/98] chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest docker digest to 26caa6b (#3864) Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- Dockerfile.wolfi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 069a005a07..cab73524af 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:74385d2e67fb0df0df261e57ea174bb2df6e858110ecd1e8928d06f53c9efa4b +FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:26caa6beaee2bbf739a82e91a35173892dfe888d0a744b9e46cdc19a90d8656f RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE From 5970295875d64282593a4ec8bd135250bdf7b8f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 13:01:29 +0000 Subject: [PATCH 93/98] build: bump version.byte-buddy from 1.15.4 to 1.15.10 (#3862) * build: bump version.byte-buddy from 1.15.4 to 1.15.10 Bumps `version.byte-buddy` from 1.15.4 to 1.15.10. Updates `net.bytebuddy:byte-buddy` from 1.15.4 to 1.15.10 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.4...byte-buddy-1.15.10) Updates `net.bytebuddy:byte-buddy-agent` from 1.9.16 to 1.15.10 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.9.16...byte-buddy-1.15.10) Updates `net.bytebuddy:byte-buddy-dep` from 1.15.4 to 1.15.10 - [Release notes](https://github.com/raphw/byte-buddy/releases) - [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md) - [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.4...byte-buddy-1.15.10) --- updated-dependencies: - dependency-name: net.bytebuddy:byte-buddy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: net.bytebuddy:byte-buddy-agent dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: net.bytebuddy:byte-buddy-dep dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * rollback --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jackshirazi --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 65cff03277..c7d1f4ece2 100644 --- a/pom.xml +++ b/pom.xml @@ -130,7 +130,7 @@ 9.4.11.v20180605 1.5.2 - 1.15.4 + 1.15.10 9.7.1 5.4.0 From 7faedf22ce5304e57994b490dcd995b36478caca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 11:45:45 +0000 Subject: [PATCH 94/98] build: bump redis.clients:jedis from 1.4.0 to 5.2.0 (#3861) * build: bump redis.clients:jedis from 1.4.0 to 5.2.0 Bumps [redis.clients:jedis](https://github.com/redis/jedis) from 1.4.0 to 5.2.0. - [Release notes](https://github.com/redis/jedis/releases) - [Commits](https://github.com/redis/jedis/compare/jedis-1.4.0...v5.2.0) --- updated-dependencies: - dependency-name: redis.clients:jedis dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * rollback * rollback * rollback * rollback --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jackshirazi --- apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index 441ed805f1..a56cd1c9c9 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -46,7 +46,7 @@ redis.clients jedis - 5.1.5 + 5.2.0 test From 17cd358b2b49f953103ee668939b6831b9d695d8 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Mon, 18 Nov 2024 02:40:58 -0700 Subject: [PATCH 95/98] Add support for jax-ws method annotated with @WebMethod not declared by super-interfaces (#3850) --- CHANGELOG.asciidoc | 1 + ...taeeJaxWsTransactionNameInstrumentationTest.java | 6 ++++++ .../jaxws/JaxWsTransactionNameInstrumentation.java | 11 +++++++++-- .../jaxws/AbstractJaxWsInstrumentationTest.java | 13 +++++++++++++ .../JaxWsTransactionNameInstrumentationTest.java | 5 +++++ 5 files changed, 34 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index c5d4cfe1f0..b01bdf5a18 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -34,6 +34,7 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: [float] ===== Bug fixes * Fix JMX metric warning message about unsupported composite value types - {pull}3849[#3849] +* Fix JAX-WS transaction naming for @WebMethod annotated methods - {pull}3850[#3850] [[release-notes-1.x]] === Java Agent version 1.x diff --git a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/src/test/java/co/elastic/apm/agent/jaxws/JakartaeeJaxWsTransactionNameInstrumentationTest.java b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/src/test/java/co/elastic/apm/agent/jaxws/JakartaeeJaxWsTransactionNameInstrumentationTest.java index b0722501a2..bfc4e058b0 100644 --- a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/src/test/java/co/elastic/apm/agent/jaxws/JakartaeeJaxWsTransactionNameInstrumentationTest.java +++ b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/src/test/java/co/elastic/apm/agent/jaxws/JakartaeeJaxWsTransactionNameInstrumentationTest.java @@ -18,6 +18,7 @@ */ package co.elastic.apm.agent.jaxws; +import jakarta.jws.WebMethod; import jakarta.jws.WebService; import jakarta.jws.soap.SOAPBinding; import org.junit.jupiter.api.BeforeEach; @@ -42,6 +43,11 @@ public static class HelloWorldServiceImpl implements HelloWorldService { public String sayHello() { return "Hello World"; } + + @WebMethod + public String webMethodAnnotated() { + return "foo bar"; + } } } diff --git a/apm-agent-plugins/apm-jaxws-plugin/src/main/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentation.java b/apm-agent-plugins/apm-jaxws-plugin/src/main/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentation.java index bbb058f055..d822701fc7 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/src/main/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentation.java +++ b/apm-agent-plugins/apm-jaxws-plugin/src/main/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentation.java @@ -18,8 +18,9 @@ */ package co.elastic.apm.agent.jaxws; -import co.elastic.apm.agent.sdk.bytebuddy.SimpleMethodSignatureOffsetMappingFactory.SimpleMethodSignature; import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; +import co.elastic.apm.agent.sdk.bytebuddy.MethodHierarchyMatcher; +import co.elastic.apm.agent.sdk.bytebuddy.SimpleMethodSignatureOffsetMappingFactory.SimpleMethodSignature; import co.elastic.apm.agent.tracer.GlobalTracer; import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.Transaction; @@ -94,13 +95,19 @@ public ElementMatcher.Junction getClassLoaderMatcher() { @Override public ElementMatcher getMethodMatcher() { - return overridesOrImplementsMethodThat( + MethodHierarchyMatcher annotatedMethodMatcher = overridesOrImplementsMethodThat( + isAnnotatedWith( + namedOneOf("javax.jws.WebMethod", "jakarta.jws.WebMethod"))) + .onSuperClassesThat(isInAnyPackage(applicationPackages, ElementMatchers.any())); + + MethodHierarchyMatcher interfaceInheritedMatcher = overridesOrImplementsMethodThat( isPublic().and(isDeclaredBy(isInterface())) ).whereHierarchyContains( isInterface().and(isAnnotatedWith(namedOneOf("javax.jws.WebService", "jakarta.jws.WebService"))) ).onSuperClassesThat( isInAnyPackage(applicationPackages, ElementMatchers.any()) ); + return interfaceInheritedMatcher.or(annotatedMethodMatcher); } @Override diff --git a/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/AbstractJaxWsInstrumentationTest.java b/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/AbstractJaxWsInstrumentationTest.java index 726327e0ab..3e51171431 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/AbstractJaxWsInstrumentationTest.java +++ b/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/AbstractJaxWsInstrumentationTest.java @@ -41,6 +41,19 @@ void testTransactionName() { assertThat(transaction.getFrameworkName()).isEqualTo("JAX-WS"); } + + @Test + void testTransactionNameForWebMethod() throws Exception { + final TransactionImpl transaction = tracer.startRootTransaction(getClass().getClassLoader()); + try (Scope scope = transaction.activateInScope()) { + helloWorldService.getClass().getMethod("webMethodAnnotated").invoke(helloWorldService); + } finally { + transaction.end(); + } + assertThat(transaction.getNameAsString()).isEqualTo("HelloWorldServiceImpl#webMethodAnnotated"); + assertThat(transaction.getFrameworkName()).isEqualTo("JAX-WS"); + } + public interface BaseHelloWorldService { String sayHello(); } diff --git a/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentationTest.java b/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentationTest.java index 913c65064c..242238ba44 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentationTest.java +++ b/apm-agent-plugins/apm-jaxws-plugin/src/test/java/co/elastic/apm/agent/jaxws/JaxWsTransactionNameInstrumentationTest.java @@ -47,6 +47,11 @@ public static class HelloWorldServiceImpl implements HelloWorldService { public String sayHello() { return "Hello World"; } + + @WebMethod + public String webMethodAnnotated() { + return "foo bar"; + } } } From 865b38383b02e69e9fa2542f83c9a0762502ef86 Mon Sep 17 00:00:00 2001 From: "elastic-observability-automation[bot]" <180520183+elastic-observability-automation[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 12:31:48 +0100 Subject: [PATCH 96/98] pre release: elastic-apm-agent v1.52.1 (#3874) Co-authored-by: obltmachine --- CHANGELOG.asciidoc | 9 ++++++--- apm-agent-api/pom.xml | 2 +- apm-agent-attach-cli/pom.xml | 2 +- apm-agent-attach/pom.xml | 2 +- apm-agent-benchmarks/pom.xml | 2 +- apm-agent-bootstrap/pom.xml | 2 +- apm-agent-builds/apm-agent-java8/pom.xml | 2 +- apm-agent-builds/apm-agent/pom.xml | 2 +- apm-agent-builds/pom.xml | 2 +- apm-agent-cached-lookup-key/pom.xml | 2 +- apm-agent-common/pom.xml | 2 +- apm-agent-core/pom.xml | 2 +- apm-agent-lambda-layer/pom.xml | 2 +- apm-agent-plugin-sdk/pom.xml | 2 +- .../apm-apache-httpclient-common/pom.xml | 2 +- .../apm-apache-httpclient3-plugin/pom.xml | 2 +- .../apm-apache-httpclient4-plugin/pom.xml | 2 +- .../apm-apache-httpclient5-plugin/pom.xml | 2 +- apm-agent-plugins/apm-apache-httpclient/pom.xml | 2 +- apm-agent-plugins/apm-api-plugin/pom.xml | 2 +- apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml | 2 +- .../apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 2 +- .../apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/pom.xml | 2 +- apm-agent-plugins/apm-awslambda-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra-core-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra3-plugin/pom.xml | 2 +- .../apm-cassandra/apm-cassandra4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/pom.xml | 2 +- apm-agent-plugins/apm-dubbo-plugin/pom.xml | 2 +- apm-agent-plugins/apm-ecs-logging-plugin/pom.xml | 2 +- .../apm-es-restclient-plugin-5_6/pom.xml | 2 +- .../apm-es-restclient-plugin-6_4/pom.xml | 2 +- .../apm-es-restclient-plugin-7_x/pom.xml | 2 +- .../apm-es-restclient-plugin-8_x/pom.xml | 2 +- .../apm-es-restclient-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-es-restclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grails-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml | 2 +- apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-grpc/pom.xml | 2 +- .../apm-hibernate-search-plugin-5_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-6_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-common/pom.xml | 2 +- apm-agent-plugins/apm-hibernate-search-plugin/pom.xml | 2 +- apm-agent-plugins/apm-httpclient-core/pom.xml | 2 +- apm-agent-plugins/apm-httpserver-core/pom.xml | 2 +- apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-concurrent-plugin/pom.xml | 2 +- apm-agent-plugins/apm-java-ldap-plugin/pom.xml | 2 +- apm-agent-plugins/apm-javalin-plugin/pom.xml | 2 +- .../apm-jaxrs-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxrs-plugin/pom.xml | 2 +- .../apm-jaxws-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxws-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdbc-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml | 2 +- .../apm-jms-plugin/apm-jms-plugin-base/pom.xml | 2 +- .../apm-jms-plugin/apm-jms-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jmx-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jsf-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-base-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml | 2 +- .../apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-kafka-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-jboss-logging-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-jul-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-log4j1-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml | 2 +- .../apm-logging-plugin/apm-log4j2-plugin/pom.xml | 2 +- .../apm-logback-plugin/apm-logback-plugin-impl/pom.xml | 2 +- .../apm-logback-plugin-legacy-tests/pom.xml | 2 +- .../apm-logging-plugin/apm-logback-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-logging-plugin-common/pom.xml | 2 +- .../apm-logging-plugin/apm-slf4j-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-micrometer-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml | 2 +- .../apm-mongodb/apm-mongodb3-plugin/pom.xml | 2 +- .../apm-mongodb/apm-mongodb4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-plugin/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-test/pom.xml | 2 +- .../apm-opentelemetry-embedded-metrics-sdk/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-common/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-latest/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-v1_14/pom.xml | 2 +- .../apm-opentelemetry-metrics-bridge-parent/pom.xml | 2 +- .../apm-opentelemetry-metricsdk-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-plugin/pom.xml | 2 +- .../apm-opentelemetry/apm-opentelemetry-test/pom.xml | 2 +- apm-agent-plugins/apm-opentelemetry/pom.xml | 2 +- apm-agent-plugins/apm-opentracing-plugin/pom.xml | 2 +- apm-agent-plugins/apm-process-plugin/pom.xml | 2 +- apm-agent-plugins/apm-profiling-plugin/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml | 2 +- apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml | 2 +- apm-agent-plugins/apm-quartz/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-plugin/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-spring/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-test-3/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-test-4/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/pom.xml | 2 +- apm-agent-plugins/apm-reactor-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-2-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-3-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-4-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-5-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-jedis-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-lettuce-3-tests/pom.xml | 2 +- .../apm-redis-plugin/apm-lettuce-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-redis-common/pom.xml | 2 +- .../apm-redis-plugin/apm-redisson-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/pom.xml | 2 +- apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml | 2 +- .../pom.xml | 2 +- .../apm-scheduled-annotation-plugin/pom.xml | 2 +- apm-agent-plugins/apm-servlet-jakarta-test/pom.xml | 2 +- apm-agent-plugins/apm-servlet-plugin/pom.xml | 2 +- apm-agent-plugins/apm-sparkjava-plugin/pom.xml | 2 +- .../apm-spring-restclient-test/pom.xml | 2 +- .../apm-spring-resttemplate-plugin/pom.xml | 2 +- .../apm-spring-resttemplate-test/pom.xml | 2 +- apm-agent-plugins/apm-spring-resttemplate/pom.xml | 2 +- .../apm-spring-webclient-plugin/pom.xml | 2 +- .../apm-spring-webflux-common-spring5/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-common/pom.xml | 2 +- .../apm-spring-webflux/apm-spring-webflux-plugin/pom.xml | 2 +- .../apm-spring-webflux-spring5/pom.xml | 2 +- .../apm-spring-webflux-testapp/pom.xml | 2 +- apm-agent-plugins/apm-spring-webflux/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml | 2 +- .../apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml | 2 +- apm-agent-plugins/apm-spring-webmvc/pom.xml | 2 +- apm-agent-plugins/apm-struts-plugin/pom.xml | 2 +- apm-agent-plugins/apm-urlconnection-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml | 2 +- .../apm-vertx/apm-vertx3-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/pom.xml | 2 +- apm-agent-plugins/pom.xml | 2 +- apm-agent-tracer/pom.xml | 2 +- apm-opentracing/pom.xml | 2 +- elastic-apm-agent-java8/pom.xml | 2 +- elastic-apm-agent-premain/pom.xml | 2 +- elastic-apm-agent/pom.xml | 2 +- .../application-server-integration-tests/pom.xml | 2 +- integration-tests/aws-lambda-test/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-dependent/pom.xml | 2 +- integration-tests/cdi-app/cdi-app-standalone/pom.xml | 2 +- integration-tests/cdi-app/pom.xml | 2 +- .../cdi-jakartaee-app-dependent/pom.xml | 2 +- .../cdi-jakartaee-app-standalone/pom.xml | 2 +- integration-tests/cdi-jakartaee-app/pom.xml | 2 +- .../external-plugin-otel-test-app/pom.xml | 2 +- .../external-plugin-otel-test-plugin1/pom.xml | 2 +- .../external-plugin-otel-test-plugin2/pom.xml | 2 +- integration-tests/external-plugin-otel-test/pom.xml | 2 +- .../external-plugin-test/external-plugin-app/pom.xml | 2 +- .../external-plugin-jakarta-app/pom.xml | 2 +- .../external-plugin-test/external-plugin/pom.xml | 2 +- .../plugin-instrumentation-target/pom.xml | 2 +- integration-tests/external-plugin-test/pom.xml | 2 +- .../jakartaee-jsf-app-dependent/pom.xml | 2 +- .../jakartaee-jsf-app-standalone/pom.xml | 2 +- integration-tests/jakartaee-jsf-app/pom.xml | 2 +- integration-tests/jakartaee-simple-webapp/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-dependent/pom.xml | 2 +- integration-tests/jsf-app/jsf-app-standalone/pom.xml | 2 +- integration-tests/jsf-app/pom.xml | 2 +- integration-tests/main-app-test/pom.xml | 2 +- integration-tests/pom.xml | 2 +- integration-tests/quarkus/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-base/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml | 2 +- integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml | 2 +- integration-tests/runtime-attach/pom.xml | 2 +- .../runtime-attach/runtime-attach-app/pom.xml | 2 +- .../runtime-attach/runtime-attach-test/pom.xml | 2 +- integration-tests/simple-webapp/pom.xml | 2 +- integration-tests/soap-test/pom.xml | 2 +- integration-tests/spring-boot-1-5/pom.xml | 2 +- integration-tests/spring-boot-2/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-base/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-jetty/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-tomcat/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-undertow/pom.xml | 2 +- integration-tests/spring-boot-3/pom.xml | 2 +- .../spring-boot-3/spring-boot-3-jetty/pom.xml | 2 +- .../spring-boot-3/spring-boot-3-tomcat/pom.xml | 2 +- .../spring-boot-3/spring-boot-3-undertow/pom.xml | 2 +- pom.xml | 2 +- 202 files changed, 207 insertions(+), 204 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index b01bdf5a18..f9e5649743 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -31,14 +31,17 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: === Unreleased +[[release-notes-1.x]] +=== Java Agent version 1.x + +[[release-notes-1.52.1]] +==== 1.52.1 - 2024/11/18 + [float] ===== Bug fixes * Fix JMX metric warning message about unsupported composite value types - {pull}3849[#3849] * Fix JAX-WS transaction naming for @WebMethod annotated methods - {pull}3850[#3850] -[[release-notes-1.x]] -=== Java Agent version 1.x - [[release-notes-1.52.0]] ==== 1.52.0 - 2024/09/23 diff --git a/apm-agent-api/pom.xml b/apm-agent-api/pom.xml index 811e7c5c7d..592a8db2f0 100644 --- a/apm-agent-api/pom.xml +++ b/apm-agent-api/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-api diff --git a/apm-agent-attach-cli/pom.xml b/apm-agent-attach-cli/pom.xml index 06a30940db..2473a5b8b7 100644 --- a/apm-agent-attach-cli/pom.xml +++ b/apm-agent-attach-cli/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-attach/pom.xml b/apm-agent-attach/pom.xml index 4828bc1ad7..74807a7919 100644 --- a/apm-agent-attach/pom.xml +++ b/apm-agent-attach/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-attach diff --git a/apm-agent-benchmarks/pom.xml b/apm-agent-benchmarks/pom.xml index b211527105..d8676048d7 100644 --- a/apm-agent-benchmarks/pom.xml +++ b/apm-agent-benchmarks/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-benchmarks diff --git a/apm-agent-bootstrap/pom.xml b/apm-agent-bootstrap/pom.xml index ec01e3e6b1..d9faaeaff0 100644 --- a/apm-agent-bootstrap/pom.xml +++ b/apm-agent-bootstrap/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-bootstrap diff --git a/apm-agent-builds/apm-agent-java8/pom.xml b/apm-agent-builds/apm-agent-java8/pom.xml index cb9521cc00..5ef284ae58 100644 --- a/apm-agent-builds/apm-agent-java8/pom.xml +++ b/apm-agent-builds/apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-java8 diff --git a/apm-agent-builds/apm-agent/pom.xml b/apm-agent-builds/apm-agent/pom.xml index 9450214b07..0806d37132 100644 --- a/apm-agent-builds/apm-agent/pom.xml +++ b/apm-agent-builds/apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.52.1-SNAPSHOT + 1.52.1 apm-agent diff --git a/apm-agent-builds/pom.xml b/apm-agent-builds/pom.xml index 3cbcffbd23..51fcdb28f7 100644 --- a/apm-agent-builds/pom.xml +++ b/apm-agent-builds/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-cached-lookup-key/pom.xml b/apm-agent-cached-lookup-key/pom.xml index 96ca8673f9..4ac452fda6 100644 --- a/apm-agent-cached-lookup-key/pom.xml +++ b/apm-agent-cached-lookup-key/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-common/pom.xml b/apm-agent-common/pom.xml index d196209bcc..56320091f7 100644 --- a/apm-agent-common/pom.xml +++ b/apm-agent-common/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-core/pom.xml b/apm-agent-core/pom.xml index 98ca788a7b..7c16502299 100644 --- a/apm-agent-core/pom.xml +++ b/apm-agent-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-core diff --git a/apm-agent-lambda-layer/pom.xml b/apm-agent-lambda-layer/pom.xml index 6fd67cba8a..55ee59d512 100644 --- a/apm-agent-lambda-layer/pom.xml +++ b/apm-agent-lambda-layer/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugin-sdk/pom.xml b/apm-agent-plugin-sdk/pom.xml index 00cae53d5b..045f7ac524 100644 --- a/apm-agent-plugin-sdk/pom.xml +++ b/apm-agent-plugin-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml index e698c88c25..3853492a9b 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-apache-httpclient-common diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml index e459a5d0b5..76b9b67f16 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-apache-httpclient3-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml index a881eaca1b..b10abd58ee 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-apache-httpclient4-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml index 7039df5fb3..b9ab1e146e 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-apache-httpclient - 1.52.1-SNAPSHOT + 1.52.1 apm-apache-httpclient5-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/pom.xml b/apm-agent-plugins/apm-apache-httpclient/pom.xml index b31b2de02a..d3e32a5e79 100644 --- a/apm-agent-plugins/apm-apache-httpclient/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-apache-httpclient diff --git a/apm-agent-plugins/apm-api-plugin/pom.xml b/apm-agent-plugins/apm-api-plugin/pom.xml index 9f389b9b8b..09a9c8ed5e 100644 --- a/apm-agent-plugins/apm-api-plugin/pom.xml +++ b/apm-agent-plugins/apm-api-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 diff --git a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml index bb4fc4573d..fd76050c8c 100644 --- a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-asynchttpclient-plugin diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index d7a75d5470..0c39457e87 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index df0aba6c47..555d6a6ca8 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml index 98301add9d..75023fa432 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/pom.xml b/apm-agent-plugins/apm-aws-sdk/pom.xml index 8e7bbadad8..72acf73571 100644 --- a/apm-agent-plugins/apm-aws-sdk/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-awslambda-plugin/pom.xml b/apm-agent-plugins/apm-awslambda-plugin/pom.xml index 39abce3c4b..ced51a9084 100644 --- a/apm-agent-plugins/apm-awslambda-plugin/pom.xml +++ b/apm-agent-plugins/apm-awslambda-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml index 00a1a3aeb7..90c02e8d40 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml index 4f138f2de4..c8a7ae48b5 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml index d4d6a04095..a12d618cba 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/pom.xml b/apm-agent-plugins/apm-cassandra/pom.xml index bd6a46e378..d3b36870b6 100644 --- a/apm-agent-plugins/apm-cassandra/pom.xml +++ b/apm-agent-plugins/apm-cassandra/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-dubbo-plugin/pom.xml b/apm-agent-plugins/apm-dubbo-plugin/pom.xml index 8efcd5f8f5..bc644c120e 100644 --- a/apm-agent-plugins/apm-dubbo-plugin/pom.xml +++ b/apm-agent-plugins/apm-dubbo-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml index 38390738bc..ef580031dc 100644 --- a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-ecs-logging-plugin diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml index 37a698d900..41ddef4f5f 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-es-restclient-plugin-5_6 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml index f770ad9f44..720de42369 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-es-restclient-plugin-6_4 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml index 9b4e138b7e..c66ad7d3bc 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-es-restclient-plugin-7_x diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml index 52b0de9e7c..2e4df505ba 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml @@ -3,7 +3,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml index 42815f5b21..268f5629ee 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-es-restclient-plugin-common diff --git a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml index 9acc0585e2..693cacf94a 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-es-restclient-plugin diff --git a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml index c57513de4d..cdd6dae9fe 100644 --- a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-finagle-httpclient-plugin diff --git a/apm-agent-plugins/apm-grails-plugin/pom.xml b/apm-agent-plugins/apm-grails-plugin/pom.xml index 5eeec9901c..48ad120bbd 100644 --- a/apm-agent-plugins/apm-grails-plugin/pom.xml +++ b/apm-agent-plugins/apm-grails-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-grails-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml index f8af14d6c9..b6f7a8f2c5 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.1-SNAPSHOT + 1.52.1 apm-grpc-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml index 6ff5f4872d..179731d5f1 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.1-SNAPSHOT + 1.52.1 apm-grpc-test-1.6.1 diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml index e02c17bf60..ee1e5e7994 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.1-SNAPSHOT + 1.52.1 apm-grpc-test-latest diff --git a/apm-agent-plugins/apm-grpc/pom.xml b/apm-agent-plugins/apm-grpc/pom.xml index 0da786d951..c0066dbc34 100644 --- a/apm-agent-plugins/apm-grpc/pom.xml +++ b/apm-agent-plugins/apm-grpc/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.1-SNAPSHOT + 1.52.1 apm-grpc diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml index 086697282d..34da9121ca 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-hibernate-search-plugin-5_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml index 486b6a0f61..efb723ebb6 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-hibernate-search-plugin-6_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml index 63f41ef34d..e4f74d10bc 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-hibernate-search-plugin-common diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml index 2cb8311903..47b5f6a7fd 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-hibernate-search-plugin diff --git a/apm-agent-plugins/apm-httpclient-core/pom.xml b/apm-agent-plugins/apm-httpclient-core/pom.xml index a17971571c..5ba68a62f9 100644 --- a/apm-agent-plugins/apm-httpclient-core/pom.xml +++ b/apm-agent-plugins/apm-httpclient-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-httpclient-core diff --git a/apm-agent-plugins/apm-httpserver-core/pom.xml b/apm-agent-plugins/apm-httpserver-core/pom.xml index b174242944..e16a2a0863 100644 --- a/apm-agent-plugins/apm-httpserver-core/pom.xml +++ b/apm-agent-plugins/apm-httpserver-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-httpserver-core diff --git a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml index 6d904d1d29..d9e74e658e 100644 --- a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml +++ b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jakarta-websocket-plugin diff --git a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml index 4e8e60cede..2d24d0f067 100644 --- a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-java-concurrent-plugin diff --git a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml index 1b78c6b32c..bc8f19d9aa 100644 --- a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-java-ldap-plugin diff --git a/apm-agent-plugins/apm-javalin-plugin/pom.xml b/apm-agent-plugins/apm-javalin-plugin/pom.xml index 108a418878..d772b0bdad 100644 --- a/apm-agent-plugins/apm-javalin-plugin/pom.xml +++ b/apm-agent-plugins/apm-javalin-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-javalin-plugin diff --git a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml index 2330c7e627..715c21ce2e 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml index 49a098bbed..adff46548e 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jaxrs-plugin diff --git a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml index 133a48473b..6f4a46eb48 100644 --- a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-jaxws-plugin/pom.xml b/apm-agent-plugins/apm-jaxws-plugin/pom.xml index ff539cf801..31c79ca4ab 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jaxws-plugin diff --git a/apm-agent-plugins/apm-jdbc-plugin/pom.xml b/apm-agent-plugins/apm-jdbc-plugin/pom.xml index c4dcd0c426..691295c26a 100644 --- a/apm-agent-plugins/apm-jdbc-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdbc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jdbc-plugin diff --git a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml index 48d9ca16de..300de8e09e 100644 --- a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jdk-httpclient-plugin diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml index 3304305784..ff780c75cb 100644 --- a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jdk-httpserver-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml index 3acb2e5ba4..3ceaeeed57 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml index 69d5725ab2..ec73ca11d7 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml index d0cd79d942..93fd098cbb 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jms-plugin-base diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml index 67a49d4931..9fed527d45 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jms-spring-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/pom.xml index e7d15a74e4..53d29614fd 100644 --- a/apm-agent-plugins/apm-jms-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jms-plugin diff --git a/apm-agent-plugins/apm-jmx-plugin/pom.xml b/apm-agent-plugins/apm-jmx-plugin/pom.xml index 99b60e8064..430de476e8 100644 --- a/apm-agent-plugins/apm-jmx-plugin/pom.xml +++ b/apm-agent-plugins/apm-jmx-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jmx-plugin diff --git a/apm-agent-plugins/apm-jsf-plugin/pom.xml b/apm-agent-plugins/apm-jsf-plugin/pom.xml index e46b21344e..e8361a49c7 100644 --- a/apm-agent-plugins/apm-jsf-plugin/pom.xml +++ b/apm-agent-plugins/apm-jsf-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jsf-plugin diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml index 6bce08ffb7..7a7257873d 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml @@ -3,7 +3,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml index d6e5f75412..5cd0d30e01 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml index c1ecc32e53..bc3ddaeaa0 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/pom.xml index 8a55418a70..3e0efa25cf 100644 --- a/apm-agent-plugins/apm-kafka-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml index b139bfa1ab..bf6f343678 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jboss-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml index 08074feb60..f6cf2891e5 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jul-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml index c62461166b..6aa03fcb2b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-log4j1-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml index c7023119b4..959e18b85b 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml @@ -6,7 +6,7 @@ co.elastic.apm apm-logging-plugin - 1.52.1-SNAPSHOT + 1.52.1 apm-log4j2-plugin-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml index 68aa966de3..60f116fd2c 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-log4j2-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml index d08698653f..90f8cff24f 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-logback-plugin-impl diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml index 4a6ac24834..e1776b4ab8 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-logback-plugin-legacy-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml index d18cf66da1..060d0805d4 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-logback-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml index b700fc13a6..8779ded961 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-logging-plugin-common diff --git a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml index ce16bda3ad..38a1c92dfc 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-slf4j-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml index 78c3b16352..9346f8a241 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-tomcat-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/pom.xml index 0a26955ae9..82e97a86f0 100644 --- a/apm-agent-plugins/apm-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-logging-plugin diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index fa72e0251a..df9047d23b 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml index 0a8fef4a61..f412954c9b 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml @@ -4,7 +4,7 @@ apm-mongodb co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml index 9c4034a9be..681faf1010 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-mongodb co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml index 3337ed4483..9d0b5f3acd 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-mongodb co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-mongodb4-plugin diff --git a/apm-agent-plugins/apm-mongodb/pom.xml b/apm-agent-plugins/apm-mongodb/pom.xml index efb7d17f30..7f51673171 100644 --- a/apm-agent-plugins/apm-mongodb/pom.xml +++ b/apm-agent-plugins/apm-mongodb/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-mongodb diff --git a/apm-agent-plugins/apm-okhttp-plugin/pom.xml b/apm-agent-plugins/apm-okhttp-plugin/pom.xml index 7e0eec4750..5af862520c 100644 --- a/apm-agent-plugins/apm-okhttp-plugin/pom.xml +++ b/apm-agent-plugins/apm-okhttp-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-okhttp-plugin diff --git a/apm-agent-plugins/apm-okhttp-test/pom.xml b/apm-agent-plugins/apm-okhttp-test/pom.xml index 8ef7db00d5..e671cd75e0 100644 --- a/apm-agent-plugins/apm-okhttp-test/pom.xml +++ b/apm-agent-plugins/apm-okhttp-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml index 8e94acee0a..66201313a6 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.1-SNAPSHOT + 1.52.1 apm-opentelemetry-embedded-metrics-sdk diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml index 9a50e4212c..ea02d2f192 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml index cd0c32584a..b5a9587ddb 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml index f8629ae498..81363b1083 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml index 6ba66dea57..54a7691ebb 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml index f5b9cdd5f9..fa2e5af2e6 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.1-SNAPSHOT + 1.52.1 apm-opentelemetry-metricsdk-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml index 2ef543a12d..40c69c2a1f 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.1-SNAPSHOT + 1.52.1 apm-opentelemetry-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml index 97cc0df9d8..3768f468d0 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.1-SNAPSHOT + 1.52.1 ${project.groupId}:${project.artifactId} diff --git a/apm-agent-plugins/apm-opentelemetry/pom.xml b/apm-agent-plugins/apm-opentelemetry/pom.xml index b6f851db8d..37c724a0a9 100644 --- a/apm-agent-plugins/apm-opentelemetry/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.1-SNAPSHOT + 1.52.1 apm-opentelemetry diff --git a/apm-agent-plugins/apm-opentracing-plugin/pom.xml b/apm-agent-plugins/apm-opentracing-plugin/pom.xml index b27d087c5c..9cf3cccd43 100644 --- a/apm-agent-plugins/apm-opentracing-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentracing-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-opentracing-plugin diff --git a/apm-agent-plugins/apm-process-plugin/pom.xml b/apm-agent-plugins/apm-process-plugin/pom.xml index 33f9b703ca..c7405c4bf0 100644 --- a/apm-agent-plugins/apm-process-plugin/pom.xml +++ b/apm-agent-plugins/apm-process-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-profiling-plugin/pom.xml b/apm-agent-plugins/apm-profiling-plugin/pom.xml index 8ff4c11141..2eaa4673b2 100644 --- a/apm-agent-plugins/apm-profiling-plugin/pom.xml +++ b/apm-agent-plugins/apm-profiling-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-profiling-plugin diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml index faef711507..eb7fe1a0fa 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml index 60a18cb2f0..d45f381f0b 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml index b9c9cc1fc3..f61c96be4c 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/pom.xml b/apm-agent-plugins/apm-quartz/pom.xml index e451026364..dfbb0dd12c 100644 --- a/apm-agent-plugins/apm-quartz/pom.xml +++ b/apm-agent-plugins/apm-quartz/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-quartz diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml index fa422f834a..3c7dcc92e8 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-rabbitmq-plugin diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml index b4b347aa2d..b057b00f49 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-rabbitmq-spring diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml index 44f8d6c83c..9c5fd312c2 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-rabbitmq-test-3 diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml index e725cf1f57..99d0ebe58b 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-rabbitmq-test-4 diff --git a/apm-agent-plugins/apm-rabbitmq/pom.xml b/apm-agent-plugins/apm-rabbitmq/pom.xml index d6de24f151..e8952a14f3 100644 --- a/apm-agent-plugins/apm-rabbitmq/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-rabbitmq diff --git a/apm-agent-plugins/apm-reactor-plugin/pom.xml b/apm-agent-plugins/apm-reactor-plugin/pom.xml index e524dbf7a9..fe2b837c77 100644 --- a/apm-agent-plugins/apm-reactor-plugin/pom.xml +++ b/apm-agent-plugins/apm-reactor-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.1-SNAPSHOT + 1.52.1 apm-reactor-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml index 047d194547..a28abb8604 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jedis-2-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml index 118b6c516f..6fe9fc82fe 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jedis-3-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml index f875504530..102dd5509f 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jedis-4-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index a56cd1c9c9..71d3818c4d 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jedis-5-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml index ed6be5b0dd..743f91b463 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-jedis-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml index dda0885a88..46e7f76c99 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml index a61d7dcad3..e00faef793 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml index 6dfdcaf174..668de9087e 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-redis-common diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml index 7fbb1a444a..bd100c7950 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-redisson-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/pom.xml index 513bf6f6f8..700955bb3b 100644 --- a/apm-agent-plugins/apm-redis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-redis-plugin diff --git a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml index add024e404..79317141f1 100644 --- a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-scala-concurrent-plugin diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml index 8f19f1ce26..c5785a6bc5 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml index 543dc11d57..8591cb3ab1 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-scheduled-annotation-plugin diff --git a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml index 985d0897f2..37201ad8c9 100644 --- a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml +++ b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-servlet-jakarta-test diff --git a/apm-agent-plugins/apm-servlet-plugin/pom.xml b/apm-agent-plugins/apm-servlet-plugin/pom.xml index fc8758bcff..9f27fa4820 100644 --- a/apm-agent-plugins/apm-servlet-plugin/pom.xml +++ b/apm-agent-plugins/apm-servlet-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-servlet-plugin diff --git a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml index b06ca1720e..fac2dd9989 100644 --- a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml +++ b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml index bc57d1ae4a..b4bdf40e38 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-restclient-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml index 5f38fd1179..5606430588 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-resttemplate-plugin diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml index 73e69994f1..0c1a761d07 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-resttemplate-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/pom.xml index 47dfaf09bf..365f2fc375 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-resttemplate diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml index 586beff2a6..0f7b6cd815 100755 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webclient-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml index 6835d93359..2467fc839f 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webflux-common-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml index 0cb8b1f605..d25add2cae 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webflux-common diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml index 5f86de81ed..190c56751b 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webflux-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml index 6784dbf9df..a9dfcdd16c 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webflux-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml index 89bba644e2..7bd01005c6 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webflux-testapp diff --git a/apm-agent-plugins/apm-spring-webflux/pom.xml b/apm-agent-plugins/apm-spring-webflux/pom.xml index ab1e568d4a..493ad29a1d 100644 --- a/apm-agent-plugins/apm-spring-webflux/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webflux diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml index ab78b3c11b..ba5841e816 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webmvc-plugin diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml index f6f6134832..e01857f6cb 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-spring-webmvc-spring5 diff --git a/apm-agent-plugins/apm-spring-webmvc/pom.xml b/apm-agent-plugins/apm-spring-webmvc/pom.xml index e4e4d07122..a123b69319 100644 --- a/apm-agent-plugins/apm-spring-webmvc/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-struts-plugin/pom.xml b/apm-agent-plugins/apm-struts-plugin/pom.xml index f0b3c6a042..7b41f8c8a0 100644 --- a/apm-agent-plugins/apm-struts-plugin/pom.xml +++ b/apm-agent-plugins/apm-struts-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml index b23308d097..f8e996ea03 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml +++ b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-urlconnection-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml index b1bff2b901..bf66ab617f 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-vertx-common diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml index d24590f44e..1f06d8657a 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-vertx3-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml index a59abc53d6..3706a57c47 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-vertx3-test-latest diff --git a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml index 015713f06b..f7e4aba8df 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-vertx4-plugin diff --git a/apm-agent-plugins/apm-vertx/pom.xml b/apm-agent-plugins/apm-vertx/pom.xml index 0a18afc8ed..70ce21495c 100644 --- a/apm-agent-plugins/apm-vertx/pom.xml +++ b/apm-agent-plugins/apm-vertx/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-vertx diff --git a/apm-agent-plugins/pom.xml b/apm-agent-plugins/pom.xml index fd7fb975b7..00134d0b60 100644 --- a/apm-agent-plugins/pom.xml +++ b/apm-agent-plugins/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-plugins diff --git a/apm-agent-tracer/pom.xml b/apm-agent-tracer/pom.xml index 3d0cbccfcc..d3823df57e 100644 --- a/apm-agent-tracer/pom.xml +++ b/apm-agent-tracer/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.52.1-SNAPSHOT + 1.52.1 apm-agent-tracer diff --git a/apm-opentracing/pom.xml b/apm-opentracing/pom.xml index e584b0b1fe..2eb17a650d 100644 --- a/apm-opentracing/pom.xml +++ b/apm-opentracing/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 apm-opentracing diff --git a/elastic-apm-agent-java8/pom.xml b/elastic-apm-agent-java8/pom.xml index 89ace89606..231dd21767 100644 --- a/elastic-apm-agent-java8/pom.xml +++ b/elastic-apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.52.1-SNAPSHOT + 1.52.1 elastic-apm-agent-java8 diff --git a/elastic-apm-agent-premain/pom.xml b/elastic-apm-agent-premain/pom.xml index 93c0ca676e..35e9c181d9 100644 --- a/elastic-apm-agent-premain/pom.xml +++ b/elastic-apm-agent-premain/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/elastic-apm-agent/pom.xml b/elastic-apm-agent/pom.xml index 78fc25e908..a162258d9a 100644 --- a/elastic-apm-agent/pom.xml +++ b/elastic-apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.52.1-SNAPSHOT + 1.52.1 elastic-apm-agent diff --git a/integration-tests/application-server-integration-tests/pom.xml b/integration-tests/application-server-integration-tests/pom.xml index c9a29e11ec..ed08f5ee98 100644 --- a/integration-tests/application-server-integration-tests/pom.xml +++ b/integration-tests/application-server-integration-tests/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 application-server-integration-tests diff --git a/integration-tests/aws-lambda-test/pom.xml b/integration-tests/aws-lambda-test/pom.xml index a070e2480b..fe8dac1b0c 100644 --- a/integration-tests/aws-lambda-test/pom.xml +++ b/integration-tests/aws-lambda-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-dependent/pom.xml b/integration-tests/cdi-app/cdi-app-dependent/pom.xml index f625fa1c4b..3699ccba8b 100644 --- a/integration-tests/cdi-app/cdi-app-dependent/pom.xml +++ b/integration-tests/cdi-app/cdi-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-standalone/pom.xml b/integration-tests/cdi-app/cdi-app-standalone/pom.xml index 87693f1bdb..c105b6b533 100644 --- a/integration-tests/cdi-app/cdi-app-standalone/pom.xml +++ b/integration-tests/cdi-app/cdi-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/cdi-app/pom.xml b/integration-tests/cdi-app/pom.xml index f411a6bc54..7df72c4591 100644 --- a/integration-tests/cdi-app/pom.xml +++ b/integration-tests/cdi-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml index 5bd40614fc..9c018c42da 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml index 58eac8bcfc..05f0781900 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/pom.xml b/integration-tests/cdi-jakartaee-app/pom.xml index 60ed982e75..dca309c6b4 100644 --- a/integration-tests/cdi-jakartaee-app/pom.xml +++ b/integration-tests/cdi-jakartaee-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml index a5206936aa..63f709a245 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.1-SNAPSHOT + 1.52.1 external-plugin-otel-test-app diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml index 4c4e0e7e63..efec001164 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.1-SNAPSHOT + 1.52.1 external-plugin-otel-test-plugin1 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml index c586340a3a..29fd42fcf7 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.1-SNAPSHOT + 1.52.1 external-plugin-otel-test-plugin2 diff --git a/integration-tests/external-plugin-otel-test/pom.xml b/integration-tests/external-plugin-otel-test/pom.xml index 82a538df93..37128b0a21 100644 --- a/integration-tests/external-plugin-otel-test/pom.xml +++ b/integration-tests/external-plugin-otel-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm integration-tests - 1.52.1-SNAPSHOT + 1.52.1 external-plugin-otel-test diff --git a/integration-tests/external-plugin-test/external-plugin-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-app/pom.xml index 9633ba4a12..a8b00f8df9 100644 --- a/integration-tests/external-plugin-test/external-plugin-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 external-plugin-app diff --git a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml index e14f9eb681..1a616ade2b 100644 --- a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 external-plugin-jakarta-app diff --git a/integration-tests/external-plugin-test/external-plugin/pom.xml b/integration-tests/external-plugin-test/external-plugin/pom.xml index a352263e32..2440381090 100644 --- a/integration-tests/external-plugin-test/external-plugin/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 external-plugin diff --git a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml index a1d30e16e7..4ae2dd9dca 100644 --- a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml +++ b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 plugin-instrumentation-target diff --git a/integration-tests/external-plugin-test/pom.xml b/integration-tests/external-plugin-test/pom.xml index fe32b66d01..be504056fa 100644 --- a/integration-tests/external-plugin-test/pom.xml +++ b/integration-tests/external-plugin-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml index 2d26dfbda5..9d384ae16b 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml index 1399f420fa..f5aa99af2d 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/pom.xml b/integration-tests/jakartaee-jsf-app/pom.xml index 67b6745a9f..e6cc8e5242 100644 --- a/integration-tests/jakartaee-jsf-app/pom.xml +++ b/integration-tests/jakartaee-jsf-app/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 pom diff --git a/integration-tests/jakartaee-simple-webapp/pom.xml b/integration-tests/jakartaee-simple-webapp/pom.xml index b71990076c..7df42cca42 100644 --- a/integration-tests/jakartaee-simple-webapp/pom.xml +++ b/integration-tests/jakartaee-simple-webapp/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 jakartaee-simple-webapp diff --git a/integration-tests/jsf-app/jsf-app-dependent/pom.xml b/integration-tests/jsf-app/jsf-app-dependent/pom.xml index 2891c79ddf..b51fa009ee 100644 --- a/integration-tests/jsf-app/jsf-app-dependent/pom.xml +++ b/integration-tests/jsf-app/jsf-app-dependent/pom.xml @@ -4,7 +4,7 @@ jsf-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/jsf-app/jsf-app-standalone/pom.xml b/integration-tests/jsf-app/jsf-app-standalone/pom.xml index ec1fa14ff0..ce9ffe7af1 100644 --- a/integration-tests/jsf-app/jsf-app-standalone/pom.xml +++ b/integration-tests/jsf-app/jsf-app-standalone/pom.xml @@ -6,7 +6,7 @@ jsf-app co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 jsf-app-standalone diff --git a/integration-tests/jsf-app/pom.xml b/integration-tests/jsf-app/pom.xml index fd67dc8b86..7209391e4d 100644 --- a/integration-tests/jsf-app/pom.xml +++ b/integration-tests/jsf-app/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 jsf-app diff --git a/integration-tests/main-app-test/pom.xml b/integration-tests/main-app-test/pom.xml index 445fd242f2..28ae005ed4 100644 --- a/integration-tests/main-app-test/pom.xml +++ b/integration-tests/main-app-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 main-app-test diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 908584ea27..81089fa95e 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 integration-tests diff --git a/integration-tests/quarkus/pom.xml b/integration-tests/quarkus/pom.xml index 6ccbd08107..341d1e94fd 100644 --- a/integration-tests/quarkus/pom.xml +++ b/integration-tests/quarkus/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 quarkus diff --git a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml index b6145bf1fe..5ed0201284 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 quarkus-jaxrs-base diff --git a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml index 9eba45852b..46f81207e1 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 quarkus-jaxrs-undertow diff --git a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml index e30dd22800..dc9d7ec463 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 quarkus-jaxrs-vertx diff --git a/integration-tests/runtime-attach/pom.xml b/integration-tests/runtime-attach/pom.xml index f3cf3c9e71..5319c7e9c4 100644 --- a/integration-tests/runtime-attach/pom.xml +++ b/integration-tests/runtime-attach/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 runtime-attach diff --git a/integration-tests/runtime-attach/runtime-attach-app/pom.xml b/integration-tests/runtime-attach/runtime-attach-app/pom.xml index 9043fef6f8..f0b16ccdc3 100644 --- a/integration-tests/runtime-attach/runtime-attach-app/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-app/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/runtime-attach/runtime-attach-test/pom.xml b/integration-tests/runtime-attach/runtime-attach-test/pom.xml index cfdef70253..80066c7d52 100644 --- a/integration-tests/runtime-attach/runtime-attach-test/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-test/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/simple-webapp/pom.xml b/integration-tests/simple-webapp/pom.xml index ec8668f281..7594138f96 100644 --- a/integration-tests/simple-webapp/pom.xml +++ b/integration-tests/simple-webapp/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 simple-webapp diff --git a/integration-tests/soap-test/pom.xml b/integration-tests/soap-test/pom.xml index 64b4607074..d7bd9d784f 100644 --- a/integration-tests/soap-test/pom.xml +++ b/integration-tests/soap-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 soap-test diff --git a/integration-tests/spring-boot-1-5/pom.xml b/integration-tests/spring-boot-1-5/pom.xml index 6f5c260cca..7e7fff8762 100644 --- a/integration-tests/spring-boot-1-5/pom.xml +++ b/integration-tests/spring-boot-1-5/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 spring-boot-1-5 diff --git a/integration-tests/spring-boot-2/pom.xml b/integration-tests/spring-boot-2/pom.xml index 036aba6980..4fa8802475 100644 --- a/integration-tests/spring-boot-2/pom.xml +++ b/integration-tests/spring-boot-2/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 spring-boot-2 diff --git a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml index 048f2bfcb8..074c7e45e9 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 spring-boot-2-base diff --git a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml index e0714656b7..331f0c2e85 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 spring-boot-2-jetty diff --git a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml index fe41d2270f..738ba02cda 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 spring-boot-2-tomcat diff --git a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml index d44c21013f..45a94d271a 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 spring-boot-2-undertow diff --git a/integration-tests/spring-boot-3/pom.xml b/integration-tests/spring-boot-3/pom.xml index 642393c147..a0be3b11e8 100644 --- a/integration-tests/spring-boot-3/pom.xml +++ b/integration-tests/spring-boot-3/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 spring-boot-3 diff --git a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml index e15b97f04c..f4bbd9a1df 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml index 42d2eb8be2..88364aced5 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml index 9159965d0b..d0f13c1522 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.1-SNAPSHOT + 1.52.1 4.0.0 diff --git a/pom.xml b/pom.xml index c7d1f4ece2..1c21a15efb 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.52.1-SNAPSHOT + 1.52.1 pom ${project.groupId}:${project.artifactId} From ea03130c77be1d2b445bf5e157d8ed2f3584f08c Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Mon, 18 Nov 2024 13:52:48 +0100 Subject: [PATCH 97/98] Revert "[release] release-step-4 1.52.0 (#3814)" This reverts commit 95eb8cf28953cce10ce3feb3c19f2e7b0431ddc5. --- .ci/updatecli/values.d/apm-data-spec.yml | 3 +- .ci/updatecli/values.d/apm-gherkin.yml | 3 +- .ci/updatecli/values.d/apm-json-specs.yml | 3 +- .ci/updatecli/values.d/scm.yml | 1 - .ci/updatecli/values.d/update-compose.yml | 2 +- .github/workflows/labeler.yml | 4 +- .github/workflows/main.yml | 2 +- .github/workflows/release-step-3.yml | 10 +- .github/workflows/snapshot.yml | 4 +- .github/workflows/stash/action.yml | 2 +- .github/workflows/test-reporter.yml | 2 +- .github/workflows/unstash/action.yml | 2 +- .github/workflows/updatecli.yml | 18 +- CHANGELOG.asciidoc | 14 -- Dockerfile.wolfi | 2 +- apm-agent-api/pom.xml | 2 +- apm-agent-attach-cli/pom.xml | 2 +- apm-agent-attach/pom.xml | 9 +- apm-agent-benchmarks/pom.xml | 2 +- apm-agent-bootstrap/pom.xml | 2 +- apm-agent-builds/apm-agent-java8/pom.xml | 2 +- apm-agent-builds/apm-agent/pom.xml | 2 +- apm-agent-builds/pom.xml | 2 +- apm-agent-cached-lookup-key/pom.xml | 2 +- apm-agent-common/pom.xml | 2 +- apm-agent-core/pom.xml | 2 +- .../MetricsConfigurationImpl.java | 4 +- .../agent/impl/context/BodyCaptureImpl.java | 66 +----- .../apm/agent/impl/transaction/SpanImpl.java | 39 +--- .../report/serialize/DslJsonSerializer.java | 73 ++----- ...tureImplTest.java => BodyCaptureTest.java} | 44 +--- .../apm/agent/impl/transaction/SpanTest.java | 64 ------ .../serialize/DslJsonSerializerTest.java | 52 +---- apm-agent-lambda-layer/pom.xml | 2 +- apm-agent-plugin-sdk/pom.xml | 2 +- .../agent/sdk/bytebuddy/ClassNameParser.java | 102 --------- .../sdk/bytebuddy/CustomElementMatchers.java | 85 +++----- ...leMethodSignatureOffsetMappingFactory.java | 3 +- .../apm/agent/sdk/internal/util/IOUtils.java | 134 ++---------- .../apm/agent/sdk/state/CallDepth.java | 2 +- .../sdk/bytebuddy/ClassNameParserTest.java | 83 -------- .../bytebuddy/CustomElementMatchersTest.java | 52 +---- .../sdk/bytebuddy/clazzes/AnonymousClass.java | 30 --- .../sdk/bytebuddy/clazzes/Dollar$Class.java | 23 -- .../sdk/bytebuddy/clazzes/ParentClass.java | 36 ---- .../sdk/bytebuddy/clazzes/ParentObject.java | 29 --- .../sdk/bytebuddy/clazzes/ScalaObject$.java | 27 --- .../sdk/bytebuddy/clazzes/SimpleClass.java | 23 -- .../apm-apache-httpclient-common/pom.xml | 2 +- .../AbstractApacheHttpClientAdvice.java | 21 +- ...actApacheHttpRequestBodyCaptureAdvice.java | 58 ------ .../common/ApacheHttpClientApiAdapter.java | 2 +- .../ApacheHttpClientEntityAccessor.java | 29 --- .../apm-apache-httpclient3-plugin/pom.xml | 2 +- .../apm-apache-httpclient4-plugin/pom.xml | 2 +- .../v4/ApacheHttpClientInstrumentation.java | 4 +- ...heHttpEntityGetContentInstrumentation.java | 50 ++++- ...pacheHttpEntityWriteToInstrumentation.java | 52 ++++- .../BaseApacheHttpEntityInstrumentation.java | 34 --- ...LegacyApacheHttpClientInstrumentation.java | 5 +- .../helper/ApacheHttpClient4ApiAdapter.java | 19 +- .../HttpAsyncRequestProducerWrapper.java | 5 +- .../helper}/RequestBodyCaptureRegistry.java | 38 ++-- ...cheHttpAsyncClientInstrumentationTest.java | 5 - .../apm-apache-httpclient5-plugin/pom.xml | 2 +- ...eHttp5EntityGetContentInstrumentation.java | 54 ----- ...acheHttp5EntityWriteToInstrumentation.java | 61 ------ .../v5/ApacheHttpClient5Instrumentation.java | 6 +- .../BaseApacheHttp5EntityInstrumentation.java | 33 --- .../helper/ApacheHttpClient5ApiAdapter.java | 23 +- .../v5/helper/RequestChannelWrapper.java | 4 +- ...ic.apm.agent.sdk.ElasticApmInstrumentation | 2 - ...cheHttpAsyncClientInstrumentationTest.java | 40 ---- ...pClientExecuteOpenInstrumentationTest.java | 40 +--- .../ApacheHttpClientInstrumentationTest.java | 41 +--- .../apm-apache-httpclient/pom.xml | 2 +- apm-agent-plugins/apm-api-plugin/pom.xml | 2 +- .../apm-asynchttpclient-plugin/pom.xml | 2 +- .../apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml | 4 +- .../apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml | 4 +- .../apm-aws-sdk/apm-aws-sdk-common/pom.xml | 2 +- apm-agent-plugins/apm-aws-sdk/pom.xml | 2 +- .../apm-awslambda-plugin/pom.xml | 2 +- .../apm-cassandra-core-plugin/pom.xml | 2 +- .../apm-cassandra3-plugin/pom.xml | 2 +- .../apm-cassandra4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-cassandra/pom.xml | 2 +- apm-agent-plugins/apm-dubbo-plugin/pom.xml | 2 +- .../apm-ecs-logging-plugin/pom.xml | 5 +- .../apm-es-restclient-plugin-5_6/pom.xml | 2 +- .../apm-es-restclient-plugin-6_4/pom.xml | 2 +- .../apm-es-restclient-plugin-7_x/pom.xml | 2 +- .../apm-es-restclient-plugin-8_x/pom.xml | 2 +- .../apm-es-restclient-plugin-common/pom.xml | 2 +- .../apm-es-restclient-plugin/pom.xml | 2 +- .../apm-finagle-httpclient-plugin/pom.xml | 2 +- apm-agent-plugins/apm-grails-plugin/pom.xml | 2 +- .../apm-grpc/apm-grpc-plugin/pom.xml | 2 +- .../apm-grpc/apm-grpc-test-1.6.1/pom.xml | 2 +- .../apm-grpc/apm-grpc-test-latest/pom.xml | 2 +- apm-agent-plugins/apm-grpc/pom.xml | 2 +- .../apm-hibernate-search-plugin-5_x/pom.xml | 2 +- .../apm-hibernate-search-plugin-6_x/pom.xml | 2 +- .../pom.xml | 2 +- .../apm-hibernate-search-plugin/pom.xml | 2 +- apm-agent-plugins/apm-httpclient-core/pom.xml | 2 +- .../agent/httpclient/HttpClientHelper.java | 29 +-- .../RequestBodyRecordingHelper.java | 63 ------ .../RequestBodyRecordingInputStream.java | 45 +++- .../RequestBodyRecordingOutputStream.java | 47 ++++- ...AbstractHttpClientInstrumentationTest.java | 66 +----- .../RequestBodyRecordingHelperTest.java | 84 -------- apm-agent-plugins/apm-httpserver-core/pom.xml | 2 +- .../apm-jakarta-websocket-plugin/pom.xml | 2 +- .../apm-java-concurrent-plugin/pom.xml | 2 +- .../apm-java-ldap-plugin/pom.xml | 2 +- apm-agent-plugins/apm-javalin-plugin/pom.xml | 2 +- .../apm-jaxrs-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxrs-plugin/pom.xml | 2 +- .../apm-jaxws-plugin-jakartaee-test/pom.xml | 2 +- apm-agent-plugins/apm-jaxws-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jdbc-plugin/pom.xml | 2 +- .../apm-jdk-httpclient-plugin/pom.xml | 2 +- .../apm-jdk-httpserver-plugin/pom.xml | 2 +- .../apm-jms-plugin/apm-jms-jakarta/pom.xml | 2 +- .../apm-jms-plugin/apm-jms-javax/pom.xml | 2 +- .../apm-jms-plugin-base/pom.xml | 2 +- .../apm-jms-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jms-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jmx-plugin/pom.xml | 2 +- apm-agent-plugins/apm-jsf-plugin/pom.xml | 2 +- .../apm-kafka-base-plugin/pom.xml | 2 +- .../apm-kafka-headers-plugin/pom.xml | 2 +- .../apm-kafka-spring-plugin/pom.xml | 2 +- apm-agent-plugins/apm-kafka-plugin/pom.xml | 2 +- .../apm-jboss-logging-plugin/pom.xml | 2 +- .../apm-logging-plugin/apm-jul-plugin/pom.xml | 2 +- .../apm-log4j1-plugin/pom.xml | 2 +- .../apm-log4j2-plugin-tests/pom.xml | 55 ----- .../log4j2/Log4j2InstrumentationTest.java | 55 ----- .../apm-log4j2-plugin/pom.xml | 16 +- .../Log4j2LogCorrelationInstrumentation.java | 6 +- .../log4j2/Log4j2InstrumentationTest.java} | 17 +- .../Log4j2InstrumentationTestVersions.java | 118 +++++++++++ .../Log4j2_17_1InstrumentationTest.java | 46 ++++ .../log4j2/Log4j2_6SInstrumentationTest.java | 46 ++++ .../Log4j2ErrorCapturingTestVersions.java | 51 +++++ ...ggerErrorCapturingInstrumentationTest.java | 10 +- .../error/Log4j2_17_1ErrorCapturingTest.java | 37 ++-- .../src/test/resources/log4j2.xml | 0 .../apm-logback-plugin-impl/pom.xml | 2 +- .../apm-logback-plugin-legacy-tests/pom.xml | 2 +- .../apm-logback-plugin/pom.xml | 2 +- .../apm-logging-plugin-common/pom.xml | 2 +- .../apm-slf4j-plugin/pom.xml | 2 +- .../apm-tomcat-logging-plugin/pom.xml | 2 +- apm-agent-plugins/apm-logging-plugin/pom.xml | 3 +- .../apm-micrometer-plugin/pom.xml | 4 +- .../apm-mongodb/apm-mongodb-common/pom.xml | 2 +- .../apm-mongodb/apm-mongodb3-plugin/pom.xml | 2 +- .../apm-mongodb/apm-mongodb4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-mongodb/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-plugin/pom.xml | 2 +- apm-agent-plugins/apm-okhttp-test/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../apm-opentelemetry-plugin/pom.xml | 2 +- .../apm-opentelemetry-test/pom.xml | 2 +- apm-agent-plugins/apm-opentelemetry/pom.xml | 4 +- .../apm-opentracing-plugin/pom.xml | 2 +- apm-agent-plugins/apm-process-plugin/pom.xml | 2 +- .../apm-profiling-plugin/pom.xml | 2 +- .../apm-quartz/apm-quartz-common/pom.xml | 2 +- .../apm-quartz/apm-quartz-plugin-1/pom.xml | 2 +- .../apm-quartz/apm-quartz-plugin-2/pom.xml | 2 +- apm-agent-plugins/apm-quartz/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-plugin/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-spring/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-test-3/pom.xml | 2 +- .../apm-rabbitmq/apm-rabbitmq-test-4/pom.xml | 2 +- apm-agent-plugins/apm-rabbitmq/pom.xml | 2 +- apm-agent-plugins/apm-reactor-plugin/pom.xml | 2 +- .../apm-jedis-2-tests/pom.xml | 2 +- .../apm-jedis-3-tests/pom.xml | 2 +- .../apm-jedis-4-plugin/pom.xml | 2 +- .../apm-jedis-5-tests/pom.xml | 4 +- .../apm-redis-plugin/apm-jedis-plugin/pom.xml | 2 +- .../apm-lettuce-3-tests/pom.xml | 2 +- .../apm-lettuce-plugin/pom.xml | 2 +- .../apm-redis-plugin/apm-redis-common/pom.xml | 2 +- .../apm-redisson-plugin/pom.xml | 2 +- apm-agent-plugins/apm-redis-plugin/pom.xml | 2 +- .../apm-scala-concurrent-plugin/pom.xml | 2 +- .../pom.xml | 2 +- .../apm-scheduled-annotation-plugin/pom.xml | 2 +- .../TimerTaskInstrumentationTest.java | 2 +- .../apm-servlet-jakarta-test/pom.xml | 2 +- apm-agent-plugins/apm-servlet-plugin/pom.xml | 2 +- .../apm-sparkjava-plugin/pom.xml | 2 +- .../apm-spring-restclient-test/pom.xml | 2 +- .../apm-spring-resttemplate-plugin/pom.xml | 8 +- ...SpringRestTemplateInstrumentationTest.java | 31 --- .../apm-spring-resttemplate-test/pom.xml | 2 +- .../apm-spring-resttemplate/pom.xml | 2 +- .../apm-spring-webclient-plugin/pom.xml | 2 +- .../springwebclient/BodyCaptureRegistry.java | 30 --- .../ClientHttpConnectorInstrumentation.java | 102 --------- .../ClientHttpRequestInstrumentation.java | 136 ------------ .../ClientRequestHeaderGetter.java | 29 --- ...ClientExchangeFunctionInstrumentation.java | 4 +- ...ic.apm.agent.sdk.ElasticApmInstrumentation | 2 - .../WebClientInstrumentationIT.java | 14 -- .../WebClientInstrumentationTest.java | 55 ----- .../apm-spring-webflux-common-spring5/pom.xml | 2 +- .../apm-spring-webflux-common/pom.xml | 2 +- .../apm-spring-webflux-plugin/pom.xml | 2 +- .../apm-spring-webflux-spring5/pom.xml | 2 +- .../apm-spring-webflux-testapp/pom.xml | 2 +- apm-agent-plugins/apm-spring-webflux/pom.xml | 2 +- .../apm-spring-webmvc-plugin/pom.xml | 2 +- .../apm-spring-webmvc-spring5/pom.xml | 2 +- apm-agent-plugins/apm-spring-webmvc/pom.xml | 2 +- apm-agent-plugins/apm-struts-plugin/pom.xml | 2 +- .../apm-urlconnection-plugin/pom.xml | 2 +- .../HttpUrlConnectionInstrumentation.java | 196 ++++++------------ ...ic.apm.agent.sdk.ElasticApmInstrumentation | 1 - .../HttpUrlConnectionInstrumentationTest.java | 17 -- .../apm-vertx/apm-vertx-common/pom.xml | 2 +- .../apm-vertx/apm-vertx3-plugin/pom.xml | 2 +- .../apm-vertx/apm-vertx3-test-latest/pom.xml | 2 +- .../apm-vertx/apm-vertx4-plugin/pom.xml | 2 +- apm-agent-plugins/apm-vertx/pom.xml | 2 +- apm-agent-plugins/pom.xml | 2 +- apm-agent-tracer/pom.xml | 2 +- .../co/elastic/apm/agent/tracer/Span.java | 4 - .../apm/agent/tracer/SpanEndListener.java | 11 - .../configuration/WebConfiguration.java | 10 +- .../agent/tracer/metadata/BodyCapture.java | 71 +------ apm-opentracing/pom.xml | 2 +- cloudfoundry/index.yml | 1 - docs/configuration.asciidoc | 50 +---- docs/metrics.asciidoc | 2 + elastic-apm-agent-java8/pom.xml | 2 +- elastic-apm-agent-premain/pom.xml | 2 +- elastic-apm-agent/pom.xml | 2 +- .../pom.xml | 2 +- integration-tests/aws-lambda-test/pom.xml | 2 +- .../cdi-app/cdi-app-dependent/pom.xml | 2 +- .../cdi-app/cdi-app-standalone/pom.xml | 2 +- integration-tests/cdi-app/pom.xml | 2 +- .../cdi-jakartaee-app-dependent/pom.xml | 2 +- .../cdi-jakartaee-app-standalone/pom.xml | 2 +- integration-tests/cdi-jakartaee-app/pom.xml | 2 +- .../external-plugin-otel-test-app/pom.xml | 2 +- .../external-plugin-otel-test-plugin1/pom.xml | 2 +- .../external-plugin-otel-test-plugin2/pom.xml | 2 +- .../external-plugin-otel-test/pom.xml | 2 +- .../external-plugin-app/pom.xml | 2 +- .../external-plugin-jakarta-app/pom.xml | 2 +- .../external-plugin/pom.xml | 2 +- .../plugin-instrumentation-target/pom.xml | 2 +- .../external-plugin-test/pom.xml | 2 +- .../jakartaee-jsf-app-dependent/pom.xml | 2 +- .../jakartaee-jsf-app-standalone/pom.xml | 2 +- integration-tests/jakartaee-jsf-app/pom.xml | 2 +- .../jakartaee-simple-webapp/pom.xml | 2 +- .../jsf-app/jsf-app-dependent/pom.xml | 2 +- .../jsf-app/jsf-app-standalone/pom.xml | 2 +- integration-tests/jsf-app/pom.xml | 2 +- integration-tests/main-app-test/pom.xml | 2 +- integration-tests/pom.xml | 2 +- integration-tests/quarkus/pom.xml | 2 +- .../quarkus/quarkus-jaxrs-base/pom.xml | 2 +- .../quarkus/quarkus-jaxrs-undertow/pom.xml | 2 +- .../quarkus/quarkus-jaxrs-vertx/pom.xml | 2 +- integration-tests/runtime-attach/pom.xml | 2 +- .../runtime-attach/runtime-attach-app/pom.xml | 2 +- .../runtime-attach-test/pom.xml | 4 +- integration-tests/simple-webapp/pom.xml | 2 +- integration-tests/soap-test/pom.xml | 2 +- integration-tests/spring-boot-1-5/pom.xml | 2 +- integration-tests/spring-boot-2/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-base/pom.xml | 2 +- .../spring-boot-2/spring-boot-2-jetty/pom.xml | 2 +- .../spring-boot-2-tomcat/pom.xml | 2 +- .../spring-boot-2-undertow/pom.xml | 2 +- integration-tests/spring-boot-3/pom.xml | 2 +- .../spring-boot-3/spring-boot-3-jetty/pom.xml | 2 +- .../spring-boot-3-tomcat/pom.xml | 2 +- .../spring-boot-3-undertow/pom.xml | 2 +- pom.xml | 12 +- renovate.json | 6 - updatecli-compose.yaml => update-compose.yaml | 8 +- 297 files changed, 977 insertions(+), 2702 deletions(-) rename apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/{BodyCaptureImplTest.java => BodyCaptureTest.java} (50%) delete mode 100644 apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java delete mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java delete mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java delete mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java delete mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java delete mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java delete mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java delete mode 100644 apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java delete mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java delete mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java delete mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java rename apm-agent-plugins/apm-apache-httpclient/{apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common => apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper}/RequestBodyCaptureRegistry.java (60%) delete mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java delete mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java delete mode 100644 apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java delete mode 100644 apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java delete mode 100644 apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java delete mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml delete mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java rename apm-agent-plugins/apm-logging-plugin/{apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java => apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java} (93%) create mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java create mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java create mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java create mode 100644 apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java rename apm-agent-plugins/apm-logging-plugin/{apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2 => apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error}/Log4j2LoggerErrorCapturingInstrumentationTest.java (85%) rename apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java => apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java (51%) rename apm-agent-plugins/apm-logging-plugin/{apm-log4j2-plugin-tests => apm-log4j2-plugin}/src/test/resources/log4j2.xml (100%) delete mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java delete mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java delete mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java delete mode 100644 apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java delete mode 100644 apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java delete mode 100644 renovate.json rename updatecli-compose.yaml => update-compose.yaml (73%) diff --git a/.ci/updatecli/values.d/apm-data-spec.yml b/.ci/updatecli/values.d/apm-data-spec.yml index eda04f9f54..fd8c9e37f7 100644 --- a/.ci/updatecli/values.d/apm-data-spec.yml +++ b/.ci/updatecli/values.d/apm-data-spec.yml @@ -1 +1,2 @@ -apm_schema_specs_path: apm-agent-core/src/test/resources/apm-server-schema/current \ No newline at end of file +apm_schema_specs_path: apm-agent-core/src/test/resources/apm-server-schema/current +signedcommit: true \ No newline at end of file diff --git a/.ci/updatecli/values.d/apm-gherkin.yml b/.ci/updatecli/values.d/apm-gherkin.yml index 94a53a83ae..d676b58b2a 100644 --- a/.ci/updatecli/values.d/apm-gherkin.yml +++ b/.ci/updatecli/values.d/apm-gherkin.yml @@ -1 +1,2 @@ -apm_gherkin_specs_path: apm-agent-core/src/test/resources/specs \ No newline at end of file +apm_gherkin_specs_path: apm-agent-core/src/test/resources/specs +signedcommit: true \ No newline at end of file diff --git a/.ci/updatecli/values.d/apm-json-specs.yml b/.ci/updatecli/values.d/apm-json-specs.yml index 56874ee125..b1b70a8e69 100644 --- a/.ci/updatecli/values.d/apm-json-specs.yml +++ b/.ci/updatecli/values.d/apm-json-specs.yml @@ -1 +1,2 @@ -apm_json_specs_path: apm-agent-core/src/test/resources/json-specs \ No newline at end of file +apm_json_specs_path: apm-agent-core/src/test/resources/json-specs +signedcommit: true \ No newline at end of file diff --git a/.ci/updatecli/values.d/scm.yml b/.ci/updatecli/values.d/scm.yml index 15964e08e0..5cfcec7d2a 100644 --- a/.ci/updatecli/values.d/scm.yml +++ b/.ci/updatecli/values.d/scm.yml @@ -4,7 +4,6 @@ scm: repository: apm-agent-java apm_repository: apm branch: main - commitusingapi: true # begin update-compose policy values user: obltmachine email: obltmachine@users.noreply.github.com diff --git a/.ci/updatecli/values.d/update-compose.yml b/.ci/updatecli/values.d/update-compose.yml index 02df609f2a..8804f96618 100644 --- a/.ci/updatecli/values.d/update-compose.yml +++ b/.ci/updatecli/values.d/update-compose.yml @@ -1,3 +1,3 @@ spec: files: - - "updatecli-compose.yaml" \ No newline at end of file + - "update-compose.yaml" \ No newline at end of file diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index bcfc707160..809b6eda02 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -30,7 +30,7 @@ jobs: username: ${{ github.actor }} token: ${{ secrets.APM_TECH_USER_TOKEN }} - name: Add community and triage lables - if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' + if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' uses: actions/github-script@v7 with: script: | @@ -41,7 +41,7 @@ jobs: labels: ["community", "triage"] }) - name: Add comment for community PR - if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' + if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' uses: wow-actions/auto-comment@v1 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b8ea06f00b..4691fb2baa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -340,7 +340,7 @@ jobs: - uses: actions/checkout@v4 - name: Log in to the Elastic Container registry - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 with: registry: ${{ secrets.ELASTIC_DOCKER_REGISTRY }} username: ${{ secrets.ELASTIC_DOCKER_USERNAME }} diff --git a/.github/workflows/release-step-3.yml b/.github/workflows/release-step-3.yml index 5825547d0c..b7dd6d3ac5 100644 --- a/.github/workflows/release-step-3.yml +++ b/.github/workflows/release-step-3.yml @@ -105,7 +105,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3 + uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3 with: subject-path: "${{ github.workspace }}/**/target/*.jar" @@ -115,10 +115,10 @@ jobs: needs: - validate-tag steps: - - uses: elastic/oblt-actions/maven/await-artifact@v1 + - uses: elastic/apm-pipeline-library/.github/actions/await-maven-artifact@current with: - group-id: 'co.elastic.apm' - artifact-id: 'elastic-apm-agent' + groupid: 'co.elastic.apm' + artifactid: 'elastic-apm-agent' version: ${{ env.RELEASE_VERSION }} build-and-push-docker-images: @@ -136,7 +136,7 @@ jobs: fetch-depth: 0 # Load entire history as it is required for the push-script - name: Log in to the Elastic Container registry - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 with: registry: ${{ secrets.ELASTIC_DOCKER_REGISTRY }} username: ${{ secrets.ELASTIC_DOCKER_USERNAME }} diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index c6dbef3629..1b58ce6f6f 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -69,7 +69,7 @@ jobs: run: tar xvf ${{ env.TARBALL_FILE }} - name: generate build provenance - uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3 + uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3 with: subject-path: "${{ github.workspace }}/**/target/*.jar" @@ -80,7 +80,7 @@ jobs: - uses: actions/checkout@v4 - name: Log in to the Elastic Container registry - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 with: registry: ${{ secrets.ELASTIC_DOCKER_REGISTRY }} username: ${{ secrets.ELASTIC_DOCKER_USERNAME }} diff --git a/.github/workflows/stash/action.yml b/.github/workflows/stash/action.yml index 27d888f618..edcbdcbaec 100644 --- a/.github/workflows/stash/action.yml +++ b/.github/workflows/stash/action.yml @@ -17,7 +17,7 @@ runs: shell: bash - name: Upload stash - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: name: ${{ inputs.name }} path: ${{ runner.temp }}/${{ inputs.name }}.tar.zst diff --git a/.github/workflows/test-reporter.yml b/.github/workflows/test-reporter.yml index 15fcb7aa74..dae96d5e09 100644 --- a/.github/workflows/test-reporter.yml +++ b/.github/workflows/test-reporter.yml @@ -17,7 +17,7 @@ jobs: report: runs-on: ubuntu-latest steps: - - uses: elastic/oblt-actions/test-report@v1 + - uses: elastic/apm-pipeline-library/.github/actions/test-report@current with: artifact: /test-results-(.*)/ name: 'Test Results $1' diff --git a/.github/workflows/unstash/action.yml b/.github/workflows/unstash/action.yml index 320a646119..a62a7b7d1e 100644 --- a/.github/workflows/unstash/action.yml +++ b/.github/workflows/unstash/action.yml @@ -13,7 +13,7 @@ runs: using: "composite" steps: - name: Download stash - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v3 with: name: ${{ inputs.name }} path: ${{ runner.temp }} diff --git a/.github/workflows/updatecli.yml b/.github/workflows/updatecli.yml index c8f4b4fb08..99369c845d 100644 --- a/.github/workflows/updatecli.yml +++ b/.github/workflows/updatecli.yml @@ -17,19 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Get token - id: get_token - uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0 - with: - app_id: ${{ secrets.OBS_AUTOMATION_APP_ID }} - private_key: ${{ secrets.OBS_AUTOMATION_APP_PEM }} - permissions: >- - { - "contents": "write", - "pull_requests": "write" - } - - - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 + - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -39,13 +27,13 @@ jobs: with: command: --experimental compose diff env: - GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} + GITHUB_TOKEN: ${{ secrets.UPDATECLI_GH_TOKEN }} - uses: elastic/oblt-actions/updatecli/run@v1 with: command: --experimental compose apply env: - GITHUB_TOKEN: ${{ steps.get_token.outputs.token }} + GITHUB_TOKEN: ${{ secrets.UPDATECLI_GH_TOKEN }} - if: failure() uses: elastic/oblt-actions/slack/send@v1 diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 2d294d7773..1133b4fcb7 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -34,19 +34,6 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: [[release-notes-1.x]] === Java Agent version 1.x -[[release-notes-1.52.0]] -==== 1.52.0 - 2024/09/23 - -[float] -===== Bug fixes -* Fix log4j2 log correlation with shaded application jar - {pull}3764[#3764] -* Improve automatic span class name detection for Scala and nested/anonymous classes - {pull}3746[#3746] - -[float] -===== Features -* Added experimental option to capture HTTP client request bodies for Apache Http Client v4 and v5, HttpUrlConnection and Spring WebClient - {pull}3776[#3776], {pull}3962[#3962], {pull}3724[#3724], {pull}3754[#3754], {pull}3767[#3767] -* Agent health metrics now GA - {pull}3802[#3802] - [[release-notes-1.51.0]] ==== 1.51.0 - 2024/07/24 @@ -62,7 +49,6 @@ Use subheadings with the "=====" level for adding notes for unreleased changes: ===== Features * Added option to make routing-key part of RabbitMQ transaction/span names - {pull}3636[#3636] * Added internal option for capturing request bodies for apache httpclient v4 - {pull}3692[#3692] -* Added automatic module name to apm-agent-attach - {pull}3743[#3743] [[release-notes-1.50.0]] ==== 1.50.0 - 2024/05/28 diff --git a/Dockerfile.wolfi b/Dockerfile.wolfi index 348d6681b4..df2ecfc4eb 100644 --- a/Dockerfile.wolfi +++ b/Dockerfile.wolfi @@ -1,4 +1,4 @@ -FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:d4def25f2fd3b0ff9bc68091cd1d89524e41b7d3fc0d3b3a665720eb92145f3b +FROM docker.elastic.co/wolfi/chainguard-base@sha256:9f940409f96296ef56140bcc4665c204dd499af4c32c96cc00e792558097c3f1 RUN mkdir /usr/agent ARG JAR_FILE ARG HANDLER_FILE diff --git a/apm-agent-api/pom.xml b/apm-agent-api/pom.xml index 501e10e306..d427230e91 100644 --- a/apm-agent-api/pom.xml +++ b/apm-agent-api/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 apm-agent-api diff --git a/apm-agent-attach-cli/pom.xml b/apm-agent-attach-cli/pom.xml index bffc06a48c..065db587e5 100644 --- a/apm-agent-attach-cli/pom.xml +++ b/apm-agent-attach-cli/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-attach/pom.xml b/apm-agent-attach/pom.xml index c1d7dfa567..5b2c32d9b6 100644 --- a/apm-agent-attach/pom.xml +++ b/apm-agent-attach/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 apm-agent-attach @@ -165,13 +165,6 @@ - - - - ${project.groupId}.attach - - - diff --git a/apm-agent-benchmarks/pom.xml b/apm-agent-benchmarks/pom.xml index 3cb3f7fd5b..08222ecfc4 100644 --- a/apm-agent-benchmarks/pom.xml +++ b/apm-agent-benchmarks/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 apm-agent-benchmarks diff --git a/apm-agent-bootstrap/pom.xml b/apm-agent-bootstrap/pom.xml index c31662c60f..ecc5bcec1e 100644 --- a/apm-agent-bootstrap/pom.xml +++ b/apm-agent-bootstrap/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 apm-agent-bootstrap diff --git a/apm-agent-builds/apm-agent-java8/pom.xml b/apm-agent-builds/apm-agent-java8/pom.xml index a7c821252e..59a1a5fc3f 100644 --- a/apm-agent-builds/apm-agent-java8/pom.xml +++ b/apm-agent-builds/apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.52.0 + 1.51.0 apm-agent-java8 diff --git a/apm-agent-builds/apm-agent/pom.xml b/apm-agent-builds/apm-agent/pom.xml index 14a7edee69..0b7dd8d4b2 100644 --- a/apm-agent-builds/apm-agent/pom.xml +++ b/apm-agent-builds/apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-builds - 1.52.0 + 1.51.0 apm-agent diff --git a/apm-agent-builds/pom.xml b/apm-agent-builds/pom.xml index 83e5fa6f19..0029da24a6 100644 --- a/apm-agent-builds/pom.xml +++ b/apm-agent-builds/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-cached-lookup-key/pom.xml b/apm-agent-cached-lookup-key/pom.xml index 826062dde5..ae1c75e499 100644 --- a/apm-agent-cached-lookup-key/pom.xml +++ b/apm-agent-cached-lookup-key/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-common/pom.xml b/apm-agent-common/pom.xml index 7e74f56f6d..57cfb78bd2 100644 --- a/apm-agent-common/pom.xml +++ b/apm-agent-common/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-core/pom.xml b/apm-agent-core/pom.xml index 55a88c872d..db09a71f45 100644 --- a/apm-agent-core/pom.xml +++ b/apm-agent-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 apm-agent-core diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java index d0a14030f6..db67ada95f 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfigurationImpl.java @@ -93,7 +93,7 @@ public void assertValid(List buckets) { .key("agent_reporter_health_metrics") .configurationCategory(METRICS_CATEGORY) .description("Enables metrics which capture the health state of the agent's event reporting mechanism.") - .tags("added[1.35.0]") + .tags("added[1.35.0]", "experimental") .dynamic(false) .buildWithDefault(false); @@ -101,7 +101,7 @@ public void assertValid(List buckets) { .key("agent_background_overhead_metrics") .configurationCategory(METRICS_CATEGORY) .description("Enables metrics which capture the resource consumption of agent background tasks.") - .tags("added[1.35.0]") + .tags("added[1.35.0]", "experimental") .dynamic(false) .buildWithDefault(false); diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java index 8cdb1e4973..289a5f6fd2 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyCaptureImpl.java @@ -1,21 +1,3 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ package co.elastic.apm.agent.impl.context; import co.elastic.apm.agent.objectpool.Resetter; @@ -46,11 +28,9 @@ public void recycle(ByteBuffer object) { }); private enum CaptureState { - NOT_ELIGIBLE, // initial state - ELIGIBLE, // eligible but before preconditions evaluation - PRECONDITIONS_PASSED, // post preconditions (passed), can start capture - PRECONDITIONS_FAILED, // post preconditions (failed), no body will be captured - STARTED // the body capturing has been started, a buffer was acquired + NOT_ELIGIBLE, + ELIGIBLE, + STARTED } private volatile CaptureState state; @@ -76,7 +56,6 @@ public void resetState() { charset.setLength(0); if (bodyBuffer != null) { BYTE_BUFFER_POOL.recycle(bodyBuffer); - bodyBuffer = null; } } @@ -97,42 +76,17 @@ public boolean isEligibleForCapturing() { } @Override - public boolean havePreconditionsBeenChecked() { - return state == CaptureState.PRECONDITIONS_PASSED - || state == CaptureState.PRECONDITIONS_FAILED - || state == CaptureState.STARTED; - } - - @Override - public void markPreconditionsFailed() { - synchronized (this) { - if (state == CaptureState.ELIGIBLE) { - state = CaptureState.PRECONDITIONS_FAILED; - } - } - } - - @Override - public void markPreconditionsPassed(@Nullable String requestCharset, int numBytesToCapture) { + public boolean startCapture(@Nullable String requestCharset, int numBytesToCapture) { if (numBytesToCapture > WebConfiguration.MAX_BODY_CAPTURE_BYTES) { throw new IllegalArgumentException("Capturing " + numBytesToCapture + " bytes is not supported, maximum is " + WebConfiguration.MAX_BODY_CAPTURE_BYTES + " bytes"); } - synchronized (this) { - if (state == CaptureState.ELIGIBLE) { - if (requestCharset != null) { - this.charset.append(requestCharset); - } - this.numBytesToCapture = numBytesToCapture; - state = CaptureState.PRECONDITIONS_PASSED; - } - } - } - - @Override - public boolean startCapture() { - if (state == CaptureState.PRECONDITIONS_PASSED) { + if (state == CaptureState.ELIGIBLE) { synchronized (this) { - if (state == CaptureState.PRECONDITIONS_PASSED) { + if (state == CaptureState.ELIGIBLE) { + if (requestCharset != null) { + this.charset.append(requestCharset); + } + this.numBytesToCapture = numBytesToCapture; state = CaptureState.STARTED; return true; } diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java index 19ab8242e8..e1d3d50e86 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/SpanImpl.java @@ -27,30 +27,21 @@ import co.elastic.apm.agent.impl.context.SpanContextImpl; import co.elastic.apm.agent.impl.context.UrlImpl; import co.elastic.apm.agent.impl.stacktrace.StacktraceConfigurationImpl; +import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.util.ResultUtil; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; import co.elastic.apm.agent.tracer.Outcome; -import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.SpanEndListener; import co.elastic.apm.agent.tracer.pooling.Recyclable; -import co.elastic.apm.agent.tracer.util.ResultUtil; import co.elastic.apm.agent.util.CharSequenceUtils; import javax.annotation.Nullable; -import java.util.Collections; import java.util.List; import java.util.Objects; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; public class SpanImpl extends AbstractSpanImpl implements Recyclable, Span { - /** - * Protection against excessive memory usage and span ending run times: - * We limit the maximum allowed number of end listeners. - */ - static final int MAX_END_LISTENERS = 100; private static final Logger logger = LoggerFactory.getLogger(SpanImpl.class); public static final long MAX_LOG_INTERVAL_MICRO_SECS = TimeUnit.MINUTES.toMicros(5); private static long lastSpanMaxWarningTimestamp; @@ -84,9 +75,6 @@ public class SpanImpl extends AbstractSpanImpl implements Recyclable, @Nullable private List stackFrames; - private final Set> endListeners = - Collections.newSetFromMap(new ConcurrentHashMap, Boolean>()); - /** * If a span is non-discardable, all the spans leading up to it are non-discardable as well */ @@ -186,25 +174,6 @@ public SpanImpl withAction(@Nullable String action) { return this; } - @Override - public void addEndListener(SpanEndListener listener) { - if (endListeners.size() < MAX_END_LISTENERS) { - endListeners.add(listener); - } else { - if (logger.isDebugEnabled()) { - logger.warn("Not adding span end listener because limit is reached: {}," + - " throwable stacktrace will be added for debugging", listener, new Throwable()); - } else { - logger.warn("Not adding span end listener because limit is reached: {}", listener); - } - } - } - - @Override - public void removeEndListener(SpanEndListener listener) { - endListeners.remove(listener); - } - /** * Sets span.type, span.subtype and span.action. If no subtype and action are provided, assumes the legacy usage of hierarchical @@ -252,9 +221,6 @@ public String getAction() { @Override public void beforeEnd(long epochMicros) { - for (SpanEndListener endListener : endListeners) { - endListener.onEnd(this); - } // set outcome when not explicitly set by user nor instrumentation if (outcomeNotSet()) { Outcome outcome; @@ -510,7 +476,6 @@ public void resetState() { super.resetState(); context.resetState(); composite.resetState(); - endListeners.clear(); stacktrace = null; subtype = null; action = null; diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java index 2c9db32c97..141a987f6f 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/report/serialize/DslJsonSerializer.java @@ -62,13 +62,8 @@ import co.elastic.apm.agent.impl.transaction.TransactionImpl; import co.elastic.apm.agent.report.ApmServerClient; import co.elastic.apm.agent.sdk.internal.collections.LongList; -import co.elastic.apm.agent.sdk.internal.pooling.ObjectHandle; -import co.elastic.apm.agent.sdk.internal.pooling.ObjectPool; -import co.elastic.apm.agent.sdk.internal.pooling.ObjectPooling; -import co.elastic.apm.agent.sdk.internal.util.IOUtils; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.tracer.configuration.WebConfiguration; import co.elastic.apm.agent.tracer.metadata.PotentiallyMultiValuedMap; import co.elastic.apm.agent.tracer.metrics.DslJsonUtil; import co.elastic.apm.agent.tracer.metrics.Labels; @@ -84,10 +79,8 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; -import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.CharBuffer; -import java.nio.charset.CoderResult; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; @@ -95,7 +88,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.concurrent.Callable; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; @@ -112,13 +104,6 @@ public class DslJsonSerializer { private static final Logger logger = LoggerFactory.getLogger(DslJsonSerializer.class); private static final List excludedStackFramesPrefixes = Arrays.asList("java.lang.reflect.", "com.sun.", "sun.", "jdk.internal."); - private static final ObjectPool> REQUEST_BODY_BUFFER_POOL = ObjectPooling.createWithDefaultFactory(new Callable() { - @Override - public CharBuffer call() throws Exception { - return CharBuffer.allocate(WebConfiguration.MAX_BODY_CAPTURE_BYTES); - } - }); - private final StacktraceConfigurationImpl stacktraceConfiguration; private final ApmServerClient apmServerClient; @@ -1069,7 +1054,22 @@ private void serializeSpanLinks(List spanLinks) { } private void serializeOTel(SpanImpl span) { - serializeOtel(span, Collections.emptyList(), span.getContext().getHttp().getRequestBody()); + serializeOtel(span, Collections.emptyList(), requestBodyToString(span.getContext().getHttp().getRequestBody())); + } + + @Nullable + private CharSequence requestBodyToString(BodyCaptureImpl requestBody) { + //TODO: perform proper, charset aware conversion to string + ByteBuffer buffer = requestBody.getBody(); + if (buffer == null || buffer.position() == 0) { + return null; + } + buffer.flip(); + StringBuilder result = new StringBuilder(); + while (buffer.hasRemaining()) { + result.append((char) buffer.get()); + } + return result; } private void serializeOTel(TransactionImpl transaction) { @@ -1079,12 +1079,11 @@ private void serializeOTel(TransactionImpl transaction) { } } - private void serializeOtel(AbstractSpanImpl span, List profilingStackTraceIds, @Nullable BodyCaptureImpl httpRequestBody) { + private void serializeOtel(AbstractSpanImpl span, List profilingStackTraceIds, @Nullable CharSequence httpRequestBody) { OTelSpanKind kind = span.getOtelKind(); Map attributes = span.getOtelAttributes(); - boolean hasRequestBody = httpRequestBody != null && httpRequestBody.getBody() != null; - boolean hasAttributes = !attributes.isEmpty() || !profilingStackTraceIds.isEmpty() || hasRequestBody; + boolean hasAttributes = !attributes.isEmpty() || !profilingStackTraceIds.isEmpty() || httpRequestBody != null; boolean hasKind = kind != null; if (hasKind || hasAttributes) { writeFieldName("otel"); @@ -1134,12 +1133,12 @@ private void serializeOtel(AbstractSpanImpl span, List profilingStack } jw.writeByte(ARRAY_END); } - if (hasRequestBody) { + if (httpRequestBody != null) { if (!isFirstAttrib) { jw.writeByte(COMMA); } writeFieldName("http.request.body.content"); - writeRequestBodyAsString(jw, httpRequestBody); + jw.writeString(httpRequestBody); } jw.writeByte(OBJECT_END); } @@ -1149,38 +1148,6 @@ private void serializeOtel(AbstractSpanImpl span, List profilingStack } } - - private void writeRequestBodyAsString(JsonWriter jw, BodyCaptureImpl requestBody) { - try (ObjectHandle charBufferHandle = REQUEST_BODY_BUFFER_POOL.createInstance()) { - CharBuffer charBuffer = charBufferHandle.get(); - try { - decodeRequestBodyBytes(requestBody, charBuffer); - charBuffer.flip(); - jw.writeString(charBuffer); - } finally { - ((Buffer) charBuffer).clear(); - } - } - } - - private void decodeRequestBodyBytes(BodyCaptureImpl requestBody, CharBuffer charBuffer) { - ByteBuffer bodyBytes = requestBody.getBody(); - ((Buffer) bodyBytes).flip(); //make ready for reading - CharSequence charset = requestBody.getCharset(); - if (charset != null) { - CoderResult result = IOUtils.decode(bodyBytes, charBuffer, charset.toString()); - if (result != null && !result.isMalformed() && !result.isUnmappable()) { - return; - } - } - //fallback to decoding by simply casting bytes to chars - ((Buffer) bodyBytes).position(0); - ((Buffer) charBuffer).clear(); - while (bodyBytes.hasRemaining()) { - charBuffer.put((char) (((int) bodyBytes.get()) & 0xFF)); - } - } - private void serializeNumber(Number n, JsonWriter jw) { if (n instanceof Integer) { NumberConverter.serialize(n.intValue(), jw); diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureTest.java similarity index 50% rename from apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java rename to apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureTest.java index 26ea3172c0..2c53ef665b 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureImplTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/context/BodyCaptureTest.java @@ -1,21 +1,3 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ package co.elastic.apm.agent.impl.context; import org.junit.jupiter.api.Test; @@ -26,14 +8,13 @@ import static co.elastic.apm.agent.testutils.assertions.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -public class BodyCaptureImplTest { +public class BodyCaptureTest { @Test public void testAppendTruncation() { BodyCaptureImpl capture = new BodyCaptureImpl(); capture.markEligibleForCapturing(); - capture.markPreconditionsPassed("foobar", 10); - capture.startCapture(); + capture.startCapture("foobar", 10); assertThat(capture.isFull()).isFalse(); capture.append("123Hello World!".getBytes(StandardCharsets.UTF_8), 3, 5); @@ -56,31 +37,20 @@ public void testLifecycle() { BodyCaptureImpl capture = new BodyCaptureImpl(); assertThat(capture.isEligibleForCapturing()).isFalse(); - assertThat(capture.havePreconditionsBeenChecked()).isFalse(); - assertThat(capture.startCapture()) + assertThat(capture.startCapture("foobar", 42)) .isFalse(); assertThatThrownBy(() -> capture.append((byte) 42)).isInstanceOf(IllegalStateException.class); capture.markEligibleForCapturing(); assertThat(capture.isEligibleForCapturing()).isTrue(); - assertThat(capture.havePreconditionsBeenChecked()).isFalse(); assertThatThrownBy(() -> capture.append((byte) 42)).isInstanceOf(IllegalStateException.class); - capture.markPreconditionsPassed("foobar", 42); - assertThat(capture.isEligibleForCapturing()).isTrue(); - assertThat(capture.havePreconditionsBeenChecked()).isTrue(); - - - assertThat(capture.startCapture()).isTrue(); + assertThat(capture.startCapture("foobar", 42)) + .isTrue(); capture.append((byte) 42); //ensure no exception thrown // startCapture should return true only once - assertThat(capture.havePreconditionsBeenChecked()).isTrue(); - assertThat(capture.startCapture()).isFalse(); - assertThat(capture.havePreconditionsBeenChecked()).isTrue(); - - capture.resetState(); - assertThat(capture.getCharset()).isNull(); - assertThat(capture.getBody()).isNull(); + assertThat(capture.startCapture("foobar", 42)) + .isFalse(); } } diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java index a7d85f9a9c..6e571b0570 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanTest.java @@ -26,25 +26,19 @@ import co.elastic.apm.agent.impl.sampling.ConstantSampler; import co.elastic.apm.agent.objectpool.TestObjectPoolFactory; import co.elastic.apm.agent.tracer.Outcome; -import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.SpanEndListener; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import org.mockito.Mockito; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoInteractions; public class SpanTest { @@ -93,64 +87,6 @@ void testOutcomeExplicitlyToUnknown() { assertThat(span.getOutcome()).isEqualTo(Outcome.UNKNOWN); } - @Test - void checkEndListenersConcurrencySafe() { - TransactionImpl transaction = new TransactionImpl(tracer); - transaction.startRoot(0, ConstantSampler.of(true), BaggageImpl.EMPTY); - try { - SpanImpl span = new SpanImpl(tracer); - span.start(TraceContextImpl.fromParent(), transaction, BaggageImpl.EMPTY, -1L); - - AtomicInteger invocationCounter = new AtomicInteger(); - SpanEndListener> callback = new SpanEndListener>() { - @Override - public void onEnd(Span span) { - span.removeEndListener(this); - invocationCounter.incrementAndGet(); - } - }; - span.addEndListener(callback); - span.end(); - assertThat(invocationCounter.get()).isEqualTo(1); - } finally { - transaction.end(); - } - - } - - @Test - @SuppressWarnings("unchecked") - void checkEndListenersLimit() { - TransactionImpl transaction = new TransactionImpl(tracer); - transaction.startRoot(0, ConstantSampler.of(true), BaggageImpl.EMPTY); - try { - SpanImpl span = new SpanImpl(tracer); - span.start(TraceContextImpl.fromParent(), transaction, BaggageImpl.EMPTY, -1L); - - for (int i = 0; i < SpanImpl.MAX_END_LISTENERS - 1; i++) { - span.addEndListener(new SpanEndListener() { - @Override - public void onEnd(SpanImpl span) { - - } - }); - } - - SpanEndListener invokeMe = (SpanEndListener) Mockito.mock(SpanEndListener.class); - SpanEndListener dontInvokeMe = (SpanEndListener) Mockito.mock(SpanEndListener.class); - span.addEndListener(invokeMe); - span.addEndListener(dontInvokeMe); - - span.end(); - - verify(invokeMe).onEnd(span); - verifyNoInteractions(dontInvokeMe); - } finally { - transaction.end(); - } - - } - @Test void normalizeEmptyFields() { SpanImpl span = new SpanImpl(tracer) diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java index 834a9c7f26..7006fd0fa8 100644 --- a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java +++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/serialize/DslJsonSerializerTest.java @@ -57,7 +57,6 @@ import co.elastic.apm.agent.report.ApmServerClient; import co.elastic.apm.agent.sdk.internal.collections.LongList; import co.elastic.apm.agent.sdk.internal.util.IOUtils; -import co.elastic.apm.agent.tracer.configuration.WebConfiguration; import com.dslplatform.json.JsonWriter; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; @@ -75,7 +74,6 @@ import javax.annotation.Nullable; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.nio.CharBuffer; import java.nio.charset.StandardCharsets; import java.util.Arrays; @@ -434,54 +432,18 @@ void testSpanHttpContextSerialization() { } @Test - void testSpanHttpRequestBodySerialization() throws UnsupportedEncodingException { - String noBody = extractRequestBodyJson(createSpanWithRequestBody(null, "utf-8")); - assertThat(noBody).isNull(); - - String emptyBody = extractRequestBodyJson(createSpanWithRequestBody(new byte[0], "utf-8")); - assertThat(emptyBody).isEqualTo(""); - - String invalidCharset = extractRequestBodyJson(createSpanWithRequestBody("testö".getBytes("utf-8"), "bad charset!")); - assertThat(invalidCharset).isEqualTo("testö"); - - String noCharset = extractRequestBodyJson(createSpanWithRequestBody("testö".getBytes("utf-8"), null)); - assertThat(noCharset).isEqualTo("testö"); - - String utf8 = extractRequestBodyJson(createSpanWithRequestBody("special charßßß!äöü".getBytes("utf-8"), "utf-8")); - assertThat(utf8).isEqualTo("special charßßß!äöü"); - - String utf16 = extractRequestBodyJson(createSpanWithRequestBody("special charßßß!äöü".getBytes("utf-16"), "utf-16")); - assertThat(utf16).isEqualTo("special charßßß!äöü"); + void testSpanHttpRequestBodySerialization() { + SpanImpl span = new SpanImpl(tracer); - String invalidUtf8Sequence = extractRequestBodyJson(createSpanWithRequestBody(new byte[]{'t', 'e', 's', 't', (byte) 0xC2, (byte) 0xC2}, "utf-8")); - assertThat(invalidUtf8Sequence).isEqualTo("testÂÂ"); - } + BodyCaptureImpl bodyCapture = span.getContext().getHttp().getRequestBody(); + bodyCapture.markEligibleForCapturing(); + bodyCapture.startCapture("utf-8", 50); + bodyCapture.append("foobar".getBytes(StandardCharsets.UTF_8), 0, 6); - private String extractRequestBodyJson(SpanImpl span) { JsonNode spanJson = readJsonString(writer.toJsonString(span)); JsonNode otel = spanJson.get("otel"); - if (otel == null) { - return null; - } JsonNode attribs = otel.get("attributes"); - JsonNode bodyContent = attribs.get("http.request.body.content"); - if (bodyContent == null) { - return null; - } - return bodyContent.textValue(); - } - - private SpanImpl createSpanWithRequestBody(@Nullable byte[] bodyBytes, @Nullable String charset) { - SpanImpl span = new SpanImpl(tracer); - BodyCaptureImpl bodyCapture = span.getContext().getHttp().getRequestBody(); - bodyCapture.markEligibleForCapturing(); - bodyCapture.markPreconditionsPassed(charset, WebConfiguration.MAX_BODY_CAPTURE_BYTES); - bodyCapture.startCapture(); - - if (bodyBytes != null) { - bodyCapture.append(bodyBytes, 0, bodyBytes.length); - } - return span; + assertThat(attribs.get("http.request.body.content").textValue()).isEqualTo("foobar"); } public static boolean[][] getContentCombinations() { diff --git a/apm-agent-lambda-layer/pom.xml b/apm-agent-lambda-layer/pom.xml index 64f28e3f23..efd720b954 100644 --- a/apm-agent-lambda-layer/pom.xml +++ b/apm-agent-lambda-layer/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugin-sdk/pom.xml b/apm-agent-plugin-sdk/pom.xml index d3e44b9f5b..7217eddb6f 100644 --- a/apm-agent-plugin-sdk/pom.xml +++ b/apm-agent-plugin-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java deleted file mode 100644 index d8c327d0ed..0000000000 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParser.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy; - -/** - * Utility class to extract the correct simple class name - */ -public class ClassNameParser { - /** - * Utility class, do not instantiate - */ - private ClassNameParser() {} - /** - * returns true if the string only contains digits - * @param str the string to check - * @return - */ - private static boolean isNumeric(String str) { - for(int i = 0; i< str.length(); i++) { - if(!Character.isDigit(str.charAt(i))) { - return false; - } - } - return true; - } - /** - * this method parses the anonymous class name from the full class name - * @param className - * @return - */ - private static String getAnonymousClassName(String className) { - int lastDollarIndex = className.lastIndexOf('$'); - int currentDollarIndex; - String nestedClassName; - // we do not want to show just a number for anonymous classes, so we walk back until we find a named (normal or nested) class - do { - currentDollarIndex = className.lastIndexOf('$', lastDollarIndex -1); - nestedClassName = className.substring(currentDollarIndex + 1, lastDollarIndex); - lastDollarIndex = currentDollarIndex; - } while(currentDollarIndex != -1 && isNumeric(nestedClassName)); - return className.substring(currentDollarIndex + 1); - } - /** - * Parses the class name from nested and anonymous classes (containing a $ sign) - *

- * Note: We cannot know if the $ sign is part of the class name or denotes a nested/anonymous class. As $ signs should not be used in class names anyway, - * we handle them always as a class separator - *

- * @param className - * @return - */ - private static String getNestedClassName(String className) { - int dollarIndex = className.lastIndexOf('$'); - String innerClassName = className.substring(dollarIndex + 1); - if(isNumeric(innerClassName)) { - // this is an anonymous inner class - className = getAnonymousClassName(className); - } else { - className = innerClassName; - } - return className; - } - /** - * Parses the simple class name from a class name - * @param className - * @return - */ - public static String parse(String className) { - //remove package name - className = className.substring(className.lastIndexOf('.') + 1); - if(className.contains("$")) { - if(className.endsWith("$")) { - // this can happen if the source code was in Scala and the object keyword was used - // https://www.toptal.com/scala/scala-bytecode-and-the-jvm - className = className.substring(0, className.length() - 1); - if(className.contains("$")) - { - className = getNestedClassName(className); - } - } else { - className = getNestedClassName(className); - } - } - return className; - } -} diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java index c2a07a593d..f7af74d8a0 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchers.java @@ -19,9 +19,9 @@ package co.elastic.apm.agent.sdk.bytebuddy; import co.elastic.apm.agent.sdk.internal.InternalUtil; -import co.elastic.apm.agent.sdk.internal.util.PrivilegedActionUtils; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; +import co.elastic.apm.agent.sdk.internal.util.PrivilegedActionUtils; import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent; import co.elastic.apm.agent.sdk.weakconcurrent.WeakMap; import net.bytebuddy.description.NamedElement; @@ -31,7 +31,6 @@ import javax.annotation.Nullable; import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.net.JarURLConnection; import java.net.URISyntaxException; import java.net.URL; @@ -39,13 +38,13 @@ import java.security.CodeSource; import java.security.ProtectionDomain; import java.util.Collection; -import java.util.Properties; import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; -import java.util.zip.ZipEntry; -import static net.bytebuddy.matcher.ElementMatchers.*; +import static net.bytebuddy.matcher.ElementMatchers.nameContains; +import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; +import static net.bytebuddy.matcher.ElementMatchers.none; public class CustomElementMatchers { @@ -184,23 +183,15 @@ public static ElementMatcher.Junction isProxy() { * @param version the version to check against * @return an LTE SemVer matcher */ - public static ElementMatcher.Junction implementationVersionLte(String version) { - return implementationVersion(version, Matcher.LTE, null, null); + public static ElementMatcher.Junction implementationVersionLte(final String version) { + return implementationVersion(version, Matcher.LTE); } - public static ElementMatcher.Junction implementationVersionGte(String version) { - return implementationVersion(version, Matcher.GTE, null, null); + public static ElementMatcher.Junction implementationVersionGte(final String version) { + return implementationVersion(version, Matcher.GTE); } - public static ElementMatcher.Junction implementationVersionLte(String version, String groupId, String artifactId) { - return implementationVersion(version, Matcher.LTE, groupId, artifactId); - } - - public static ElementMatcher.Junction implementationVersionGte(String version, String groupId, String artifactId) { - return implementationVersion(version, Matcher.GTE, groupId, artifactId); - } - - private static ElementMatcher.Junction implementationVersion(final String version, final Matcher matcher, @Nullable final String mavenGroupId, @Nullable final String mavenArtifactId) { + private static ElementMatcher.Junction implementationVersion(final String version, final Matcher matcher) { return new ElementMatcher.Junction.AbstractBase() { /** * Returns true if the implementation version read from the manifest file referenced by the given @@ -214,7 +205,7 @@ private static ElementMatcher.Junction implementationVersion(f @Override public boolean matches(@Nullable ProtectionDomain protectionDomain) { try { - Version pdVersion = readImplementationVersion(protectionDomain, mavenGroupId, mavenArtifactId); + Version pdVersion = readImplementationVersionFromManifest(protectionDomain); if (pdVersion != null) { Version limitVersion = Version.of(version); return matcher.match(pdVersion, limitVersion); @@ -230,51 +221,22 @@ public boolean matches(@Nullable ProtectionDomain protectionDomain) { } @Nullable - private static Version readImplementationVersion(@Nullable ProtectionDomain protectionDomain, @Nullable String mavenGroupId, @Nullable String mavenArtifactId) throws IOException, URISyntaxException { + private static Version readImplementationVersionFromManifest(@Nullable ProtectionDomain protectionDomain) throws IOException, URISyntaxException { Version version = null; JarFile jarFile = null; - - if (protectionDomain == null) { - logger.info("Cannot read implementation version - got null ProtectionDomain"); - return null; - } - try { - CodeSource codeSource = protectionDomain.getCodeSource(); - if (codeSource != null) { - URL jarUrl = codeSource.getLocation(); - if (jarUrl != null) { - // does not yet establish an actual connection - URLConnection urlConnection = jarUrl.openConnection(); - if (urlConnection instanceof JarURLConnection) { - jarFile = ((JarURLConnection) urlConnection).getJarFile(); - } else { - jarFile = new JarFile(new File(jarUrl.toURI())); - } - - // read maven properties first as they have higher priority over manifest - // this is mostly for shaded libraries in "fat-jar" applications - if (mavenGroupId != null && mavenArtifactId != null) { - ZipEntry zipEntry = jarFile.getEntry(String.format("META-INF/maven/%s/%s/pom.properties", mavenGroupId, mavenArtifactId)); - if (zipEntry != null) { - Properties properties = new Properties(); - try (InputStream input = jarFile.getInputStream(zipEntry)) { - properties.load(input); - } - if (mavenGroupId.equals(properties.getProperty("groupId")) && mavenArtifactId.equals(properties.getProperty("artifactId"))) { - String stringVersion = properties.getProperty("version"); - if (stringVersion != null) { - version = Version.of(stringVersion); - } - } + if (protectionDomain != null) { + CodeSource codeSource = protectionDomain.getCodeSource(); + if (codeSource != null) { + URL jarUrl = codeSource.getLocation(); + if (jarUrl != null) { + // does not yet establish an actual connection + URLConnection urlConnection = jarUrl.openConnection(); + if (urlConnection instanceof JarURLConnection) { + jarFile = ((JarURLConnection) urlConnection).getJarFile(); + } else { + jarFile = new JarFile(new File(jarUrl.toURI())); } - } - - // reading manifest if library packaged as a jar - // - // doing this after maven properties is important as it might report executable jar version - // when application is packaged as a "fat jar" - if (version == null) { Manifest manifest = jarFile.getManifest(); if (manifest != null) { Attributes attributes = manifest.getMainAttributes(); @@ -286,9 +248,12 @@ private static Version readImplementationVersion(@Nullable ProtectionDomain prot if (manifestVersion != null) { version = Version.of(manifestVersion); } + } } } + } else { + logger.info("Cannot read implementation version - got null ProtectionDomain"); } } finally { if (jarFile != null) { diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java index 3df8507ea1..d0bc841cd6 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/bytebuddy/SimpleMethodSignatureOffsetMappingFactory.java @@ -51,7 +51,8 @@ public Advice.OffsetMapping make(ParameterDescription.InDefinedShape target, public Target resolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod, Assigner assigner, Advice.ArgumentHandler argumentHandler, Sort sort) { final String className = instrumentedMethod.getDeclaringType().getTypeName(); - final String simpleClassName = ClassNameParser.parse(className); + String simpleClassName = className.substring(className.lastIndexOf('$') + 1); + simpleClassName = simpleClassName.substring(simpleClassName.lastIndexOf('.') + 1); final String signature = String.format("%s#%s", simpleClassName, instrumentedMethod.getName()); return Target.ForStackManipulation.of(signature); } diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java index ac94df308e..d432a08901 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/internal/util/IOUtils.java @@ -23,77 +23,31 @@ import co.elastic.apm.agent.sdk.internal.pooling.ObjectPool; import co.elastic.apm.agent.sdk.internal.pooling.ObjectPooling; -import javax.annotation.Nullable; import java.io.IOException; import java.io.InputStream; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.CharBuffer; -import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.charset.CoderResult; -import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.StandardCharsets; -import java.nio.charset.UnsupportedCharsetException; -import java.util.Collections; -import java.util.Map; -import java.util.Set; import java.util.concurrent.Callable; -import java.util.concurrent.ConcurrentHashMap; public class IOUtils { protected static final int BYTE_BUFFER_CAPACITY = 2048; - private static final ObjectPool> BYTE_BUFFER_POOL = ObjectPooling.createWithDefaultFactory(new Callable() { - @Override - public ByteBuffer call() throws Exception { - return ByteBuffer.allocate(BYTE_BUFFER_CAPACITY); - } - }); - - private static final Set UNSUPPORTED_CHARSETS = Collections.newSetFromMap(new ConcurrentHashMap()); - private static final Map>> DECODER_POOLS - = new ConcurrentHashMap>>(); - - private static final String UTF8_CHARSET_NAME = StandardCharsets.UTF_8.name().toLowerCase(); - - @Nullable - private static ObjectHandle getPooledCharsetDecoder(String charsetName) { - if (!isLowerCase(charsetName)) { - charsetName = charsetName.toLowerCase(); - } - ObjectPool> decoderPool = DECODER_POOLS.get(charsetName); - if (decoderPool != null) { - return decoderPool.createInstance(); - } - if (UNSUPPORTED_CHARSETS.contains(charsetName)) { - return null; - } - try { - final Charset charset = Charset.forName(charsetName); - decoderPool = ObjectPooling.createWithDefaultFactory(new Callable() { - @Override - public CharsetDecoder call() throws Exception { - return charset.newDecoder(); - } - }); - DECODER_POOLS.put(charsetName, decoderPool); - return decoderPool.createInstance(); - } catch (IllegalCharsetNameException | UnsupportedCharsetException e) { - UNSUPPORTED_CHARSETS.add(charsetName); - return null; - } + private static class DecoderWithBuffer { + final ByteBuffer byteBuffer = java.nio.ByteBuffer.allocate(BYTE_BUFFER_CAPACITY); + final CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder(); } - private static boolean isLowerCase(String charsetName) { - for (int i = 0; i < charsetName.length(); i++) { - if (!Character.isLowerCase(charsetName.charAt(i))) { - return false; - } + private static final ObjectPool> POOL = ObjectPooling.createWithDefaultFactory(new Callable() { + @Override + public DecoderWithBuffer call() throws Exception { + return new DecoderWithBuffer(); } - return true; - } + }); /** @@ -113,12 +67,9 @@ private static boolean isLowerCase(String charsetName) { */ public static boolean readUtf8Stream(final InputStream is, final CharBuffer charBuffer) throws IOException { // to be compatible with Java 8, we have to cast to buffer because of different return types - try ( - ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); - ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); - ) { - final ByteBuffer buffer = bufferHandle.get(); - final CharsetDecoder charsetDecoder = decoderHandle.get(); + try (ObjectHandle pooled = POOL.createInstance()) { + final ByteBuffer buffer = pooled.get().byteBuffer; + final CharsetDecoder charsetDecoder = pooled.get().decoder; try { final byte[] bufferArray = buffer.array(); for (int read = is.read(bufferArray); read != -1; read = is.read(bufferArray)) { @@ -192,11 +143,9 @@ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final CharBuffer c * @return a {@link CoderResult}, indicating the success or failure of the decoding */ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final int offset, final int length, final CharBuffer charBuffer) { - try ( - ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); - ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); - ) { - final ByteBuffer pooledBuffer = bufferHandle.get(); + try (ObjectHandle pooled = POOL.createInstance()) { + final ByteBuffer pooledBuffer = pooled.get().byteBuffer; + final CharsetDecoder charsetDecoder = pooled.get().decoder; // to be compatible with Java 8, we have to cast to buffer because of different return types final ByteBuffer buffer; if (pooledBuffer.capacity() < length) { @@ -208,7 +157,7 @@ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final int offset, ((Buffer) buffer).position(0); ((Buffer) buffer).limit(length); } - return decode(charBuffer, buffer, decoderHandle.get()); + return decode(charBuffer, buffer, charsetDecoder); } } @@ -234,25 +183,21 @@ public static CoderResult decodeUtf8Bytes(final byte[] bytes, final int offset, */ public static CoderResult decodeUtf8Byte(final byte b, final CharBuffer charBuffer) { // to be compatible with Java 8, we have to cast to buffer because of different return types - try ( - ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); - ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); - ) { - final ByteBuffer buffer = bufferHandle.get(); + try (ObjectHandle pooled = POOL.createInstance()) { + final ByteBuffer buffer = pooled.get().byteBuffer; + final CharsetDecoder charsetDecoder = pooled.get().decoder; buffer.put(b); ((Buffer) buffer).position(0); ((Buffer) buffer).limit(1); - return decode(charBuffer, buffer, decoderHandle.get()); + return decode(charBuffer, buffer, charsetDecoder); } } public static CoderResult decodeUtf8BytesFromSource(ByteSourceReader reader, T src, final CharBuffer dest) { // to be compatible with Java 8, we have to cast to buffer because of different return types - try ( - ObjectHandle bufferHandle = BYTE_BUFFER_POOL.createInstance(); - ObjectHandle decoderHandle = getPooledCharsetDecoder(UTF8_CHARSET_NAME); - ) { - final ByteBuffer buffer = bufferHandle.get(); + try (ObjectHandle pooled = POOL.createInstance()) { + final ByteBuffer buffer = pooled.get().byteBuffer; + final CharsetDecoder charsetDecoder = pooled.get().decoder; int readableBytes = reader.availableBytes(src); CoderResult result = null; while (readableBytes > 0) { @@ -261,7 +206,7 @@ public static CoderResult decodeUtf8BytesFromSource(ByteSourceReader read ((Buffer) buffer).position(0); reader.readInto(src, buffer); ((Buffer) buffer).position(0); - result = decode(dest, buffer, decoderHandle.get()); + result = decode(dest, buffer, charsetDecoder); if (result.isError() || result.isOverflow()) { return result; } @@ -272,45 +217,12 @@ public static CoderResult decodeUtf8BytesFromSource(ByteSourceReader read } } - @Nullable - public static byte[] copyToByteArray(@Nullable ByteBuffer buf) { - if (buf == null) { - return null; - } - byte[] data = new byte[buf.position()]; - buf.position(0); - buf.get(data); - return data; - } - public interface ByteSourceReader { int availableBytes(S source); void readInto(S source, ByteBuffer into); } - /** - * @param input the byte data to decode - * @param output the buffer to decode into - * @param charsetName the name of the charset - * @return null, if the charset is not known/supported. Otherwise the result of the decoding operation. - */ - @Nullable - public static CoderResult decode(ByteBuffer input, CharBuffer output, String charsetName) { - try (ObjectHandle decoderHandle = getPooledCharsetDecoder(charsetName)) { - if (decoderHandle == null) { - return null; //charset is unsupported - } - CharsetDecoder charsetDecoder = decoderHandle.get(); - try { - final CoderResult coderResult = charsetDecoder.decode(input, output, true); - charsetDecoder.flush(output); - return coderResult; - } finally { - charsetDecoder.reset(); - } - } - } private static CoderResult decode(CharBuffer charBuffer, ByteBuffer buffer, CharsetDecoder charsetDecoder) { try { diff --git a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java index 72e8129253..267faca882 100644 --- a/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java +++ b/apm-agent-plugin-sdk/src/main/java/co/elastic/apm/agent/sdk/state/CallDepth.java @@ -108,7 +108,7 @@ public boolean isNestedCallAndDecrement() { return decrement() != 0; } - public int get() { + private int get() { Integer callDepthForCurrentThread = callDepthPerThread.get(); if (callDepthForCurrentThread == null) { callDepthForCurrentThread = 0; diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java deleted file mode 100644 index bc76d3dd18..0000000000 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/ClassNameParserTest.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy; - -import static org.assertj.core.api.Assertions.*; - -import org.junit.jupiter.api.Test; - -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ParentClass.InnerClass; -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ParentClass.InnerClass.NestedInnerClass; -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ParentObject.ChildScalaObject$; -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.SimpleClass; -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.AnonymousClass; -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.AnonymousNestedClass; -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.Dollar$Class; -import co.elastic.apm.agent.sdk.bytebuddy.clazzes.ScalaObject$; - -class ClassNameParserTest { - - @Test - void testSimpleClassName() { - String className = ClassNameParser.parse(SimpleClass.class.getName()); - assertThat(className).isEqualTo("SimpleClass"); - } - @Test - void testNestedClassName() { - String className = ClassNameParser.parse(InnerClass.class.getName()); - assertThat(className).isEqualTo("InnerClass"); - } - @Test - void testDoubleNestedClassName() { - String className = ClassNameParser.parse(NestedInnerClass.class.getName()); - assertThat(className).isEqualTo("NestedInnerClass"); - } - @Test - void testDollarClassName() { - String className = ClassNameParser.parse(Dollar$Class.class.getName()); - //We have no way to know if the class name is Dollar$Class or Class is a nested class of Dollar - //As dollar signs should not be used in names, it should be fine to detect Class instead of Dollar$Class - assertThat(className).describedAs("Dollar signs should not be used in names").isEqualTo("Class"); - } - @Test - void testAnonymousClassName() { - String className = ClassNameParser.parse(AnonymousClass.getAnonymousClass().getName()); - assertThat(className).isEqualTo("AnonymousClass$1"); - } - @Test - void testAnonymousNestedClassName() { - String className = ClassNameParser.parse(InnerClass.getAnonymousClass().getName()); - assertThat(className).isEqualTo("InnerClass$1"); - } - @Test - void testAnonymousInAnonymousClassName() { - String className = ClassNameParser.parse(AnonymousNestedClass.getAnonymousClass().getName()); - assertThat(className).isEqualTo("AnonymousNestedClass$1$1"); - } - @Test - void testScalaObjectClassName() { - String className = ClassNameParser.parse(ScalaObject$.class.getName()); - assertThat(className).isEqualTo("ScalaObject"); - } - @Test - void testNestedScalaObjectClassName() { - String className = ClassNameParser.parse(ChildScalaObject$.class.getName()); - assertThat(className).isEqualTo("ChildScalaObject"); - } -} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java index 20398a47bd..8e6bc0ab5b 100644 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java +++ b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/CustomElementMatchersTest.java @@ -18,36 +18,22 @@ */ package co.elastic.apm.agent.sdk.bytebuddy; -import net.bytebuddy.description.type.TypeDescription; import org.apache.http.client.HttpClient; + +import net.bytebuddy.description.type.TypeDescription; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.io.TempDir; import java.io.File; -import java.io.IOException; import java.net.MalformedURLException; -import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.security.CodeSigner; import java.security.CodeSource; import java.security.ProtectionDomain; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.implementationVersionGte; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.implementationVersionLte; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.isAgentClassLoader; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.isInAnyPackage; -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.isInternalPluginClassLoader; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.*; import static net.bytebuddy.matcher.ElementMatchers.none; import static org.assertj.core.api.Assertions.assertThat; @@ -77,38 +63,6 @@ void testSemVerLteWithEncodedFileUrl() throws MalformedURLException, URISyntaxEx assertThat(implementationVersionLte("2.1.9").matches(protectionDomain)).isTrue(); } - @Test - void testSemVerFallbackOnMavenProperties(@TempDir Path tempDir) throws URISyntaxException, IOException { - // Relying on Apache httpclient-4.5.6.jar - // creates a copy of the jar without the manifest so we should parse maven properties - URL originalUrl = HttpClient.class.getProtectionDomain().getCodeSource().getLocation(); - Path modifiedJar = tempDir.resolve("test.jar"); - try { - Files.copy(Paths.get(originalUrl.toURI()), modifiedJar); - - Map fsProperties = new HashMap<>(); - fsProperties.put("create", "false"); - - URI fsUri = URI.create("jar:" + modifiedJar.toUri()); - try (FileSystem zipFs = FileSystems.newFileSystem(fsUri, fsProperties)) { - Files.delete(zipFs.getPath("META-INF", "MANIFEST.MF")); - } - - ProtectionDomain protectionDomain = new ProtectionDomain(new CodeSource(modifiedJar.toUri().toURL(), new CodeSigner[0]), null); - - assertThat(implementationVersionLte("4.5.5", "org.apache.httpcomponents", "httpclient").matches(protectionDomain)).isFalse(); - assertThat(implementationVersionLte("4.5.6", "org.apache.httpcomponents", "httpclient").matches(protectionDomain)).isTrue(); - assertThat(implementationVersionGte("4.5.7", "org.apache.httpcomponents", "httpclient").matches(protectionDomain)).isFalse(); - - - } finally { - if (Files.exists(modifiedJar)) { - Files.delete(modifiedJar); - } - } - - } - private void testSemVerLteMatcher(ProtectionDomain protectionDomain) { assertThat(implementationVersionLte("3").matches(protectionDomain)).isFalse(); assertThat(implementationVersionLte("3.2").matches(protectionDomain)).isFalse(); diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java deleted file mode 100644 index ec1234c2c7..0000000000 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousClass.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy.clazzes; - -public class AnonymousClass { - public static Class getAnonymousClass() { - return new Object() { - @Override - public String toString() { - return "foo"; - } - }.getClass(); - } -} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java deleted file mode 100644 index 08aa4c7e3d..0000000000 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/Dollar$Class.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy.clazzes; - -public class Dollar$Class { - -} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java deleted file mode 100644 index 99799af8bf..0000000000 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentClass.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy.clazzes; - -public class ParentClass { - - public static class InnerClass { - public static Class getAnonymousClass() { - return new Object() { - @Override - public String toString() { - return "foo"; - } - }.getClass(); - } - public static class NestedInnerClass { - - } - } -} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java deleted file mode 100644 index 3a73eeb973..0000000000 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ParentObject.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy.clazzes; - -public class ParentObject { - /** - * Scala objects generate a class with a dollar at the end - * https://www.toptal.com/scala/scala-bytecode-and-the-jvm - */ - public class ChildScalaObject$ { - - } -} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java deleted file mode 100644 index c20f336742..0000000000 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/ScalaObject$.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy.clazzes; - -/** - * Scala objects generate a class with a dollar at the end - * https://www.toptal.com/scala/scala-bytecode-and-the-jvm - */ -public class ScalaObject$ { - -} diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java b/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java deleted file mode 100644 index e0153bffa8..0000000000 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/SimpleClass.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.sdk.bytebuddy.clazzes; - -public class SimpleClass { - -} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml index 283199152c..6439fadad8 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.0 + 1.51.0 apm-apache-httpclient-common diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java index 10e2d2727b..1998180c3b 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpClientAdvice.java @@ -20,9 +20,9 @@ import co.elastic.apm.agent.httpclient.HttpClientHelper; +import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; import co.elastic.apm.agent.tracer.dispatch.TextHeaderSetter; @@ -34,11 +34,11 @@ public abstract class AbstractApacheHttpClientAdvice { public static & - TextHeaderGetter, HTTPENTITY> Span startSpan(final Tracer tracer, - final ApacheHttpClientApiAdapter adapter, - final WRAPPER request, - @Nullable final HTTPHOST httpHost, - final HeaderAccessor headerAccessor) throws URISyntaxException { + TextHeaderGetter> Span startSpan(final Tracer tracer, + final ApacheHttpClientApiAdapter adapter, + final WRAPPER request, + @Nullable final HTTPHOST httpHost, + final HeaderAccessor headerAccessor) throws URISyntaxException { TraceState traceState = tracer.currentContext(); Span span = null; if (traceState.getSpan() != null) { @@ -51,11 +51,10 @@ TextHeaderGetter, HTTPENTITY> Span startSpan(final Tracer tracer, return span; } - public static - void endSpan(ApacheHttpClientApiAdapter adapter, - Object spanObj, - Throwable t, - RESPONSE response) { + public static void endSpan(ApacheHttpClientApiAdapter adapter, + Object spanObj, + Throwable t, + RESPONSE response) { Span span = (Span) spanObj; if (span == null) { return; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java deleted file mode 100644 index b96bae4582..0000000000 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/AbstractApacheHttpRequestBodyCaptureAdvice.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.httpclient.common; - - -import co.elastic.apm.agent.httpclient.RequestBodyRecordingInputStream; -import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; -import co.elastic.apm.agent.sdk.logging.Logger; -import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.tracer.Span; - -import java.io.InputStream; -import java.io.OutputStream; - -public abstract class AbstractApacheHttpRequestBodyCaptureAdvice { - - private static final Logger logger = LoggerFactory.getLogger(AbstractApacheHttpRequestBodyCaptureAdvice.class); - - public static InputStream maybeCaptureRequestBodyInputStream(HTTPENTITY thiz, InputStream requestBody) { - Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); - if (clientSpan != null) { - logger.debug("Wrapping input stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); - return new RequestBodyRecordingInputStream(requestBody, clientSpan); - } - return requestBody; - } - - public static OutputStream maybeCaptureRequestBodyOutputStream(HTTPENTITY thiz, OutputStream requestBody) { - Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); - if (clientSpan != null) { - logger.debug("Wrapping output stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); - return new RequestBodyRecordingOutputStream(requestBody, clientSpan); - } - return requestBody; - } - - public static void releaseRequestBodyOutputStream(OutputStream maybeWrapped) { - if (maybeWrapped instanceof RequestBodyRecordingOutputStream) { - ((RequestBodyRecordingOutputStream) maybeWrapped).releaseSpan(); - } - } -} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java index ad36f5665c..a3834035cd 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientApiAdapter.java @@ -23,7 +23,7 @@ import java.net.URI; import java.net.URISyntaxException; -public interface ApacheHttpClientApiAdapter extends ApacheHttpClientEntityAccessor { +public interface ApacheHttpClientApiAdapter { String getMethod(WRAPPER request); URI getUri(WRAPPER request) throws URISyntaxException; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java deleted file mode 100644 index 0f1abfc3b6..0000000000 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/ApacheHttpClientEntityAccessor.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.httpclient.common; - -import javax.annotation.Nullable; - -public interface ApacheHttpClientEntityAccessor { - @Nullable - HTTPENTITY getRequestEntity(REQUEST request); - - @Nullable - byte[] getSimpleBodyBytes(REQUEST request); -} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml index 387a8e075e..ff116aeeb6 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.0 + 1.51.0 apm-apache-httpclient3-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml index 24049343f6..53336fe3ab 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-apache-httpclient co.elastic.apm - 1.52.0 + 1.51.0 apm-apache-httpclient4-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java index 02033d2c98..2bc725c95b 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpClientInstrumentation.java @@ -19,8 +19,8 @@ package co.elastic.apm.agent.httpclient.v4; import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpClientAdvice; -import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; import co.elastic.apm.agent.httpclient.v4.helper.ApacheHttpClient4ApiAdapter; +import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; import co.elastic.apm.agent.httpclient.v4.helper.RequestHeaderAccessor; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; @@ -60,7 +60,7 @@ public static class ApacheHttpClient4Advice extends AbstractApacheHttpClientAdvi public static Object onBeforeExecute(@Advice.Argument(0) HttpRoute route, @Advice.Argument(1) HttpRequestWrapper request) throws URISyntaxException { Span span = startSpan(tracer, adapter, request, route.getTargetHost(), RequestHeaderAccessor.INSTANCE); - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive(), adapter, RequestHeaderAccessor.INSTANCE); + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive()); return span; } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java index ceae3061c2..b08ea36da9 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityGetContentInstrumentation.java @@ -18,25 +18,49 @@ */ package co.elastic.apm.agent.httpclient.v4; -import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; +import co.elastic.apm.agent.httpclient.RequestBodyRecordingInputStream; +import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; +import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; +import co.elastic.apm.agent.sdk.logging.Logger; +import co.elastic.apm.agent.sdk.logging.LoggerFactory; +import co.elastic.apm.agent.tracer.Span; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.http.HttpEntity; import java.io.InputStream; +import java.io.OutputStream; +import java.net.URISyntaxException; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; +import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; +import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; +import static net.bytebuddy.matcher.ElementMatchers.nameContains; +import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.not; +import static net.bytebuddy.matcher.ElementMatchers.returns; +import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import static net.bytebuddy.matcher.ElementMatchers.takesArguments; -public class ApacheHttpEntityGetContentInstrumentation extends BaseApacheHttpEntityInstrumentation { +public class ApacheHttpEntityGetContentInstrumentation extends BaseApacheHttpClientInstrumentation { - public static class ApacheHttpEntityGetContentAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { + public static class ApacheHttpEntityGetContentAdvice { + + private static final Logger logger = LoggerFactory.getLogger(ApacheHttpEntityGetContentAdvice.class); @Advice.OnMethodExit(suppress = Throwable.class, inline = false) @Advice.AssignReturned.ToReturned - public static InputStream onExit(@Advice.This HttpEntity thiz, @Advice.Return InputStream content) { - return maybeCaptureRequestBodyInputStream(thiz, content); + public static InputStream onExit(@Advice.This HttpEntity thiz, @Advice.Return InputStream content) throws URISyntaxException { + Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); + if (clientSpan != null) { + logger.debug("Wrapping input stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); + return new RequestBodyRecordingInputStream(content, clientSpan); + } + return content; } } @@ -45,6 +69,22 @@ public String getAdviceClassName() { return "co.elastic.apm.agent.httpclient.v4.ApacheHttpEntityGetContentInstrumentation$ApacheHttpEntityGetContentAdvice"; } + @Override + public ElementMatcher.Junction getClassLoaderMatcher() { + return not(isBootstrapClassLoader()) + .and(classLoaderCanLoadClass("org.apache.http.HttpEntity")); + } + + @Override + public ElementMatcher getTypeMatcherPreFilter() { + return nameStartsWith("org.apache.http").and(nameContains("Entity")); + } + + @Override + public ElementMatcher getTypeMatcher() { + return hasSuperType(named("org.apache.http.HttpEntity")); + } + @Override public ElementMatcher getMethodMatcher() { return named("getContent") diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java index 0f6b657dfb..0b06c8b9fc 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpEntityWriteToInstrumentation.java @@ -18,31 +18,53 @@ */ package co.elastic.apm.agent.httpclient.v4; -import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; +import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; +import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; +import co.elastic.apm.agent.sdk.logging.Logger; +import co.elastic.apm.agent.sdk.logging.LoggerFactory; +import co.elastic.apm.agent.tracer.Span; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.http.HttpEntity; import java.io.OutputStream; +import java.net.URISyntaxException; +import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; +import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; +import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; +import static net.bytebuddy.matcher.ElementMatchers.nameContains; +import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.not; import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import static net.bytebuddy.matcher.ElementMatchers.takesArguments; -public class ApacheHttpEntityWriteToInstrumentation extends BaseApacheHttpEntityInstrumentation { +public class ApacheHttpEntityWriteToInstrumentation extends BaseApacheHttpClientInstrumentation { - public static class ApacheHttpEntityWriteToAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { + public static class ApacheHttpEntityWriteToAdvice { + + private static final Logger logger = LoggerFactory.getLogger(ApacheHttpEntityWriteToAdvice.class); @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(0)) - public static OutputStream onEnter(@Advice.This HttpEntity thiz, @Advice.Argument(0) OutputStream drain) { - return maybeCaptureRequestBodyOutputStream(thiz, drain); + public static OutputStream onEnter(@Advice.This HttpEntity thiz, @Advice.Argument(0) OutputStream drain) throws URISyntaxException { + Span clientSpan = RequestBodyCaptureRegistry.removeSpanFor(thiz); + if (clientSpan != null) { + logger.debug("Wrapping output stream for request body capture for HttpEntity {} ({}) for span {}", thiz.getClass().getName(), System.identityHashCode(thiz), clientSpan); + return new RequestBodyRecordingOutputStream(drain, clientSpan); + } + return drain; } @Advice.OnMethodExit(suppress = Throwable.class, inline = false) - public static void onExit(@Advice.Enter OutputStream potentiallyWrappedStream) { - releaseRequestBodyOutputStream(potentiallyWrappedStream); + public static void onExit(@Advice.Enter OutputStream potentiallyWrappedStream) throws URISyntaxException { + if (potentiallyWrappedStream instanceof RequestBodyRecordingOutputStream) { + ((RequestBodyRecordingOutputStream) potentiallyWrappedStream).releaseSpan(); + } } } @@ -51,6 +73,22 @@ public String getAdviceClassName() { return "co.elastic.apm.agent.httpclient.v4.ApacheHttpEntityWriteToInstrumentation$ApacheHttpEntityWriteToAdvice"; } + @Override + public ElementMatcher.Junction getClassLoaderMatcher() { + return not(isBootstrapClassLoader()) + .and(classLoaderCanLoadClass("org.apache.http.HttpEntity")); + } + + @Override + public ElementMatcher getTypeMatcherPreFilter() { + return nameStartsWith("org.apache.http").and(nameContains("Entity")); + } + + @Override + public ElementMatcher getTypeMatcher() { + return hasSuperType(named("org.apache.http.HttpEntity")); + } + @Override public ElementMatcher getMethodMatcher() { return named("writeTo") diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java deleted file mode 100644 index 64e5f17e9a..0000000000 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/BaseApacheHttpEntityInstrumentation.java +++ /dev/null @@ -1,34 +0,0 @@ -package co.elastic.apm.agent.httpclient.v4; - -import net.bytebuddy.description.NamedElement; -import net.bytebuddy.description.type.TypeDescription; -import net.bytebuddy.matcher.ElementMatcher; - -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; -import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; -import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; -import static net.bytebuddy.matcher.ElementMatchers.nameContains; -import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; -import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.not; - -public abstract class BaseApacheHttpEntityInstrumentation extends BaseApacheHttpClientInstrumentation { - @Override - public ElementMatcher.Junction getClassLoaderMatcher() { - return not(isBootstrapClassLoader()) - .and(classLoaderCanLoadClass("org.apache.http.HttpEntity")); - } - - @Override - public ElementMatcher getTypeMatcherPreFilter() { - return nameContains("Entity").and( - nameStartsWith("org.apache.http") - .or(nameStartsWith("org.springframework.http")) //spring implements its own HttpEntities - ); - } - - @Override - public ElementMatcher getTypeMatcher() { - return hasSuperType(named("org.apache.http.HttpEntity")); - } -} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java index 0698839563..21fe4ad545 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/LegacyApacheHttpClientInstrumentation.java @@ -19,8 +19,7 @@ package co.elastic.apm.agent.httpclient.v4; import co.elastic.apm.agent.httpclient.HttpClientHelper; -import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; -import co.elastic.apm.agent.httpclient.v4.helper.ApacheHttpClient4ApiAdapter; +import co.elastic.apm.agent.httpclient.v4.helper.RequestBodyCaptureRegistry; import co.elastic.apm.agent.httpclient.v4.helper.RequestHeaderAccessor; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Span; @@ -107,7 +106,7 @@ public static Object onBeforeExecute(@Advice.Argument(0) @Nullable HttpHost host } } - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive(), ApacheHttpClient4ApiAdapter.get(), RequestHeaderAccessor.INSTANCE); + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive()); tracer.currentContext().propagateContext(request, RequestHeaderAccessor.INSTANCE, RequestHeaderAccessor.INSTANCE); return span; } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java index 7d8b834e0f..fd763f23d5 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/ApacheHttpClient4ApiAdapter.java @@ -23,8 +23,6 @@ import co.elastic.apm.agent.tracer.GlobalTracer; import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.configuration.CoreConfiguration; -import org.apache.http.HttpEntity; -import org.apache.http.HttpEntityEnclosingRequest; import org.apache.http.HttpHost; import org.apache.http.HttpRequest; import org.apache.http.StatusLine; @@ -32,10 +30,9 @@ import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpRequestWrapper; -import javax.annotation.Nullable; import java.net.URI; -public class ApacheHttpClient4ApiAdapter implements ApacheHttpClientApiAdapter { +public class ApacheHttpClient4ApiAdapter implements ApacheHttpClientApiAdapter { private static final ApacheHttpClient4ApiAdapter INSTANCE = new ApacheHttpClient4ApiAdapter(); private final Tracer tracer = GlobalTracer.get(); @@ -62,20 +59,6 @@ public CharSequence getHostName(HttpHost httpHost, HttpRequestWrapper request) { return httpHost.getHostName(); } - @Override - public HttpEntity getRequestEntity(HttpRequest request) { - if (request instanceof HttpEntityEnclosingRequest) { - return ((HttpEntityEnclosingRequest) request).getEntity(); - } - return null; - } - - @Override - @Nullable - public byte[] getSimpleBodyBytes(HttpRequest request) { - return null; //Apache v4 client only provides body via HttpEntity - } - @Override public int getResponseCode(CloseableHttpResponse closeableHttpResponse) { final StatusLine statusLine = closeableHttpResponse.getStatusLine(); diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java index 918fd06f07..a8648894ba 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/HttpAsyncRequestProducerWrapper.java @@ -19,9 +19,8 @@ package co.elastic.apm.agent.httpclient.v4.helper; import co.elastic.apm.agent.httpclient.HttpClientHelper; -import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; -import co.elastic.apm.agent.tracer.Span; import co.elastic.apm.agent.tracer.TraceState; +import co.elastic.apm.agent.tracer.Span; import co.elastic.apm.agent.tracer.pooling.Recyclable; import org.apache.http.HttpException; import org.apache.http.HttpHost; @@ -86,7 +85,7 @@ public HttpRequest generateRequest() throws IOException, HttpException { // trace context propagation if (request != null) { if (span != null) { - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, span, ApacheHttpClient4ApiAdapter.get(), RequestHeaderAccessor.INSTANCE); + RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, span); RequestLine requestLine = request.getRequestLine(); if (requestLine != null) { String method = requestLine.getMethod(); diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/RequestBodyCaptureRegistry.java similarity index 60% rename from apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java rename to apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/RequestBodyCaptureRegistry.java index 052626b80a..009cc1fe9b 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient-common/src/main/java/co/elastic/apm/agent/httpclient/common/RequestBodyCaptureRegistry.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/main/java/co/elastic/apm/agent/httpclient/v4/helper/RequestBodyCaptureRegistry.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package co.elastic.apm.agent.httpclient.common; +package co.elastic.apm.agent.httpclient.v4.helper; import co.elastic.apm.agent.httpclient.HttpClientHelper; import co.elastic.apm.agent.sdk.logging.Logger; @@ -25,8 +25,10 @@ import co.elastic.apm.agent.tracer.AbstractSpan; import co.elastic.apm.agent.tracer.GlobalTracer; import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; import co.elastic.apm.agent.tracer.reference.ReferenceCountedMap; +import org.apache.http.HttpEntity; +import org.apache.http.HttpEntityEnclosingRequest; +import org.apache.http.HttpRequest; import javax.annotation.Nullable; @@ -50,33 +52,25 @@ public static Span removeSpanFor(Object entity) { } - public static void potentiallyCaptureRequestBody( - REQUEST request, - @Nullable AbstractSpan abstractSpan, - ApacheHttpClientEntityAccessor adapter, - TextHeaderGetter headerGetter - ) { - if (HttpClientHelper.checkAndStartRequestBodyCapture(abstractSpan, request, headerGetter)) { - Span span = (Span) abstractSpan; - byte[] simpleBytes = adapter.getSimpleBodyBytes(request); - if (simpleBytes != null) { - logger.debug("Captured simple request body for span {}", abstractSpan); - span.getContext().getHttp().getRequestBody().append(simpleBytes, 0, simpleBytes.length); - } else { - HTTPENTITY httpEntity = adapter.getRequestEntity(request); - if (httpEntity != null) { - logger.debug("Enabling request capture for entity {}() for span {}", httpEntity.getClass().getName(), System.identityHashCode(httpEntity), abstractSpan); - MapHolder.captureBodyFor(httpEntity, span); + public static void potentiallyCaptureRequestBody(HttpRequest request, @Nullable AbstractSpan span) { + if (HttpClientHelper.startRequestBodyCapture(span, request, RequestHeaderAccessor.INSTANCE)) { + if (request instanceof HttpEntityEnclosingRequest) { + HttpEntity entity = ((HttpEntityEnclosingRequest) request).getEntity(); + if (entity != null) { + logger.debug("Enabling request capture for entity {}() for span {}", entity.getClass().getName(), System.identityHashCode(entity), span); + MapHolder.captureBodyFor(entity, (Span) span); } else { - logger.debug("Not capturing request body because HttpEntity is null for span {}", abstractSpan); + logger.debug("HttpEntity is null for span {}", span); } + } else { + logger.debug("Not capturing request body because {} is not an HttpEntityEnclosingRequest", request.getClass().getName()); } } } @Nullable - public static Span removeSpanFor(Object httpEntity) { - return MapHolder.removeSpanFor(httpEntity); + public static Span removeSpanFor(HttpEntity entity) { + return MapHolder.removeSpanFor(entity); } } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java index 54ca4dcaa6..b2698ebc2e 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient4-plugin/src/test/java/co/elastic/apm/agent/httpclient/v4/ApacheHttpAsyncClientInstrumentationTest.java @@ -97,11 +97,6 @@ protected boolean isBodyCapturingSupported() { return true; } - @Override - public void testPostBodyCaptureForExistingSpan() throws Exception { - //TODO: async http client instrumentation does not support capturing bodies for existing spans yet - } - @Override protected void performPost(String path, byte[] data, String contentTypeHeader) throws Exception { final CompletableFuture responseFuture = new CompletableFuture<>(); diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml index 5bd35ad3fb..4d3590271f 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-apache-httpclient - 1.52.0 + 1.51.0 apm-apache-httpclient5-plugin diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java deleted file mode 100644 index d51d5c016c..0000000000 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityGetContentInstrumentation.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.httpclient.v5; - -import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; -import net.bytebuddy.asm.Advice; -import net.bytebuddy.description.method.MethodDescription; -import net.bytebuddy.matcher.ElementMatcher; -import org.apache.hc.core5.http.HttpEntity; - -import java.io.InputStream; - -import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.takesArguments; - -public class ApacheHttp5EntityGetContentInstrumentation extends BaseApacheHttp5EntityInstrumentation { - - public static class ApacheHttpEntityGetContentAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { - - @Advice.OnMethodExit(suppress = Throwable.class, inline = false) - @Advice.AssignReturned.ToReturned - public static InputStream onExit(@Advice.This HttpEntity thiz, @Advice.Return InputStream content) { - return maybeCaptureRequestBodyInputStream(thiz, content); - } - } - - @Override - public String getAdviceClassName() { - return "co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityGetContentInstrumentation$ApacheHttpEntityGetContentAdvice"; - } - - @Override - public ElementMatcher getMethodMatcher() { - return named("getContent") - .and(takesArguments(0)); - } - -} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java deleted file mode 100644 index 994ac3f26f..0000000000 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttp5EntityWriteToInstrumentation.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.httpclient.v5; - -import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpRequestBodyCaptureAdvice; -import net.bytebuddy.asm.Advice; -import net.bytebuddy.description.method.MethodDescription; -import net.bytebuddy.matcher.ElementMatcher; -import org.apache.hc.core5.http.HttpEntity; - -import java.io.OutputStream; - -import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.takesArgument; -import static net.bytebuddy.matcher.ElementMatchers.takesArguments; - -public class ApacheHttp5EntityWriteToInstrumentation extends BaseApacheHttp5EntityInstrumentation { - - public static class ApacheHttpEntityWriteToAdvice extends AbstractApacheHttpRequestBodyCaptureAdvice { - - @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) - @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(0)) - public static OutputStream onEnter(@Advice.This HttpEntity thiz, @Advice.Argument(0) OutputStream drain) { - return maybeCaptureRequestBodyOutputStream(thiz, drain); - } - - @Advice.OnMethodExit(suppress = Throwable.class, inline = false) - public static void onExit(@Advice.Enter OutputStream potentiallyWrappedStream) { - releaseRequestBodyOutputStream(potentiallyWrappedStream); - } - } - - @Override - public String getAdviceClassName() { - return "co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityWriteToInstrumentation$ApacheHttpEntityWriteToAdvice"; - } - - @Override - public ElementMatcher getMethodMatcher() { - return named("writeTo") - .and(takesArguments(1)) - .and(takesArgument(0, OutputStream.class)); - } - -} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java index 5fe23bf705..5170a37f3e 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClient5Instrumentation.java @@ -20,10 +20,8 @@ import co.elastic.apm.agent.httpclient.common.AbstractApacheHttpClientAdvice; -import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; import co.elastic.apm.agent.httpclient.v5.helper.ApacheHttpClient5ApiAdapter; import co.elastic.apm.agent.httpclient.v5.helper.RequestHeaderAccessor; -import co.elastic.apm.agent.tracer.Span; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.method.MethodDescription; @@ -52,9 +50,7 @@ public static class ApacheHttpClient5Advice extends AbstractApacheHttpClientAdvi @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static Object onBeforeExecute(@Advice.Argument(0) @Nullable HttpHost httpHost, @Advice.Argument(1) ClassicHttpRequest request) throws URISyntaxException { - Span resultSpan = startSpan(tracer, adapter, request, httpHost, RequestHeaderAccessor.INSTANCE); - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(request, tracer.getActive(), adapter, RequestHeaderAccessor.INSTANCE); - return resultSpan; + return startSpan(tracer, adapter, request, httpHost, RequestHeaderAccessor.INSTANCE); } @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false) diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java deleted file mode 100644 index 6628a50dce..0000000000 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/BaseApacheHttp5EntityInstrumentation.java +++ /dev/null @@ -1,33 +0,0 @@ -package co.elastic.apm.agent.httpclient.v5; - -import net.bytebuddy.description.NamedElement; -import net.bytebuddy.description.type.TypeDescription; -import net.bytebuddy.matcher.ElementMatcher; - -import static co.elastic.apm.agent.sdk.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; -import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; -import static net.bytebuddy.matcher.ElementMatchers.isBootstrapClassLoader; -import static net.bytebuddy.matcher.ElementMatchers.nameContains; -import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; -import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.not; - -public abstract class BaseApacheHttp5EntityInstrumentation extends BaseApacheHttpClient5Instrumentation { - @Override - public ElementMatcher.Junction getClassLoaderMatcher() { - return not(isBootstrapClassLoader()).and(classLoaderCanLoadClass("org.apache.hc.core5.http.HttpEntity")); - } - - @Override - public ElementMatcher getTypeMatcherPreFilter() { - return nameContains("Entity").and( - nameStartsWith("org.apache.hc") - .or(nameStartsWith("org.springframework.http")) //spring implements its own HttpEntities - ); - } - - @Override - public ElementMatcher getTypeMatcher() { - return hasSuperType(named("org.apache.hc.core5.http.HttpEntity")); - } -} diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java index 46d63539b9..233a92188a 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/ApacheHttpClient5ApiAdapter.java @@ -25,12 +25,9 @@ import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.configuration.CoreConfiguration; import org.apache.hc.client5.http.CircularRedirectException; -import org.apache.hc.client5.http.async.methods.SimpleHttpRequest; import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; import org.apache.hc.client5.http.routing.RoutingSupport; import org.apache.hc.core5.http.ClassicHttpRequest; -import org.apache.hc.core5.http.HttpEntity; -import org.apache.hc.core5.http.HttpEntityContainer; import org.apache.hc.core5.http.HttpException; import org.apache.hc.core5.http.HttpHost; import org.apache.hc.core5.http.HttpRequest; @@ -39,7 +36,7 @@ import java.net.URI; import java.net.URISyntaxException; -public class ApacheHttpClient5ApiAdapter implements ApacheHttpClientApiAdapter { +public class ApacheHttpClient5ApiAdapter implements ApacheHttpClientApiAdapter { private static final ApacheHttpClient5ApiAdapter INSTANCE = new ApacheHttpClient5ApiAdapter(); private static final Logger logger = LoggerFactory.getLogger(ApacheHttpClient5ApiAdapter.class); @@ -79,15 +76,6 @@ public CharSequence getHostName(@Nullable HttpHost httpHost, ClassicHttpRequest } } - @Nullable - @Override - public byte[] getSimpleBodyBytes(HttpRequest httpRequest) { - if (httpRequest instanceof SimpleHttpRequest) { - return ((SimpleHttpRequest) httpRequest).getBodyBytes(); - } - return null; - } - @Override public int getResponseCode(CloseableHttpResponse closeableHttpResponse) { return closeableHttpResponse.getCode(); @@ -106,13 +94,4 @@ public boolean isNotNullStatusLine(CloseableHttpResponse closeableHttpResponse) // HTTP response messages in HttpClient 5.x no longer have a status line. return true; } - - @Nullable - @Override - public HttpEntity getRequestEntity(HttpRequest httpRequest) { - if (httpRequest instanceof HttpEntityContainer) { - return ((HttpEntityContainer) httpRequest).getEntity(); - } - return null; - } } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java index 51722905ab..0edd80e85e 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/java/co/elastic/apm/agent/httpclient/v5/helper/RequestChannelWrapper.java @@ -20,11 +20,10 @@ import co.elastic.apm.agent.httpclient.HttpClientHelper; -import co.elastic.apm.agent.httpclient.common.RequestBodyCaptureRegistry; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.tracer.Span; import co.elastic.apm.agent.tracer.TraceState; +import co.elastic.apm.agent.tracer.Span; import co.elastic.apm.agent.tracer.pooling.Recyclable; import org.apache.hc.core5.http.EntityDetails; import org.apache.hc.core5.http.HttpException; @@ -79,7 +78,6 @@ public void sendRequest(HttpRequest httpRequest, EntityDetails entityDetails, Ht if (httpRequest != null) { if (span != null) { - RequestBodyCaptureRegistry.potentiallyCaptureRequestBody(httpRequest, span, ApacheHttpClient5ApiAdapter.get(), RequestHeaderAccessor.INSTANCE); String host = null; String protocol = null; int port = -1; diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation index a684cb014f..04dd6ced97 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation @@ -1,4 +1,2 @@ co.elastic.apm.agent.httpclient.v5.ApacheHttpClient5Instrumentation co.elastic.apm.agent.httpclient.v5.ApacheHttpAsyncClient5Instrumentation -co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityWriteToInstrumentation -co.elastic.apm.agent.httpclient.v5.ApacheHttp5EntityGetContentInstrumentation diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java index e709e71ebe..ed117da025 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpAsyncClientInstrumentationTest.java @@ -29,8 +29,6 @@ import org.apache.hc.client5.http.impl.async.HttpAsyncClients; import org.apache.hc.client5.http.protocol.HttpClientContext; import org.apache.hc.core5.concurrent.FutureCallback; -import org.apache.hc.core5.http.ContentType; -import org.apache.hc.core5.http.HttpResponse; import org.apache.hc.core5.http.ProtocolException; import org.apache.hc.core5.net.URIAuthority; import org.junit.AfterClass; @@ -88,44 +86,6 @@ public void cancelled() { responseFuture.get(); } - @Override - protected boolean isBodyCapturingSupported() { - return true; - } - - @Override - public void testPostBodyCaptureForExistingSpan() throws Exception { - //TODO: async http client instrumentation does not support capturing bodies for existing spans yet - } - - @Override - protected void performPost(String path, byte[] data, String contentTypeHeader) throws Exception { - final CompletableFuture responseFuture = new CompletableFuture<>(); - SimpleHttpRequest req = SimpleRequestBuilder.get().setPath(path) - .addHeader("Content-Type", contentTypeHeader) - .setBody(data, ContentType.parse(contentTypeHeader)) - .build(); - HttpClientContext httpClientContext = HttpClientContext.create(); - client.execute(req, httpClientContext, new FutureCallback() { - @Override - public void completed(SimpleHttpResponse simpleHttpResponse) { - responseFuture.complete(simpleHttpResponse); - } - - @Override - public void failed(Exception e) { - responseFuture.completeExceptionally(e); - } - - @Override - public void cancelled() { - responseFuture.cancel(true); - } - }); - - responseFuture.get(); - } - @Test public void testSpanFinishOnEarlyException() throws Exception { diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java index 0ec0db4f15..ef04c9f59e 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientExecuteOpenInstrumentationTest.java @@ -22,19 +22,15 @@ import co.elastic.apm.agent.httpclient.AbstractHttpClientInstrumentationTest; import org.apache.hc.client5.http.ClientProtocolException; import org.apache.hc.client5.http.classic.methods.HttpGet; -import org.apache.hc.client5.http.classic.methods.HttpPost; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.HttpClients; import org.apache.hc.core5.http.ClassicHttpResponse; -import org.apache.hc.core5.http.ContentType; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.io.HttpClientResponseHandler; import org.apache.hc.core5.http.io.entity.EntityUtils; -import org.apache.hc.core5.http.io.entity.InputStreamEntity; import org.junit.AfterClass; import org.junit.BeforeClass; -import java.io.ByteArrayInputStream; import java.io.IOException; public class ApacheHttpClientExecuteOpenInstrumentationTest extends AbstractHttpClientInstrumentationTest { @@ -63,34 +59,20 @@ public boolean isTestHttpCallWithUserInfoEnabled() { return false; } - private final HttpClientResponseHandler responseHandler = response -> { - int status = response.getCode(); - if (status >= 200 && status < 300) { - HttpEntity entity = response.getEntity(); - return entity != null ? EntityUtils.toString(entity) : null; - } else { - throw new ClientProtocolException("Unexpected response status: " + status); - } - }; - @Override protected void performGet(String path) throws Exception { - ClassicHttpResponse response = client.executeOpen(null, new HttpGet(path), null); - responseHandler.handleResponse(response); - } - - @Override - protected boolean isBodyCapturingSupported() { - return true; - } + HttpClientResponseHandler responseHandler = response -> { + int status = response.getCode(); + if (status >= 200 && status < 300) { + HttpEntity entity = response.getEntity(); + String res = entity != null ? EntityUtils.toString(entity) : null; + return res; + } else { + throw new ClientProtocolException("Unexpected response status: " + status); + } + }; - @Override - protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { - HttpPost request = new HttpPost(path); - request.setEntity(new InputStreamEntity(new ByteArrayInputStream(content), ContentType.parse(contentTypeHeader))); - request.setHeader("Content-Type", contentTypeHeader); - - ClassicHttpResponse response = client.executeOpen(null, request, null); + ClassicHttpResponse response = client.executeOpen(null, new HttpGet(path), null); responseHandler.handleResponse(response); } } diff --git a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java index 0bb2a70457..7ed5a2163c 100644 --- a/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-apache-httpclient/apm-apache-httpclient5-plugin/src/test/java/co/elastic/apm/agent/httpclient/v5/ApacheHttpClientInstrumentationTest.java @@ -22,18 +22,14 @@ import co.elastic.apm.agent.httpclient.AbstractHttpClientInstrumentationTest; import org.apache.hc.client5.http.ClientProtocolException; import org.apache.hc.client5.http.classic.methods.HttpGet; -import org.apache.hc.client5.http.classic.methods.HttpPost; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.HttpClients; -import org.apache.hc.core5.http.ContentType; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.io.HttpClientResponseHandler; import org.apache.hc.core5.http.io.entity.EntityUtils; -import org.apache.hc.core5.http.io.entity.InputStreamEntity; import org.junit.AfterClass; import org.junit.BeforeClass; -import java.io.ByteArrayInputStream; import java.io.IOException; public class ApacheHttpClientInstrumentationTest extends AbstractHttpClientInstrumentationTest { @@ -62,33 +58,18 @@ public boolean isTestHttpCallWithUserInfoEnabled() { return false; } - private final HttpClientResponseHandler responseHandler = response -> { - int status = response.getCode(); - if (status >= 200 && status < 300) { - HttpEntity entity = response.getEntity(); - String res = entity != null ? EntityUtils.toString(entity) : null; - return res; - } else { - throw new ClientProtocolException("Unexpected response status: " + status); - } - }; - @Override protected void performGet(String path) throws Exception { - client.execute(new HttpGet(path), responseHandler); - } - - @Override - protected boolean isBodyCapturingSupported() { - return true; - } - - @Override - protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { - HttpPost request = new HttpPost(path); - request.setEntity(new InputStreamEntity(new ByteArrayInputStream(content), ContentType.parse(contentTypeHeader))); - request.setHeader("Content-Type", contentTypeHeader); - - client.execute(request, responseHandler); + HttpClientResponseHandler responseHandler = response -> { + int status = response.getCode(); + if (status >= 200 && status < 300) { + HttpEntity entity = response.getEntity(); + String res = entity != null ? EntityUtils.toString(entity) : null; + return res; + } else { + throw new ClientProtocolException("Unexpected response status: " + status); + } + }; + String response = client.execute(new HttpGet(path), responseHandler); } } diff --git a/apm-agent-plugins/apm-apache-httpclient/pom.xml b/apm-agent-plugins/apm-apache-httpclient/pom.xml index c566875f9d..a8374d09fc 100644 --- a/apm-agent-plugins/apm-apache-httpclient/pom.xml +++ b/apm-agent-plugins/apm-apache-httpclient/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-apache-httpclient diff --git a/apm-agent-plugins/apm-api-plugin/pom.xml b/apm-agent-plugins/apm-api-plugin/pom.xml index 1447181eea..9f3cbf2225 100644 --- a/apm-agent-plugins/apm-api-plugin/pom.xml +++ b/apm-agent-plugins/apm-api-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 diff --git a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml index 6080baed61..66e6229ccc 100644 --- a/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-asynchttpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-asynchttpclient-plugin diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml index a0eb0a6ed3..7f915e089f 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 @@ -12,7 +12,7 @@ ${project.basedir}/../../.. - 1.12.770 + 1.12.755 1.1.0 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml index d5358ec712..c1ff02d58e 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 @@ -13,7 +13,7 @@ ${project.basedir}/../../.. - 2.27.17 + 2.26.12 2.0.0 8 diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml index 86af8747a5..3dc2c1668b 100644 --- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/pom.xml @@ -3,7 +3,7 @@ apm-aws-sdk co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-aws-sdk/pom.xml b/apm-agent-plugins/apm-aws-sdk/pom.xml index 3e6d602bbf..61dd193c09 100644 --- a/apm-agent-plugins/apm-aws-sdk/pom.xml +++ b/apm-agent-plugins/apm-aws-sdk/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-awslambda-plugin/pom.xml b/apm-agent-plugins/apm-awslambda-plugin/pom.xml index 6afae0bd70..8b4eca780b 100644 --- a/apm-agent-plugins/apm-awslambda-plugin/pom.xml +++ b/apm-agent-plugins/apm-awslambda-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml index d25fd6ffd5..9cd920e9a2 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra-core-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml index 2399d0f835..4cc7446cab 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml index 7dd6eba97c..f7dbbbf480 100644 --- a/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml +++ b/apm-agent-plugins/apm-cassandra/apm-cassandra4-plugin/pom.xml @@ -3,7 +3,7 @@ apm-cassandra co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-cassandra/pom.xml b/apm-agent-plugins/apm-cassandra/pom.xml index 1fa5d7586a..fab826204d 100644 --- a/apm-agent-plugins/apm-cassandra/pom.xml +++ b/apm-agent-plugins/apm-cassandra/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-dubbo-plugin/pom.xml b/apm-agent-plugins/apm-dubbo-plugin/pom.xml index 38eea4570a..a707d06b56 100644 --- a/apm-agent-plugins/apm-dubbo-plugin/pom.xml +++ b/apm-agent-plugins/apm-dubbo-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml index 712b820c21..ffc9e4033d 100644 --- a/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-ecs-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-ecs-logging-plugin @@ -41,8 +41,7 @@ org.apache.logging.log4j log4j-core - - ${version.log4j} + 2.23.1 provided true diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml index 3b9644c7ea..758569046c 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-5_6/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-es-restclient-plugin-5_6 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml index ad2babc3ef..300ccab1b1 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-es-restclient-plugin-6_4 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml index 39e84c5f4f..7660076c6f 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-7_x/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-es-restclient-plugin-7_x diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml index 4316d6c2b0..7a4a7b46fd 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-8_x/pom.xml @@ -3,7 +3,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml index ff66886574..2778da0d9f 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-es-restclient-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-es-restclient-plugin-common diff --git a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml index 7300a18b8c..09250d1596 100644 --- a/apm-agent-plugins/apm-es-restclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-es-restclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-es-restclient-plugin diff --git a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml index 9b3c2c04de..d25f5d4319 100644 --- a/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-finagle-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-finagle-httpclient-plugin diff --git a/apm-agent-plugins/apm-grails-plugin/pom.xml b/apm-agent-plugins/apm-grails-plugin/pom.xml index c91d2ce1d1..4017aadf9a 100644 --- a/apm-agent-plugins/apm-grails-plugin/pom.xml +++ b/apm-agent-plugins/apm-grails-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-grails-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml index 1d39ea0665..f1fde89f83 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.0 + 1.51.0 apm-grpc-plugin diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml index 1425fc863a..1655b678aa 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-1.6.1/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.0 + 1.51.0 apm-grpc-test-1.6.1 diff --git a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml index af8cb8106e..a5bb1f5e22 100644 --- a/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml +++ b/apm-agent-plugins/apm-grpc/apm-grpc-test-latest/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-grpc - 1.52.0 + 1.51.0 apm-grpc-test-latest diff --git a/apm-agent-plugins/apm-grpc/pom.xml b/apm-agent-plugins/apm-grpc/pom.xml index cc1c00a915..6d38a3cc0e 100644 --- a/apm-agent-plugins/apm-grpc/pom.xml +++ b/apm-agent-plugins/apm-grpc/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.51.0 apm-grpc diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml index 272274d6be..ef65db9947 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-hibernate-search-plugin-5_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml index b84962208e..7bc19091d6 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-hibernate-search-plugin-6_x diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml index 127a750017..1a47414528 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-hibernate-search-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-hibernate-search-plugin-common diff --git a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml index 31b9946fd9..757f11b5f7 100644 --- a/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml +++ b/apm-agent-plugins/apm-hibernate-search-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-hibernate-search-plugin diff --git a/apm-agent-plugins/apm-httpclient-core/pom.xml b/apm-agent-plugins/apm-httpclient-core/pom.xml index ba0643a70a..eaf24bebbb 100644 --- a/apm-agent-plugins/apm-httpclient-core/pom.xml +++ b/apm-agent-plugins/apm-httpclient-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-httpclient-core diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java index 2641adb865..61bb7e7e66 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/HttpClientHelper.java @@ -27,7 +27,6 @@ import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.configuration.WebConfiguration; import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; -import co.elastic.apm.agent.tracer.metadata.BodyCapture; import javax.annotation.Nullable; import java.net.URI; @@ -76,23 +75,18 @@ public static Span startHttpClientSpan(TraceState activeContext, String me return span; } - public static void checkBodyCapturePreconditions(@Nullable AbstractSpan abstractSpan, R request, TextHeaderGetter headerGetter) { + public static boolean startRequestBodyCapture(@Nullable AbstractSpan abstractSpan, R request, TextHeaderGetter headerGetter) { if (!(abstractSpan instanceof Span)) { - return; + return false; } Span span = (Span) abstractSpan; - BodyCapture bodyCapture = span.getContext().getHttp().getRequestBody(); - if (!bodyCapture.isEligibleForCapturing()) { - return; - } - if (bodyCapture.havePreconditionsBeenChecked()) { - return; + if (!span.getContext().getHttp().getRequestBody().isEligibleForCapturing()) { + return false; } WebConfiguration webConfig = GlobalTracer.get().getConfig(WebConfiguration.class); int byteCount = webConfig.getCaptureClientRequestBytes(); if (byteCount == 0) { - bodyCapture.markPreconditionsFailed(); - return; + return false; } List contentTypes = webConfig.getCaptureContentTypes(); String contentTypeHeader = headerGetter.getFirstHeader("Content-Type", request); @@ -100,19 +94,10 @@ public static void checkBodyCapturePreconditions(@Nullable AbstractSpan a contentTypeHeader = ""; } if (WildcardMatcher.anyMatch(contentTypes, contentTypeHeader) == null) { - bodyCapture.markPreconditionsFailed(); - return; - } - bodyCapture.markPreconditionsPassed(extractCharsetFromContentType(contentTypeHeader), byteCount); - } - - public static boolean checkAndStartRequestBodyCapture(@Nullable AbstractSpan abstractSpan, R request, TextHeaderGetter headerGetter) { - if (!(abstractSpan instanceof Span)) { return false; } - checkBodyCapturePreconditions(abstractSpan, request, headerGetter); - Span span = (Span) abstractSpan; - return span.getContext().getHttp().getRequestBody().startCapture(); + String charset = extractCharsetFromContentType(contentTypeHeader); + return span.getContext().getHttp().getRequestBody().startCapture(charset, byteCount); } //Visible for testing diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java deleted file mode 100644 index a75274426a..0000000000 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelper.java +++ /dev/null @@ -1,63 +0,0 @@ -package co.elastic.apm.agent.httpclient; - -import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.SpanEndListener; -import co.elastic.apm.agent.tracer.metadata.BodyCapture; - -public class RequestBodyRecordingHelper implements SpanEndListener> { - - /** - * We do not need to participate in span reference counting here. - * Instead, we only hold a reference to the span for the time it is not ended. - * This is ensured via the {@link #onEnd(Span)} callback. - */ - // Visible for testing - Span clientSpan; - - public RequestBodyRecordingHelper(Span clientSpan) { - if (!clientSpan.isFinished()) { - this.clientSpan = clientSpan; - clientSpan.addEndListener(this); - } - } - - - /** - * @param b the byte to append - * @return false, if the body buffer is full and future calls would be no-op. True otherwise. - */ - public boolean appendToBody(byte b) { - if (clientSpan != null) { - BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); - requestBody.append(b); - if (requestBody.isFull()) { - releaseSpan(); - } else { - return true; - } - } - return false; - } - - public void appendToBody(byte[] b, int off, int len) { - if (clientSpan != null) { - BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); - requestBody.append(b, off, len); - if (requestBody.isFull()) { - releaseSpan(); - } - } - } - - void releaseSpan() { - if (clientSpan != null) { - clientSpan.removeEndListener(this); - } - clientSpan = null; - } - - @Override - public void onEnd(Span span) { - releaseSpan(); - } -} diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java index 207fb4c274..f8e228eaf8 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingInputStream.java @@ -19,7 +19,9 @@ package co.elastic.apm.agent.httpclient; import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.metadata.BodyCapture; +import javax.annotation.Nullable; import java.io.IOException; import java.io.InputStream; @@ -27,21 +29,50 @@ public class RequestBodyRecordingInputStream extends InputStream { private final InputStream delegate; - private final RequestBodyRecordingHelper recordingHelper; + @Nullable + private Span clientSpan; public RequestBodyRecordingInputStream(InputStream delegate, Span clientSpan) { this.delegate = delegate; - this.recordingHelper = new RequestBodyRecordingHelper(clientSpan); + clientSpan.incrementReferences(); + this.clientSpan = clientSpan; } + protected void appendToBody(byte b) { + if (clientSpan != null) { + BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); + requestBody.append(b); + if (requestBody.isFull()) { + releaseSpan(); + } + } + } + + protected void appendToBody(byte[] b, int off, int len) { + if (clientSpan != null) { + BodyCapture requestBody = clientSpan.getContext().getHttp().getRequestBody(); + requestBody.append(b, off, len); + if (requestBody.isFull()) { + releaseSpan(); + } + } + } + + public void releaseSpan() { + if (clientSpan != null) { + clientSpan.decrementReferences(); + clientSpan = null; + } + } + @Override public int read() throws IOException { int character = delegate.read(); if (character == -1) { - recordingHelper.releaseSpan(); + releaseSpan(); } else { - recordingHelper.appendToBody((byte) character); + appendToBody((byte) character); } return character; } @@ -50,9 +81,9 @@ public int read() throws IOException { public int read(byte[] b, int off, int len) throws IOException { int readBytes = delegate.read(b, off, len); if (readBytes == -1) { - recordingHelper.releaseSpan(); + releaseSpan(); } else { - recordingHelper.appendToBody(b, off, readBytes); + appendToBody(b, off, readBytes); } return readBytes; } @@ -65,7 +96,7 @@ public int available() throws IOException { @Override public void close() throws IOException { try { - recordingHelper.releaseSpan(); + releaseSpan(); } finally { delegate.close(); } diff --git a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java index 87f7280821..aaf640c1d3 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java +++ b/apm-agent-plugins/apm-httpclient-core/src/main/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingOutputStream.java @@ -19,7 +19,9 @@ package co.elastic.apm.agent.httpclient; import co.elastic.apm.agent.tracer.Span; +import co.elastic.apm.agent.tracer.metadata.BodyCapture; +import javax.annotation.Nullable; import java.io.IOException; import java.io.OutputStream; @@ -27,26 +29,38 @@ public class RequestBodyRecordingOutputStream extends OutputStream { private final OutputStream delegate; - private final RequestBodyRecordingHelper recordingHelper; + @Nullable + private Span clientSpan; public RequestBodyRecordingOutputStream(OutputStream delegate, Span clientSpan) { this.delegate = delegate; - this.recordingHelper = new RequestBodyRecordingHelper(clientSpan); + clientSpan.incrementReferences(); + this.clientSpan = clientSpan; } @Override public void write(int b) throws IOException { try { - recordingHelper.appendToBody((byte) b); + appendToBody((byte) b); } finally { delegate.write(b); } } + protected void appendToBody(byte b) { + if (clientSpan != null) { + BodyCapture body = clientSpan.getContext().getHttp().getRequestBody(); + body.append(b); + if (body.isFull()) { + releaseSpan(); + } + } + } + @Override public void write(byte[] b) throws IOException { try { - recordingHelper.appendToBody(b, 0, b.length); + appendToBody(b, 0, b.length); } finally { delegate.write(b); } @@ -55,16 +69,33 @@ public void write(byte[] b) throws IOException { @Override public void write(byte[] b, int off, int len) throws IOException { try { - recordingHelper.appendToBody(b, off, len); + appendToBody(b, off, len); } finally { delegate.write(b, off, len); } } + protected void appendToBody(byte[] b, int off, int len) { + if (clientSpan != null) { + BodyCapture body = clientSpan.getContext().getHttp().getRequestBody(); + body.append(b, off, len); + if (body.isFull()) { + releaseSpan(); + } + } + } + + public void releaseSpan() { + if (clientSpan != null) { + clientSpan.decrementReferences(); + clientSpan = null; + } + } + @Override public void close() throws IOException { try { - recordingHelper.releaseSpan(); + releaseSpan(); } finally { delegate.close(); } @@ -74,8 +105,4 @@ public void close() throws IOException { public void flush() throws IOException { delegate.flush(); } - - public void releaseSpan() { - recordingHelper.releaseSpan(); - } } diff --git a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java index a5ed7ca364..788757662f 100644 --- a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/AbstractHttpClientInstrumentationTest.java @@ -27,7 +27,6 @@ import co.elastic.apm.agent.impl.transaction.SpanImpl; import co.elastic.apm.agent.impl.transaction.TraceContextImpl; import co.elastic.apm.agent.impl.transaction.TransactionImpl; -import co.elastic.apm.agent.sdk.internal.util.IOUtils; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Scope; import co.elastic.apm.agent.tracer.TraceState; @@ -133,58 +132,16 @@ public void testPostBodyCapture() throws Exception { .withRequestBodySatisfying(body -> { ByteBuffer buffer = body.getBody(); assertThat(buffer).isNotNull(); - assertThat(IOUtils.copyToByteArray(buffer)).isEqualTo("Hello".getBytes(StandardCharsets.UTF_8)); + int numBytes = buffer.position(); + buffer.position(0); + byte[] contentBytes = new byte[numBytes]; + buffer.get(contentBytes); + assertThat(contentBytes).isEqualTo("Hello".getBytes(StandardCharsets.UTF_8)); assertThat(Objects.toString(body.getCharset())).isEqualTo("utf-8"); }) .verify(); } - - /** - * This test verifies - * - * @throws Exception - */ - @Test - public void testPostBodyCaptureForExistingSpan() throws Exception { - if (!isBodyCapturingSupported()) { - return; - } - doReturn(1024).when(config.getConfig(WebConfiguration.class)).getCaptureClientRequestBytes(); - byte[] content = "Hello World!".getBytes(StandardCharsets.UTF_8); - String path = "/"; - - SpanImpl capture = createExitSpan("capture"); - capture.getContext().getHttp().getRequestBody().markEligibleForCapturing(); - capture.activate(); - try { - performPost(getBaseUrl() + path, content, "application/json; charset=iso-8859-1"); - } finally { - capture.deactivate().end(); - } - - //Do not not capture body for "noCapture" because it is not marked eligible - SpanImpl noCapture = createExitSpan("no-capture"); - noCapture.activate(); - try { - performPost(getBaseUrl() + path, content, "application/json; charset=iso-8859-1"); - } finally { - noCapture.deactivate().end(); - } - - assertThat(reporter.getSpans()) - .containsExactly(capture, noCapture); - - BodyCaptureImpl captureBody = capture.getContext().getHttp().getRequestBody(); - assertThat(captureBody.getBody()).isNotNull(); - assertThat(Objects.toString(captureBody.getCharset())).isEqualTo("iso-8859-1"); - assertThat(IOUtils.copyToByteArray(captureBody.getBody())).isEqualTo(content); - - BodyCaptureImpl noCaptureBody = noCapture.getContext().getHttp().getRequestBody(); - assertThat(noCaptureBody.getBody()).isNull(); - assertThat(noCaptureBody.getCharset()).isNull(); - } - @Test public void testDisabledOutgoingHeaders() { doReturn(true).when(config.getConfig(CoreConfigurationImpl.class)).isOutgoingTraceContextHeadersInjectionDisabled(); @@ -196,8 +153,11 @@ public void testDisabledOutgoingHeaders() { @Test public void testContextPropagationFromExitParent() { String path = "/"; - SpanImpl exitSpan = createExitSpan("exit"); + SpanImpl exitSpan = Objects.requireNonNull(Objects.requireNonNull(Objects.requireNonNull(tracer.currentTransaction()).createExitSpan())); try { + exitSpan.withType("custom").withSubtype("exit"); + exitSpan.getContext().getDestination().withAddress("test-host").withPort(6000); + exitSpan.getContext().getServiceTarget().withType("test-resource"); exitSpan.activate(); performGetWithinTransaction(path); verifyTraceContextHeaders(exitSpan, path); @@ -207,14 +167,6 @@ public void testContextPropagationFromExitParent() { } } - private static SpanImpl createExitSpan(String name) { - SpanImpl exitSpan = Objects.requireNonNull(Objects.requireNonNull(Objects.requireNonNull(tracer.currentTransaction()).createExitSpan())); - exitSpan.withName(name).withType("custom").withSubtype("exit"); - exitSpan.getContext().getDestination().withAddress("test-host").withPort(6000); - exitSpan.getContext().getServiceTarget().withType("test-resource"); - return exitSpan; - } - @Test public void testBaggagePropagatedWithoutTrace() { TraceState baggageOnly = emptyContext.withUpdatedBaggage() diff --git a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java b/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java deleted file mode 100644 index ad534b361f..0000000000 --- a/apm-agent-plugins/apm-httpclient-core/src/test/java/co/elastic/apm/agent/httpclient/RequestBodyRecordingHelperTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package co.elastic.apm.agent.httpclient; - -import co.elastic.apm.agent.MockReporter; -import co.elastic.apm.agent.MockTracer; -import co.elastic.apm.agent.impl.ElasticApmTracer; -import co.elastic.apm.agent.impl.context.BodyCaptureImpl; -import co.elastic.apm.agent.impl.transaction.SpanImpl; -import co.elastic.apm.agent.impl.transaction.TransactionImpl; -import co.elastic.apm.agent.sdk.internal.util.IOUtils; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -public class RequestBodyRecordingHelperTest { - - private ElasticApmTracer tracer; - private MockReporter reporter; - - private TransactionImpl rootTx; - - @BeforeEach - public void beforeEach() { - MockTracer.MockInstrumentationSetup mockInstrumentationSetup = MockTracer.createMockInstrumentationSetup(); - tracer = mockInstrumentationSetup.getTracer(); - reporter = mockInstrumentationSetup.getReporter(); - rootTx = tracer.startRootTransaction(null); - } - - @AfterEach - public void afterEach() { - rootTx.end(); - reporter.assertRecycledAfterDecrementingReferences(); - tracer.stop(); - } - - @Test - public void ensureNoModificationAfterSpanEnd() { - SpanImpl span = rootTx.createSpan(); - BodyCaptureImpl spanBody = span.getContext().getHttp().getRequestBody(); - spanBody.markEligibleForCapturing(); - spanBody.markPreconditionsPassed(null, 100); - spanBody.startCapture(); - - RequestBodyRecordingHelper helper = new RequestBodyRecordingHelper(span); - helper.appendToBody(new byte[]{1, 2, 3, 4}, 1, 2); - helper.appendToBody((byte) 5); - - assertThat(IOUtils.copyToByteArray(spanBody.getBody())).containsExactly(2, 3, 5); - assertThat(helper.clientSpan).isNotNull(); - - span.end(); - assertThat(helper.clientSpan).isNull(); - - //Those should not and have no effect - helper.appendToBody(new byte[]{1, 2, 3, 4}, 1, 2); - helper.appendToBody((byte) 5); - assertThat(IOUtils.copyToByteArray(spanBody.getBody())).containsExactly(2, 3, 5); - - RequestBodyRecordingHelper endedHelper = new RequestBodyRecordingHelper(span); - assertThat(endedHelper.clientSpan).isNull(); - } - - @Test - public void ensureLimitRespected() { - SpanImpl span = rootTx.createSpan(); - BodyCaptureImpl spanBody = span.getContext().getHttp().getRequestBody(); - spanBody.markEligibleForCapturing(); - spanBody.markPreconditionsPassed(null, 3); - spanBody.startCapture(); - - RequestBodyRecordingHelper helper = new RequestBodyRecordingHelper(span); - helper.appendToBody((byte) 1); - helper.appendToBody(new byte[]{2, 3, 4, 5}, 1, 2); - helper.appendToBody((byte) 6); - - assertThat(IOUtils.copyToByteArray(spanBody.getBody())).containsExactly(1, 3, 4); - assertThat(helper.clientSpan).isNull(); - - span.end(); - } - -} diff --git a/apm-agent-plugins/apm-httpserver-core/pom.xml b/apm-agent-plugins/apm-httpserver-core/pom.xml index 8a7fcdc86d..163510ffa3 100644 --- a/apm-agent-plugins/apm-httpserver-core/pom.xml +++ b/apm-agent-plugins/apm-httpserver-core/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-httpserver-core diff --git a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml index 26ac3b892f..fc0f37632e 100644 --- a/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml +++ b/apm-agent-plugins/apm-jakarta-websocket-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jakarta-websocket-plugin diff --git a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml index 577b2a4c84..69f19dcb5d 100644 --- a/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-java-concurrent-plugin diff --git a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml index b6bf154bed..70de83e3c4 100644 --- a/apm-agent-plugins/apm-java-ldap-plugin/pom.xml +++ b/apm-agent-plugins/apm-java-ldap-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-java-ldap-plugin diff --git a/apm-agent-plugins/apm-javalin-plugin/pom.xml b/apm-agent-plugins/apm-javalin-plugin/pom.xml index 6acd8b47aa..555be4c392 100644 --- a/apm-agent-plugins/apm-javalin-plugin/pom.xml +++ b/apm-agent-plugins/apm-javalin-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-javalin-plugin diff --git a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml index 5f35c63200..684ec3a081 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml index dbcaaebe79..d520542507 100644 --- a/apm-agent-plugins/apm-jaxrs-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxrs-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jaxrs-plugin diff --git a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml index b3d96701f2..da66ac50f6 100644 --- a/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-jaxws-plugin/pom.xml b/apm-agent-plugins/apm-jaxws-plugin/pom.xml index 13e221638f..36d0d5a2ba 100644 --- a/apm-agent-plugins/apm-jaxws-plugin/pom.xml +++ b/apm-agent-plugins/apm-jaxws-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jaxws-plugin diff --git a/apm-agent-plugins/apm-jdbc-plugin/pom.xml b/apm-agent-plugins/apm-jdbc-plugin/pom.xml index 1a0b540ce2..1e7a3bddc6 100644 --- a/apm-agent-plugins/apm-jdbc-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdbc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jdbc-plugin diff --git a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml index b206e6a993..bd7a2a381e 100644 --- a/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpclient-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jdk-httpclient-plugin diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml index a3167046c2..13fc68cde5 100644 --- a/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml +++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jdk-httpserver-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml index 19821d1379..b87eb8bed6 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-jakarta/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml index 55639e2368..ab9b2b298c 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-javax/pom.xml @@ -3,7 +3,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml index 9a643f7f87..ea785a8871 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jms-plugin-base diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml index 83bfa46c7b..f45ee0fa4d 100644 --- a/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-spring-plugin/pom.xml @@ -5,7 +5,7 @@ apm-jms-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jms-spring-plugin diff --git a/apm-agent-plugins/apm-jms-plugin/pom.xml b/apm-agent-plugins/apm-jms-plugin/pom.xml index eb664fee8d..4ca39439d7 100644 --- a/apm-agent-plugins/apm-jms-plugin/pom.xml +++ b/apm-agent-plugins/apm-jms-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jms-plugin diff --git a/apm-agent-plugins/apm-jmx-plugin/pom.xml b/apm-agent-plugins/apm-jmx-plugin/pom.xml index 488f2fe188..20b22ae2d2 100644 --- a/apm-agent-plugins/apm-jmx-plugin/pom.xml +++ b/apm-agent-plugins/apm-jmx-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jmx-plugin diff --git a/apm-agent-plugins/apm-jsf-plugin/pom.xml b/apm-agent-plugins/apm-jsf-plugin/pom.xml index 5ac9347124..1148fe925a 100644 --- a/apm-agent-plugins/apm-jsf-plugin/pom.xml +++ b/apm-agent-plugins/apm-jsf-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-jsf-plugin diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml index 5660ba49e3..b9fdc06b5e 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/pom.xml @@ -3,7 +3,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml index e31c586ce1..b968cfd1d7 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml index 7fcc417fe2..de89a04e68 100644 --- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-spring-plugin/pom.xml @@ -4,7 +4,7 @@ apm-kafka-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-kafka-plugin/pom.xml b/apm-agent-plugins/apm-kafka-plugin/pom.xml index 1caf2805a9..5a97ca94bd 100644 --- a/apm-agent-plugins/apm-kafka-plugin/pom.xml +++ b/apm-agent-plugins/apm-kafka-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml index 4ba7dfa61a..b42612dc96 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jboss-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jboss-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml index dcb34f9417..db37c7ad82 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-jul-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jul-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml index 1a12d5d893..c16057dc69 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j1-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-log4j1-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml deleted file mode 100644 index a2e9b966b7..0000000000 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - 4.0.0 - - co.elastic.apm - apm-logging-plugin - 1.52.0 - - - apm-log4j2-plugin-tests - ${project.groupId}:${project.artifactId} - - - ${project.basedir}/../../.. - - - - - - - ${project.groupId} - apm-log4j2-plugin - ${project.version} - test - - - org.apache.logging.log4j - log4j-core - ${version.log4j} - test - - - ${project.groupId} - apm-logging-plugin-common - ${project.version} - test-jar - test - - - org.apache.ivy - ivy - test - - - - - diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java deleted file mode 100644 index 3a4c05ce6b..0000000000 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.log4j2; - -import co.elastic.apm.agent.testutils.TestClassWithDependencyRunner; -import org.junit.jupiter.api.condition.DisabledOnOs; -import org.junit.jupiter.api.condition.OS; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ValueSource; - -import java.util.List; - -@DisabledOnOs(OS.WINDOWS) -public class Log4j2InstrumentationTest { - - @ParameterizedTest - @ValueSource(strings = {"2.6", "2.17.1", "2.24.0"}) - public void testInstrumentation(String version) throws Exception { - List dependencies = List.of( - "org.apache.logging.log4j:log4j-core:" + version, - "org.apache.logging.log4j:log4j-api:" + version, - "co.elastic.logging:log4j2-ecs-layout:1.3.2" - ); - new TestClassWithDependencyRunner(dependencies, Log4j2InstrumentationTestDefinitions.class.getName(), - Log4j2InstrumentationTestDefinitions.Log4j2LoggerFacade.class.getName()) - .run(); - } - - @ParameterizedTest - @ValueSource(strings = {"2.6", "2.17.1", "2.24.0"}) - public void testErrorCapture(String version) throws Exception { - List dependencies = List.of( - "org.apache.logging.log4j:log4j-core:" + version, - "org.apache.logging.log4j:log4j-api:" + version - ); - new TestClassWithDependencyRunner(dependencies, Log4j2LoggerErrorCapturingInstrumentationTest.class.getName()) - .run(); - } -} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml index b8b50f6d93..e783ce77ae 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-log4j2-plugin @@ -24,7 +24,7 @@ org.apache.logging.log4j log4j-core - 2.24.0 + 2.23.1 provided @@ -32,6 +32,18 @@ log4j2-ecs-layout ${version.ecs.logging} + + ${project.groupId} + apm-logging-plugin-common + ${project.version} + test-jar + test + + + org.apache.ivy + ivy + test + diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java index e765fdd78b..4375fec954 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/correlation/Log4j2LogCorrelationInstrumentation.java @@ -71,11 +71,9 @@ public ElementMatcher getMethodMatcher() { } public static class Log4J2_6LogCorrelationInstrumentation extends Log4j2LogCorrelationInstrumentation { - @Override public ElementMatcher.Junction getProtectionDomainPostFilter() { - return implementationVersionGte("2.6", "org.apache.logging.log4j", "log4j-core") - .and(not(implementationVersionGte("2.7", "org.apache.logging.log4j", "log4j-core"))); + return implementationVersionGte("2.6").and(not(implementationVersionGte("2.7"))); } public static class AdviceClass { @@ -96,7 +94,7 @@ public static void removeFromThreadContext(@Advice.Enter boolean addedToMdc) { public static class Log4J2_7PlusLogCorrelationInstrumentation extends Log4j2LogCorrelationInstrumentation { @Override public ElementMatcher.Junction getProtectionDomainPostFilter() { - return implementationVersionGte("2.7", "org.apache.logging.log4j", "log4j-core"); + return implementationVersionGte("2.7"); } public static class AdviceClass { diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java similarity index 93% rename from apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java rename to apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java index 4482a5e096..e8cfe0480a 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestDefinitions.java +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTest.java @@ -18,10 +18,9 @@ */ package co.elastic.apm.agent.log4j2; -import co.elastic.apm.agent.logging.LoggingConfigurationImpl; -import co.elastic.apm.agent.loginstr.LoggerFacade; import co.elastic.apm.agent.loginstr.LoggingInstrumentationTest; -import co.elastic.apm.agent.testutils.TestClassWithDependencyRunner; +import co.elastic.apm.agent.loginstr.LoggerFacade; +import co.elastic.apm.agent.logging.LoggingConfigurationImpl; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Marker; @@ -33,6 +32,7 @@ import org.apache.logging.log4j.core.config.ConfigurationFactory; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; import java.net.URI; import java.net.URISyntaxException; @@ -45,8 +45,8 @@ * Since the agent core uses log4j 2.12.4, and since both agent core and tests are loaded by the system class loader in unit tests, * the proper way to test integration tests with log4j2 is only through dedicated class loaders. */ -@TestClassWithDependencyRunner.DisableOutsideOfRunner -public class Log4j2InstrumentationTestDefinitions extends LoggingInstrumentationTest { +@Disabled +public class Log4j2InstrumentationTest extends LoggingInstrumentationTest { @BeforeAll static void resetConfigFactory() { @@ -60,11 +60,6 @@ static void reInitLogging() { private static final Marker TEST_MARKER = MarkerManager.getMarker("TEST"); - @Override - public void testSendLogs() { - //TODO: fix me, log sending is currently broken for log4j2 - } - @Override protected LoggerFacade createLoggerFacade() { return new Log4j2LoggerFacade(); @@ -91,7 +86,7 @@ static class Log4j2LoggerFacade implements LoggerFacade { public Log4j2LoggerFacade() { try { - configLocation = Objects.requireNonNull(Log4j2InstrumentationTestDefinitions.class.getClassLoader() + configLocation = Objects.requireNonNull(Log4j2InstrumentationTest.class.getClassLoader() .getResource("log4j2.xml")).toURI(); } catch (URISyntaxException e) { e.printStackTrace(); diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java new file mode 100644 index 0000000000..302f0132f5 --- /dev/null +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2InstrumentationTestVersions.java @@ -0,0 +1,118 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.log4j2; + +import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; +import co.elastic.apm.agent.logging.LoggingConfigurationImpl; +import org.apache.logging.log4j.core.config.ConfigurationFactory; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import java.io.IOException; +import java.util.List; + +/** + * This class only delegates tests to the current-version log4j2 tests through JUnit 4, so that it can be ran using + * {@link JUnit4TestClassWithDependencyRunner} in a dedicated CL where an older log4j2 version is loaded. + * This is required because the agent is using log4j2 and in tests they retain their original packages (relocation only + * takes place during packaging). + */ +@Ignore +public class Log4j2InstrumentationTestVersions extends Log4j2InstrumentationTest { + + @BeforeClass + public static void resetConfigFactory() { + ConfigurationFactory.resetConfigurationFactory(); + } + + @AfterClass + public static void reInitLogging() { + LoggingConfigurationImpl.init(List.of(), ""); + } + + @Before + @Override + public void setup() throws Exception { + super.setup(); + } + + @After + @Override + public void closeLogger() { + super.closeLogger(); + } + + @Test + @Override + public void testSimpleLogReformatting() throws Exception { + super.testSimpleLogReformatting(); + } + + @Test + @Override + public void testMarkers() throws Exception { + super.testMarkers(); + } + + @Test + @Override + public void testShadingIntoOriginalLogsDir() throws Exception { + super.testShadingIntoOriginalLogsDir(); + } + + @Test + @Override + public void testLazyEcsFileCreation() throws Exception { + super.testLazyEcsFileCreation(); + } + + @Test + @Override + public void testLogReformattingReplaceOriginal() throws IOException { + super.testLogReformattingReplaceOriginal(); + } + + @Test + @Override + public void testDynamicConfiguration() throws Exception { + super.testDynamicConfiguration(); + } + + @Test + @Override + public void testLogOverride() throws IOException { + super.testLogOverride(); + } + + @Test + @Override + public void testEmptyFormatterAllowList() throws Exception { + super.testEmptyFormatterAllowList(); + } + + @Test + @Override + public void testReformattedLogRolling() throws IOException { + super.testReformattedLogRolling(); + } +} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java new file mode 100644 index 0000000000..4f6e009153 --- /dev/null +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_17_1InstrumentationTest.java @@ -0,0 +1,46 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.log4j2; + +import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; + +import java.util.List; + +@DisabledOnOs(OS.WINDOWS) +public class Log4j2_17_1InstrumentationTest { + private final JUnit4TestClassWithDependencyRunner runner; + + public Log4j2_17_1InstrumentationTest() throws Exception { + List dependencies = List.of( + "org.apache.logging.log4j:log4j-core:2.17.1", + "org.apache.logging.log4j:log4j-api:2.17.1", + "co.elastic.logging:log4j2-ecs-layout:1.3.2" + ); + runner = new JUnit4TestClassWithDependencyRunner(dependencies, Log4j2InstrumentationTestVersions.class, Log4j2InstrumentationTest.class, + Log4j2InstrumentationTest.Log4j2LoggerFacade.class); + } + + @Test + public void testVersions() { + runner.run(); + } +} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java new file mode 100644 index 0000000000..cfb8bf7df6 --- /dev/null +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/Log4j2_6SInstrumentationTest.java @@ -0,0 +1,46 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.log4j2; + +import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; + +import java.util.List; + +@DisabledOnOs(OS.WINDOWS) +public class Log4j2_6SInstrumentationTest { + private final JUnit4TestClassWithDependencyRunner runner; + + public Log4j2_6SInstrumentationTest() throws Exception { + List dependencies = List.of( + "org.apache.logging.log4j:log4j-core:2.6", + "org.apache.logging.log4j:log4j-api:2.6", + "co.elastic.logging:log4j2-ecs-layout:1.3.2" + ); + runner = new JUnit4TestClassWithDependencyRunner(dependencies, Log4j2InstrumentationTestVersions.class, Log4j2InstrumentationTest.class, + Log4j2InstrumentationTest.Log4j2LoggerFacade.class); + } + + @Test + public void testVersions() { + runner.run(); + } +} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java new file mode 100644 index 0000000000..3c1aa79b0a --- /dev/null +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2ErrorCapturingTestVersions.java @@ -0,0 +1,51 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package co.elastic.apm.agent.log4j2.error; + +import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This class only delegates tests to the current-version log4j2 tests through JUnit 4, so that it can be ran using + * {@link JUnit4TestClassWithDependencyRunner} in a dedicated CL where an older log4j2 version is loaded. + * This is required because the agent is using log4j2 and in tests they retain their original packages (relocation only + * takes place during packaging). + */ +@Ignore +public class Log4j2ErrorCapturingTestVersions extends Log4j2LoggerErrorCapturingInstrumentationTest { + + @Test + @Override + public void captureErrorExceptionWithStringMessage() { + super.captureErrorExceptionWithStringMessage(); + } + + @Test + @Override + public void captureErrorExceptionWithMessageMessage() { + super.captureErrorExceptionWithMessageMessage(); + } + + @Test + @Override + public void captureFatalException() { + super.captureFatalException(); + } +} diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2LoggerErrorCapturingInstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2LoggerErrorCapturingInstrumentationTest.java similarity index 85% rename from apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2LoggerErrorCapturingInstrumentationTest.java rename to apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2LoggerErrorCapturingInstrumentationTest.java index 19e05d94ad..08fd54465a 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/java/co/elastic/apm/agent/log4j2/Log4j2LoggerErrorCapturingInstrumentationTest.java +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2LoggerErrorCapturingInstrumentationTest.java @@ -16,20 +16,20 @@ * specific language governing permissions and limitations * under the License. */ -package co.elastic.apm.agent.log4j2; +package co.elastic.apm.agent.log4j2.error; import co.elastic.apm.agent.loginstr.error.AbstractErrorLoggingInstrumentationTest; -import co.elastic.apm.agent.testutils.TestClassWithDependencyRunner; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessageFactory; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** * Only tested through dedicated class loaders for latest and oldest-supported versions. - * See {@link co.elastic.apm.agent.log4j2.Log4j2InstrumentationTest} + * See {@link Log4j2ErrorCapturingTestVersions} */ -@TestClassWithDependencyRunner.DisableOutsideOfRunner +@Disabled public class Log4j2LoggerErrorCapturingInstrumentationTest extends AbstractErrorLoggingInstrumentationTest { private static final Logger logger = LogManager.getLogger(Log4j2LoggerErrorCapturingInstrumentationTest.class); @@ -42,7 +42,7 @@ void captureErrorExceptionWithStringMessage() { @Test void captureErrorExceptionWithMessageMessage() { - logger.error(ParameterizedMessageFactory.INSTANCE.newMessage("exception captured with parameter {}", new Object[]{"foo"}), new RuntimeException("some business exception")); + logger.error(ParameterizedMessageFactory.INSTANCE.newMessage("exception captured with parameter {}", "foo"), new RuntimeException("some business exception")); verifyExceptionCaptured("some business exception", RuntimeException.class); } diff --git a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java similarity index 51% rename from apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java rename to apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java index 14c01ce0cb..06415b3b49 100644 --- a/apm-agent-plugin-sdk/src/test/java/co/elastic/apm/agent/sdk/bytebuddy/clazzes/AnonymousNestedClass.java +++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/java/co/elastic/apm/agent/log4j2/error/Log4j2_17_1ErrorCapturingTest.java @@ -16,24 +16,27 @@ * specific language governing permissions and limitations * under the License. */ -package co.elastic.apm.agent.sdk.bytebuddy.clazzes; +package co.elastic.apm.agent.log4j2.error; -public class AnonymousNestedClass { - public static Class getAnonymousClass() { - Factory f = new Factory() { - @Override - public Object getObject() { - return new Object() { - @Override - public String toString() { - return "foo"; - } - }; - } - }; - return f.getObject().getClass(); +import co.elastic.apm.agent.testutils.JUnit4TestClassWithDependencyRunner; +import org.junit.jupiter.api.Test; + +import java.util.List; + +public class Log4j2_17_1ErrorCapturingTest { + private final JUnit4TestClassWithDependencyRunner runner; + + public Log4j2_17_1ErrorCapturingTest() throws Exception { + List dependencies = List.of( + "org.apache.logging.log4j:log4j-core:2.17.1", + "org.apache.logging.log4j:log4j-api:2.17.1" + ); + runner = new JUnit4TestClassWithDependencyRunner(dependencies, Log4j2ErrorCapturingTestVersions.class, + Log4j2LoggerErrorCapturingInstrumentationTest.class); } - public static interface Factory { - Object getObject(); + + @Test + public void testVersions() { + runner.run(); } } diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/resources/log4j2.xml b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/resources/log4j2.xml similarity index 100% rename from apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin-tests/src/test/resources/log4j2.xml rename to apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/test/resources/log4j2.xml diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml index 2d2050f175..f7bbb07d4f 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-impl/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-logback-plugin-impl diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml index 6fc64818c9..4fd0893477 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/apm-logback-plugin-legacy-tests/pom.xml @@ -5,7 +5,7 @@ apm-logback-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-logback-plugin-legacy-tests diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml index 68814b5d8b..c1bb26be24 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logback-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-logback-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml index 4a47e7551b..aa15887e3d 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-logging-plugin-common diff --git a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml index 854c519c1c..ef68a3977c 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-slf4j-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-slf4j-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml index 6386b8d133..6ab4ccfb14 100644 --- a/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/apm-tomcat-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-logging-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-tomcat-logging-plugin diff --git a/apm-agent-plugins/apm-logging-plugin/pom.xml b/apm-agent-plugins/apm-logging-plugin/pom.xml index 7a9743e7b8..6cded057a0 100644 --- a/apm-agent-plugins/apm-logging-plugin/pom.xml +++ b/apm-agent-plugins/apm-logging-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-logging-plugin @@ -25,7 +25,6 @@ apm-tomcat-logging-plugin apm-slf4j-plugin apm-jul-plugin - apm-log4j2-plugin-tests
diff --git a/apm-agent-plugins/apm-micrometer-plugin/pom.xml b/apm-agent-plugins/apm-micrometer-plugin/pom.xml index ac9be92aa9..e30162460a 100644 --- a/apm-agent-plugins/apm-micrometer-plugin/pom.xml +++ b/apm-agent-plugins/apm-micrometer-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 @@ -23,7 +23,7 @@ io.micrometer micrometer-core - 1.13.3 + 1.13.2 provided diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml index c64fd931e8..349cb74464 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/pom.xml @@ -4,7 +4,7 @@ apm-mongodb co.elastic.apm - 1.52.0 + 1.51.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml index 93118663e2..7f23b23c74 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb3-plugin/pom.xml @@ -3,7 +3,7 @@ apm-mongodb co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml index f6d6864bcf..fd0b75ed2f 100644 --- a/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml +++ b/apm-agent-plugins/apm-mongodb/apm-mongodb4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-mongodb co.elastic.apm - 1.52.0 + 1.51.0 apm-mongodb4-plugin diff --git a/apm-agent-plugins/apm-mongodb/pom.xml b/apm-agent-plugins/apm-mongodb/pom.xml index 5bdce0eb6e..87fa2da510 100644 --- a/apm-agent-plugins/apm-mongodb/pom.xml +++ b/apm-agent-plugins/apm-mongodb/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-mongodb diff --git a/apm-agent-plugins/apm-okhttp-plugin/pom.xml b/apm-agent-plugins/apm-okhttp-plugin/pom.xml index 3a387dd968..752edab5f8 100644 --- a/apm-agent-plugins/apm-okhttp-plugin/pom.xml +++ b/apm-agent-plugins/apm-okhttp-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-okhttp-plugin diff --git a/apm-agent-plugins/apm-okhttp-test/pom.xml b/apm-agent-plugins/apm-okhttp-test/pom.xml index 0cb79c1c28..7a78147ab3 100644 --- a/apm-agent-plugins/apm-okhttp-test/pom.xml +++ b/apm-agent-plugins/apm-okhttp-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml index 5930f06861..69d5af0b44 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-embedded-metrics-sdk/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.51.0 apm-opentelemetry-embedded-metrics-sdk diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml index 283aeaad00..b2a0ebe0f7 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-common/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml index b63ec61ecb..bdd3d6c2d3 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-latest/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml index b908102577..c259be6795 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/apm-opentelemetry-metrics-bridge-v1_14/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry-metrics-bridge-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml index b5faf16e98..a4a0ff3907 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metrics-bridge-parent/pom.xml @@ -3,7 +3,7 @@ apm-opentelemetry co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml index 94d50f8415..04712e4f46 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.51.0 apm-opentelemetry-metricsdk-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml index 239ecbcf3c..e049ee0caa 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.51.0 apm-opentelemetry-plugin diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml index 7d4058f2ff..f1ed785e52 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-opentelemetry - 1.52.0 + 1.51.0 ${project.groupId}:${project.artifactId} diff --git a/apm-agent-plugins/apm-opentelemetry/pom.xml b/apm-agent-plugins/apm-opentelemetry/pom.xml index b4b496f872..b1643fd8e5 100644 --- a/apm-agent-plugins/apm-opentelemetry/pom.xml +++ b/apm-agent-plugins/apm-opentelemetry/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.51.0 apm-opentelemetry @@ -20,7 +20,7 @@ to make sure that in the future we stay compatible with the previous version. --> 1.32.0 - 1.27.0-alpha + 1.25.0-alpha 8 8 diff --git a/apm-agent-plugins/apm-opentracing-plugin/pom.xml b/apm-agent-plugins/apm-opentracing-plugin/pom.xml index e7c0db728f..d497b04a43 100644 --- a/apm-agent-plugins/apm-opentracing-plugin/pom.xml +++ b/apm-agent-plugins/apm-opentracing-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-opentracing-plugin diff --git a/apm-agent-plugins/apm-process-plugin/pom.xml b/apm-agent-plugins/apm-process-plugin/pom.xml index ebca33388e..44830d677a 100644 --- a/apm-agent-plugins/apm-process-plugin/pom.xml +++ b/apm-agent-plugins/apm-process-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-profiling-plugin/pom.xml b/apm-agent-plugins/apm-profiling-plugin/pom.xml index 74833d32f8..1110191a05 100644 --- a/apm-agent-plugins/apm-profiling-plugin/pom.xml +++ b/apm-agent-plugins/apm-profiling-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-profiling-plugin diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml index f4e8da2ce7..38c1c1f67c 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml index aad2b1e555..4f1c20260c 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml index c4cfbddea5..c9e49dcbfc 100644 --- a/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml +++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml @@ -3,7 +3,7 @@ apm-quartz co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-quartz/pom.xml b/apm-agent-plugins/apm-quartz/pom.xml index 3f2a829a15..d1abbaa31f 100644 --- a/apm-agent-plugins/apm-quartz/pom.xml +++ b/apm-agent-plugins/apm-quartz/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-quartz diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml index 2ec83509d0..f8065e3f8b 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.51.0 apm-rabbitmq-plugin diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml index 080df4c32d..11278f1746 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.51.0 apm-rabbitmq-spring diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml index 2eaec66e99..277a893018 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-3/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.51.0 apm-rabbitmq-test-3 diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml index b789efe0b7..a96df80934 100644 --- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-test-4/pom.xml @@ -5,7 +5,7 @@ apm-rabbitmq co.elastic.apm - 1.52.0 + 1.51.0 apm-rabbitmq-test-4 diff --git a/apm-agent-plugins/apm-rabbitmq/pom.xml b/apm-agent-plugins/apm-rabbitmq/pom.xml index 142b78d458..7ee5a9bce2 100644 --- a/apm-agent-plugins/apm-rabbitmq/pom.xml +++ b/apm-agent-plugins/apm-rabbitmq/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-rabbitmq diff --git a/apm-agent-plugins/apm-reactor-plugin/pom.xml b/apm-agent-plugins/apm-reactor-plugin/pom.xml index fc27ef1ccc..a5ba1e858a 100644 --- a/apm-agent-plugins/apm-reactor-plugin/pom.xml +++ b/apm-agent-plugins/apm-reactor-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.51.0 apm-reactor-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml index 52efbbc288..a18f749aea 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-2-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jedis-2-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml index efd93cb423..884abcd4bb 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-3-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jedis-3-tests diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml index 8ab645baf3..1a254e62b8 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jedis-4-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml index ac6bd4c80b..1a2b55695f 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-5-tests/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jedis-5-tests @@ -46,7 +46,7 @@ redis.clients jedis - 5.1.5 + 5.1.3 test diff --git a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml index 6b67c54d5d..011369298f 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-jedis-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml index a868bf5067..3222af65d1 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-3-tests/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml index e0a40d2b3b..09e489d14d 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/pom.xml @@ -3,7 +3,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml index 91b1f66a32..162b49ce34 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redis-common/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-redis-common diff --git a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml index 797b7714af..3affe7abf0 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/pom.xml @@ -5,7 +5,7 @@ apm-redis-plugin co.elastic.apm - 1.52.0 + 1.51.0 apm-redisson-plugin diff --git a/apm-agent-plugins/apm-redis-plugin/pom.xml b/apm-agent-plugins/apm-redis-plugin/pom.xml index 6048ec5714..d0ddda2d60 100644 --- a/apm-agent-plugins/apm-redis-plugin/pom.xml +++ b/apm-agent-plugins/apm-redis-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-redis-plugin diff --git a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml index 2c0227853f..5082c7b807 100644 --- a/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml +++ b/apm-agent-plugins/apm-scala-concurrent-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-scala-concurrent-plugin diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml index 4d941f97f0..518805891c 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin-jakartaee-test/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml index 71a7431f6f..33aee9d478 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-scheduled-annotation-plugin diff --git a/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java b/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java index d5a8a1163c..49c8a4e1a0 100644 --- a/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java +++ b/apm-agent-plugins/apm-scheduled-annotation-plugin/src/test/java/co/elastic/apm/agent/scheduled/TimerTaskInstrumentationTest.java @@ -80,7 +80,7 @@ public void run() { }, 1); reporter.awaitTransactionCount(1); - assertThat(reporter.getTransactions().get(0).getNameAsString()).isEqualTo("TimerTaskInstrumentationTest$1#run"); + assertThat(reporter.getTransactions().get(0).getNameAsString()).isEqualTo("1#run"); } public static class TestTimerTask extends TimerTask { diff --git a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml index 63b9bf7c72..8d9f648693 100644 --- a/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml +++ b/apm-agent-plugins/apm-servlet-jakarta-test/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-servlet-jakarta-test diff --git a/apm-agent-plugins/apm-servlet-plugin/pom.xml b/apm-agent-plugins/apm-servlet-plugin/pom.xml index 6d0208a5ef..951f02fc31 100644 --- a/apm-agent-plugins/apm-servlet-plugin/pom.xml +++ b/apm-agent-plugins/apm-servlet-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-servlet-plugin diff --git a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml index 2213b1c9ac..d153339d75 100644 --- a/apm-agent-plugins/apm-sparkjava-plugin/pom.xml +++ b/apm-agent-plugins/apm-sparkjava-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml index 1f58112775..913eaa4f1a 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-restclient-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.0 + 1.51.0 apm-spring-restclient-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml index be0d910972..8cad64b281 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.0 + 1.51.0 apm-spring-resttemplate-plugin @@ -71,12 +71,6 @@ ${project.version} test - - ${project.groupId} - apm-urlconnection-plugin - ${project.version} - test - ${project.groupId} apm-apache-httpclient5-plugin diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java index d822e255b3..29bc51f423 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-plugin/src/test/java/co/elastic/apm/agent/resttemplate/SpringRestTemplateInstrumentationTest.java @@ -22,9 +22,6 @@ import co.elastic.apm.agent.httpclient.AbstractHttpClientInstrumentationTest; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; import org.springframework.http.client.ClientHttpRequestFactory; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; @@ -60,16 +57,6 @@ protected void performGet(String path) { Java17Code.performGet(restTemplate, path); } - @Override - protected boolean isBodyCapturingSupported() { - return Java17Code.isBodyCapturingSupported(restTemplate); - } - - @Override - protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { - Java17Code.performPost(restTemplate, path, content, contentTypeHeader); - } - /** * The code is compiled with java 17 but potentially run with java 11. * JUnit will inspect the test class, therefore it must not contain any references to java 17 code. @@ -80,14 +67,6 @@ public static void performGet(Object restTemplate, String path) { ((RestTemplate) restTemplate).getForEntity(path, String.class); } - public static void performPost(Object restTemplateObj, String path, byte[] content, String contentTypeHeader) { - RestTemplate restTemplate = (RestTemplate) restTemplateObj; - HttpHeaders headers = new HttpHeaders(); - headers.set("Content-Type", contentTypeHeader); - HttpEntity entity = new HttpEntity(content, headers); - restTemplate.exchange(path, HttpMethod.POST, entity, String.class); - } - public static Iterable> getRestTemplateFactories() { return Stream.>of( SimpleClientHttpRequestFactory::new, @@ -96,15 +75,5 @@ public static Iterable> getRestTemplateFactories() { .map(fac -> (Supplier) (() -> new RestTemplate(fac.get()))) .collect(Collectors.toList()); } - - public static boolean isBodyCapturingSupported(Object restTemplateObj) { - RestTemplate restTemplate = (RestTemplate) restTemplateObj; - if (restTemplate.getRequestFactory() instanceof OkHttp3ClientHttpRequestFactory) { - // We do not support body capturing for OkHttp yet - return false; - } - return true; - } - } } diff --git a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml index c9583915eb..01d9ddd8bb 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/apm-spring-resttemplate-test/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-resttemplate - 1.52.0 + 1.51.0 apm-spring-resttemplate-test diff --git a/apm-agent-plugins/apm-spring-resttemplate/pom.xml b/apm-agent-plugins/apm-spring-resttemplate/pom.xml index 4e02157fb1..e4fca8d718 100644 --- a/apm-agent-plugins/apm-spring-resttemplate/pom.xml +++ b/apm-agent-plugins/apm-spring-resttemplate/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.51.0 apm-spring-resttemplate diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml index e8451f623d..e0b395c222 100755 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.51.0 apm-spring-webclient-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java deleted file mode 100644 index 6ef7dae3c6..0000000000 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/BodyCaptureRegistry.java +++ /dev/null @@ -1,30 +0,0 @@ -package co.elastic.apm.agent.springwebclient; - -import co.elastic.apm.agent.httpclient.RequestBodyRecordingHelper; -import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent; -import co.elastic.apm.agent.sdk.weakconcurrent.WeakMap; -import co.elastic.apm.agent.tracer.AbstractSpan; -import co.elastic.apm.agent.tracer.Span; -import org.springframework.http.client.reactive.ClientHttpRequest; - -import javax.annotation.Nullable; - -public class BodyCaptureRegistry { - - private static final WeakMap PENDING_RECORDINGS = WeakConcurrent.buildMap(); - - public static void maybeCaptureBodyFor(AbstractSpan abstractSpan, ClientHttpRequest request) { - if (!(abstractSpan instanceof Span)) { - return; - } - Span span = (Span) abstractSpan; - if (span.getContext().getHttp().getRequestBody().startCapture()) { - PENDING_RECORDINGS.put(request, new RequestBodyRecordingHelper(span)); - } - } - - @Nullable - public static RequestBodyRecordingHelper activateRecording(ClientHttpRequest request) { - return PENDING_RECORDINGS.remove(request); - } -} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java deleted file mode 100644 index ceeec4be33..0000000000 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpConnectorInstrumentation.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.springwebclient; - -import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; -import co.elastic.apm.agent.tracer.GlobalTracer; -import co.elastic.apm.agent.tracer.TraceState; -import co.elastic.apm.agent.tracer.Tracer; -import net.bytebuddy.asm.Advice; -import net.bytebuddy.description.NamedElement; -import net.bytebuddy.description.method.MethodDescription; -import net.bytebuddy.description.type.TypeDescription; -import net.bytebuddy.matcher.ElementMatcher; -import org.springframework.http.HttpMethod; -import org.springframework.http.client.reactive.ClientHttpRequest; -import reactor.core.publisher.Mono; - -import javax.annotation.Nullable; -import java.net.URI; -import java.util.Arrays; -import java.util.Collection; -import java.util.function.Function; - -import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; -import static net.bytebuddy.matcher.ElementMatchers.isInterface; -import static net.bytebuddy.matcher.ElementMatchers.nameContains; -import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; -import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.not; -import static net.bytebuddy.matcher.ElementMatchers.takesArgument; - -/** - * Instruments all {@link org.springframework.http.client.reactive.ClientHttpConnector} types, to preserve the span context - * within the callback passed to {@link org.springframework.http.client.reactive.ClientHttpConnector#connect(HttpMethod, URI, Function)}. - * If the span is ready for it, this will cause the request body to be captured. - */ -public class ClientHttpConnectorInstrumentation extends ElasticApmInstrumentation { - - private static final Tracer tracer = GlobalTracer.get(); - - @Override - public ElementMatcher getTypeMatcherPreFilter() { - return nameStartsWith("org.springframework.http.") - .and(nameContains("Connector")); - } - - @Override - public ElementMatcher getTypeMatcher() { - return hasSuperType(named("org.springframework.http.client.reactive.ClientHttpConnector")) - .and(not(isInterface())); - } - - @Override - public ElementMatcher getMethodMatcher() { - return named("connect") - .and(takesArgument(2, named("java.util.function.Function"))); - } - - @Override - public Collection getInstrumentationGroupNames() { - return Arrays.asList("http-client", "spring-webclient"); - } - - public static class AdviceClass { - - @Nullable - @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) - @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(2)) - public static Function> onBefore(@Advice.Argument(2) Function> requestCallback) { - TraceState context = tracer.currentContext(); - if (context.isEmpty()) { - return requestCallback; - } - return new Function>() { - @Override - public Mono apply(ClientHttpRequest clientHttpRequest) { - // Note that even though ClientHttpRequest exposes headers via the interface, those are empty - // therefore we check the span capturing pre-conditions in the WebClientExchangeFunctionInstrumentation instead - BodyCaptureRegistry.maybeCaptureBodyFor(context.getSpan(), clientHttpRequest); - return requestCallback.apply(clientHttpRequest); - } - }; - } - - } -} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java deleted file mode 100644 index 2a7757fced..0000000000 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientHttpRequestInstrumentation.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package co.elastic.apm.agent.springwebclient; - -import co.elastic.apm.agent.httpclient.RequestBodyRecordingHelper; -import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; -import net.bytebuddy.asm.Advice; -import net.bytebuddy.description.NamedElement; -import net.bytebuddy.description.method.MethodDescription; -import net.bytebuddy.description.type.TypeDescription; -import net.bytebuddy.matcher.ElementMatcher; -import org.reactivestreams.Publisher; -import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.http.client.reactive.ClientHttpRequest; -import reactor.core.publisher.Flux; - -import javax.annotation.Nullable; -import java.util.Arrays; -import java.util.Collection; -import java.util.function.Consumer; -import java.util.function.Function; - -import static net.bytebuddy.matcher.ElementMatchers.hasSuperType; -import static net.bytebuddy.matcher.ElementMatchers.isInterface; -import static net.bytebuddy.matcher.ElementMatchers.nameContains; -import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; -import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.not; -import static net.bytebuddy.matcher.ElementMatchers.takesArgument; - -/** - * Instruments both {@link ClientHttpRequest#writeWith(Publisher)} and {@link ClientHttpRequest#writeAndFlushWith(Publisher)} - * to capture the request body. - */ -public class ClientHttpRequestInstrumentation extends ElasticApmInstrumentation { - - @Override - public ElementMatcher getTypeMatcherPreFilter() { - return nameStartsWith("org.springframework.http.client.reactive") - .and(nameContains("HttpRequest")); - } - - @Override - public ElementMatcher getTypeMatcher() { - return hasSuperType(named("org.springframework.http.client.reactive.ClientHttpRequest")) - .and(not(isInterface())); - } - - @Override - public ElementMatcher getMethodMatcher() { - return takesArgument(0, named("org.reactivestreams.Publisher")).and( - named("writeWith").or(named("writeAndFlushWith"))); - } - - @Override - public Collection getInstrumentationGroupNames() { - return Arrays.asList("http-client", "spring-webclient"); - } - - public static class AdviceClass { - - @Nullable - @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) - @Advice.AssignReturned.ToArguments(@Advice.AssignReturned.ToArguments.ToArgument(0)) - @SuppressWarnings("unchecked") - public static Publisher onBefore( - @Advice.Origin("#m") String methodName, - @Advice.This ClientHttpRequest clientRequest, - @Advice.Argument(0) Publisher bodyPublisher - ) { - RequestBodyRecordingHelper activeRecording = BodyCaptureRegistry.activateRecording(clientRequest); - // Note that activateRecording would return null on subsequent calls for the same span - // This is important because writeAndFlushWith might be built on top of writeWith (or the other way round) - // The removal helps to not double capture the body in this case. - if (activeRecording == null) { - return bodyPublisher; - } - RecordingConsumer recordingConsumer = new RecordingConsumer(activeRecording); - if (methodName.equals("writeWith")) { - Publisher actualPublisher = (Publisher) bodyPublisher; - return Flux.from(actualPublisher) - .doOnNext(recordingConsumer); - } else if (methodName.equals("writeAndFlushWith")) { - Publisher> actualPublisher - = (Publisher>) bodyPublisher; - return Flux.from(actualPublisher) - .map(new Function, Publisher>() { - @Override - public Publisher apply(Publisher publisher) { - return Flux.from(publisher) - .doOnNext(recordingConsumer); - } - }); - } else { - throw new IllegalStateException("This case should never happen"); - } - } - } - - private static class RecordingConsumer implements Consumer { - - private final RequestBodyRecordingHelper recordTo; - - private RecordingConsumer(RequestBodyRecordingHelper recordTo) { - this.recordTo = recordTo; - } - - @Override - public void accept(DataBuffer dataBuffer) { - int positionBackUp = dataBuffer.readPosition(); - while (dataBuffer.readableByteCount() > 0) { - if (!recordTo.appendToBody(dataBuffer.read())) { - break; - } - } - dataBuffer.readPosition(positionBackUp); - } - } - -} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java deleted file mode 100644 index 1bc6f13f66..0000000000 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/ClientRequestHeaderGetter.java +++ /dev/null @@ -1,29 +0,0 @@ -package co.elastic.apm.agent.springwebclient; - -import co.elastic.apm.agent.tracer.dispatch.TextHeaderGetter; -import org.springframework.web.reactive.function.client.ClientRequest; - -import javax.annotation.Nullable; -import java.util.List; - -public class ClientRequestHeaderGetter implements TextHeaderGetter { - - public static final ClientRequestHeaderGetter INSTANCE = new ClientRequestHeaderGetter(); - - @Nullable - @Override - public String getFirstHeader(String headerName, ClientRequest carrier) { - return carrier.headers().getFirst(headerName); - } - - @Override - public void forEach(String headerName, ClientRequest carrier, S state, HeaderConsumer consumer) { - List headerValues = carrier.headers().get(headerName); - if (headerValues == null) { - return; - } - for (String value : headerValues) { - consumer.accept(value, state); - } - } -} diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java index aef6617f6e..6ae015d439 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/java/co/elastic/apm/agent/springwebclient/WebClientExchangeFunctionInstrumentation.java @@ -22,8 +22,8 @@ import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; import co.elastic.apm.agent.tracer.GlobalTracer; import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Tracer; +import co.elastic.apm.agent.tracer.TraceState; import net.bytebuddy.asm.Advice; import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument; import net.bytebuddy.description.NamedElement; @@ -85,8 +85,6 @@ public static Object[] onBefore(@Advice.Argument(0) ClientRequest clientRequest) span.activate(); } - HttpClientHelper.checkBodyCapturePreconditions(tracer.getActive(), clientRequest, ClientRequestHeaderGetter.INSTANCE); - TraceState toPropagate = tracer.currentContext(); if (!toPropagate.isEmpty()) { ClientRequest.Builder builder = ClientRequest.from(clientRequest); diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation index 7e3bb40c17..808ca3da32 100755 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation @@ -1,3 +1 @@ co.elastic.apm.agent.springwebclient.WebClientExchangeFunctionInstrumentation -co.elastic.apm.agent.springwebclient.ClientHttpConnectorInstrumentation -co.elastic.apm.agent.springwebclient.ClientHttpRequestInstrumentation diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java index 126a999d5d..2a2fd670f1 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationIT.java @@ -24,7 +24,6 @@ import org.junit.jupiter.params.provider.ValueSource; import org.springframework.http.client.reactive.ReactorClientHttpConnector; import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; import java.util.Arrays; @@ -83,18 +82,5 @@ public boolean isTestHttpCallWithUserInfoEnabled() { protected void performGet(String path) throws Exception { webClient.get().uri(path).exchangeToMono(response -> response.bodyToMono(String.class)).block(); } - - @Override - protected boolean isBodyCapturingSupported() { - return true; - } - - @Override - protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { - webClient.post().uri(path) - .header("Content-Type", contentTypeHeader) - .body(Mono.just(content), byte[].class) - .exchangeToMono(response -> response.bodyToMono(String.class)).block(); - } } } diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java index d949a8b7e0..006f673732 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webclient-plugin/src/test/java/co/elastic/apm/agent/springwebclient/WebClientInstrumentationTest.java @@ -26,7 +26,6 @@ import org.springframework.http.client.reactive.JettyClientHttpConnector; import org.springframework.http.client.reactive.ReactorClientHttpConnector; import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; @RunWith(Parameterized.class) @@ -87,16 +86,6 @@ protected void performGet(String path) throws Exception { strategy.execute(webClient, path); } - @Override - protected boolean isBodyCapturingSupported() { - return true; - } - - @Override - protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { - strategy.execute(webClient, path, content, contentTypeHeader); - } - /** * Client-side API variants to cover. While we know that implementation details might delegate to the same method * we have to test for it to prevent regression in a future version @@ -109,34 +98,12 @@ void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).exchange() // deprecated API .block(); } - - @Override - void execute(Object client, String uri, byte[] body, String contentTypeHeader) { - ((WebClient) client).post() - .uri(uri) - .header("Content-Type", contentTypeHeader) - .body(Mono.just(body), byte[].class) - .exchange() // deprecated API - .block(); - - } }, EXCHANGE_TO_FLUX { @Override void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).exchangeToFlux(response -> response.bodyToFlux(String.class)).blockLast(); } - - @Override - void execute(Object client, String uri, byte[] body, String contentTypeHeader) { - ((WebClient) client).post() - .uri(uri) - .header("Content-Type", contentTypeHeader) - .body(Mono.just(body), byte[].class) - .exchangeToFlux(response -> response.bodyToFlux(String.class)) - .blockLast(); - - } }, EXCHANGE_TO_MONO { // TODO @@ -144,37 +111,15 @@ void execute(Object client, String uri, byte[] body, String contentTypeHeader) { void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).exchangeToMono(response -> response.bodyToMono(String.class)).block(); } - - @Override - void execute(Object client, String uri, byte[] body, String contentTypeHeader) { - ((WebClient) client).post() - .uri(uri) - .header("Content-Type", contentTypeHeader) - .body(Mono.just(body), byte[].class) - .exchangeToMono(response -> response.bodyToMono(String.class)).block(); - - } }, RETRIEVE { @Override void execute(Object client, String uri) { ((WebClient) client).get().uri(uri).retrieve().bodyToMono(String.class).block(); } - - @Override - void execute(Object client, String uri, byte[] body, String contentTypeHeader) { - ((WebClient) client).post() - .uri(uri) - .header("Content-Type", contentTypeHeader) - .body(Mono.just(body), byte[].class) - .retrieve().bodyToMono(String.class).block(); - - } }; abstract void execute(Object client, String uri); - - abstract void execute(Object client, String uri, byte[] body, String contentTypeHeader); } public static class Clients { diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml index b932b662d4..709fab3dec 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common-spring5/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.51.0 apm-spring-webflux-common-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml index fa11f5e4ac..c74d903e43 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-common/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.51.0 apm-spring-webflux-common diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml index fc6ddbd4a6..84d32fc284 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-plugin/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.51.0 apm-spring-webflux-plugin diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml index 6e5db947e2..b67b4f557f 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.51.0 apm-spring-webflux-spring5 diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml index f3588941ee..3ee5822e47 100644 --- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-spring-webflux - 1.52.0 + 1.51.0 apm-spring-webflux-testapp diff --git a/apm-agent-plugins/apm-spring-webflux/pom.xml b/apm-agent-plugins/apm-spring-webflux/pom.xml index 8d3839ffb1..1adb5c4be6 100644 --- a/apm-agent-plugins/apm-spring-webflux/pom.xml +++ b/apm-agent-plugins/apm-spring-webflux/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-plugins - 1.52.0 + 1.51.0 apm-spring-webflux diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml index 29661bc77d..60b3f76d98 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-plugin/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.52.0 + 1.51.0 apm-spring-webmvc-plugin diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml index 5ef7b9c735..222383f9bc 100644 --- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/pom.xml @@ -5,7 +5,7 @@ apm-spring-webmvc co.elastic.apm - 1.52.0 + 1.51.0 apm-spring-webmvc-spring5 diff --git a/apm-agent-plugins/apm-spring-webmvc/pom.xml b/apm-agent-plugins/apm-spring-webmvc/pom.xml index 05097f14e3..f9e77d6ec7 100644 --- a/apm-agent-plugins/apm-spring-webmvc/pom.xml +++ b/apm-agent-plugins/apm-spring-webmvc/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-struts-plugin/pom.xml b/apm-agent-plugins/apm-struts-plugin/pom.xml index 55c20a73e0..980c347b79 100644 --- a/apm-agent-plugins/apm-struts-plugin/pom.xml +++ b/apm-agent-plugins/apm-struts-plugin/pom.xml @@ -3,7 +3,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml index 67c682c919..94ddfc5991 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/pom.xml +++ b/apm-agent-plugins/apm-urlconnection-plugin/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-urlconnection-plugin diff --git a/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java b/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java index 2105eee66c..a7ff424f58 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java +++ b/apm-agent-plugins/apm-urlconnection-plugin/src/main/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentation.java @@ -19,15 +19,14 @@ package co.elastic.apm.agent.urlconnection; import co.elastic.apm.agent.httpclient.HttpClientHelper; -import co.elastic.apm.agent.httpclient.RequestBodyRecordingOutputStream; import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; import co.elastic.apm.agent.sdk.state.CallDepth; import co.elastic.apm.agent.sdk.state.GlobalState; import co.elastic.apm.agent.tracer.AbstractSpan; import co.elastic.apm.agent.tracer.GlobalTracer; +import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Outcome; import co.elastic.apm.agent.tracer.Span; -import co.elastic.apm.agent.tracer.TraceState; import co.elastic.apm.agent.tracer.Tracer; import co.elastic.apm.agent.tracer.reference.ReferenceCountedMap; import net.bytebuddy.asm.Advice; @@ -37,7 +36,6 @@ import net.bytebuddy.matcher.ElementMatcher; import javax.annotation.Nullable; -import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Arrays; @@ -56,8 +54,6 @@ public abstract class HttpUrlConnectionInstrumentation extends ElasticApmInstrum public static final Tracer tracer = GlobalTracer.get(); // must be public! public static final ReferenceCountedMap> inFlightSpans = tracer.newReferenceCountedMap(); - public static final ReferenceCountedMap> captureBodyForSpan = tracer.newReferenceCountedMap(); - public static final CallDepth callDepth = CallDepth.get(HttpUrlConnectionInstrumentation.class); @Override @@ -75,80 +71,6 @@ public ElementMatcher getTypeMatcher() { return hasSuperType(is(HttpURLConnection.class)).and(not(named("sun.net.www.protocol.https.HttpsURLConnectionImpl"))); } - public static class CreateSpanAdviceHelper { - - public static Span enter(HttpURLConnection thiz, boolean connectedField, int responseCodeField) { - - //With HEAD requests the connectedField stays false - boolean actuallyConnected = connectedField || responseCodeField != -1; - - boolean isNestedCall = callDepth.isNestedCallAndIncrement(); - TraceState activeContext = tracer.currentContext(); - AbstractSpan parentSpan = activeContext.getSpan(); - Span span = null; - if (parentSpan != null) { - span = inFlightSpans.get(thiz); - if (span == null && !actuallyConnected) { - final URL url = thiz.getURL(); - span = HttpClientHelper.startHttpClientSpan(activeContext, thiz.getRequestMethod(), url.toString(), url.getProtocol(), url.getHost(), url.getPort()); - } - if (!isNestedCall && span != null) { - span.activate(); - } else { - span = null; //do not deactivate this span on exit - } - } - - if (!isNestedCall && !actuallyConnected) { - tracer.currentContext().propagateContext(thiz, UrlConnectionPropertyAccessor.instance(), UrlConnectionPropertyAccessor.instance()); - } - - return span; - } - - public static void exit(HttpURLConnection thiz, @Nullable Throwable t, int responseCode, @Nullable Span spanObject) { - if (callDepth.isNestedCallAndDecrement()) { - if (responseCode != -1 || t != null) { - // Request has ended, no need to longer hold onto the span for request body capture - captureBodyForSpan.remove(thiz); - } - } - Span span = (Span) spanObject; - if (span == null) { - return; - } - try { - if (responseCode != -1) { - inFlightSpans.remove(thiz); - // if the response code is set, the connection has been established via getOutputStream - // if the response code is unset even after getOutputStream has been called, there will be an exception - // checking if "finished" to avoid multiple endings on nested calls - if (!span.isFinished()) { - span.getContext().getHttp().withStatusCode(responseCode); - span.captureException(t).end(); - } - } else if (t != null) { - inFlightSpans.remove(thiz); - - // an exception here is synonym of failure, for example with circular redirects - // checking if "finished" to avoid multiple endings on nested calls - if (!span.isFinished()) { - span.captureException(t) - .withOutcome(Outcome.FAILURE) - .end(); - } - } else { - // if connect or getOutputStream has been called we can't end the span right away - // we have to store associate it with thiz HttpURLConnection instance and end once getInputStream has been called - // note that this could happen on another thread - inFlightSpans.put(thiz, span); - } - } finally { - span.deactivate(); - } - } - - } public static class CreateSpanInstrumentation extends HttpUrlConnectionInstrumentation { public static class AdviceClass { @@ -156,71 +78,86 @@ public static class AdviceClass { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static Object enter(@Advice.This HttpURLConnection thiz, @Advice.FieldValue("connected") boolean connected, - @Advice.FieldValue("responseCode") int responseCode - ) { - return CreateSpanAdviceHelper.enter(thiz, connected, responseCode); + @Advice.FieldValue("responseCode") int responseCode, + @Advice.Origin String signature) { + + //With HEAD requests the connected stays false + boolean actuallyConnected = connected || responseCode != -1; + + boolean isNestedCall = callDepth.isNestedCallAndIncrement(); + TraceState activeContext = tracer.currentContext(); + AbstractSpan parentSpan = activeContext.getSpan(); + Span span = null; + if (parentSpan != null) { + span = inFlightSpans.get(thiz); + if (span == null && !actuallyConnected) { + final URL url = thiz.getURL(); + span = HttpClientHelper.startHttpClientSpan(activeContext, thiz.getRequestMethod(), url.toString(), url.getProtocol(), url.getHost(), url.getPort()); + } + if (!isNestedCall && span != null) { + span.activate(); + } else { + span = null; //do not deactivate this span on exit + } + } + + if (!isNestedCall && !actuallyConnected) { + tracer.currentContext().propagateContext(thiz, UrlConnectionPropertyAccessor.instance(), UrlConnectionPropertyAccessor.instance()); + } + + return span; } @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false) public static void exit(@Advice.This HttpURLConnection thiz, @Advice.Thrown @Nullable Throwable t, @Advice.FieldValue("responseCode") int responseCode, - @Advice.Enter @Nullable Object spanObject - ) { - CreateSpanAdviceHelper.exit(thiz, t, responseCode, (Span) spanObject); - } - - } - - @Override - public ElementMatcher getMethodMatcher() { - return named("connect").and(takesArguments(0)) - .or(named("getInputStream").and(takesArguments(0))) - .or(named("getResponseCode").and(takesArguments(0))); - } - } - - public static class GetOutputStreamInstrumentation extends HttpUrlConnectionInstrumentation { + @Advice.Enter @Nullable Object spanObject, + @Advice.Origin String signature) { - public static class AdviceClass { - @Nullable - @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) - public static Object enter(@Advice.This HttpURLConnection thiz, - @Advice.FieldValue("connected") boolean connected, - @Advice.FieldValue("responseCode") int responseCode - ) { - return CreateSpanAdviceHelper.enter(thiz, connected, responseCode); - } - - @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false) - @Advice.AssignReturned.ToReturned - public static OutputStream exit(@Advice.This HttpURLConnection thiz, - @Advice.Return OutputStream outputStream, - @Advice.Thrown @Nullable Throwable t, - @Advice.FieldValue("responseCode") int responseCode, - @Advice.Enter @Nullable Object spanObject - ) { - if (callDepth.get() == 1 && t == null) { //only wrap on the outermost call and if no exception occurred - Span captureBodyFor = captureBodyForSpan.get(thiz); - if (captureBodyFor == null) { - AbstractSpan currentSpan = tracer.getActive(); - if (HttpClientHelper.checkAndStartRequestBodyCapture(currentSpan, thiz, UrlConnectionPropertyAccessor.instance())) { - captureBodyFor = (Span) currentSpan; - captureBodyForSpan.put(thiz, captureBodyFor); + callDepth.decrement(); + Span span = (Span) spanObject; + if (span == null) { + return; + } + try { + if (responseCode != -1) { + inFlightSpans.remove(thiz); + // if the response code is set, the connection has been established via getOutputStream + // if the response code is unset even after getOutputStream has been called, there will be an exception + // checking if "finished" to avoid multiple endings on nested calls + if (!span.isFinished()) { + span.getContext().getHttp().withStatusCode(responseCode); + span.captureException(t).end(); } + } else if (t != null) { + inFlightSpans.remove(thiz); + + // an exception here is synonym of failure, for example with circular redirects + // checking if "finished" to avoid multiple endings on nested calls + if (!span.isFinished()) { + span.captureException(t) + .withOutcome(Outcome.FAILURE) + .end(); + } + } else { + // if connect or getOutputStream has been called we can't end the span right away + // we have to store associate it with thiz HttpURLConnection instance and end once getInputStream has been called + // note that this could happen on another thread + inFlightSpans.put(thiz, span); } - if (captureBodyFor != null && !captureBodyFor.isFinished()) { - outputStream = new RequestBodyRecordingOutputStream(outputStream, captureBodyFor); - } + } finally { + span.deactivate(); } - CreateSpanAdviceHelper.exit(thiz, t, responseCode, (Span) spanObject); - return outputStream; } } @Override public ElementMatcher getMethodMatcher() { - return named("getOutputStream").and(takesArguments(0)); + return named("connect").and(takesArguments(0)) + .or(named("getOutputStream").and(takesArguments(0))) + .or(named("getInputStream").and(takesArguments(0))) + .or(named("getResponseCode").and(takesArguments(0))); } } @@ -235,7 +172,6 @@ public static class AdviceClass { public static void afterDisconnect(@Advice.This HttpURLConnection thiz, @Advice.Thrown @Nullable Throwable t, @Advice.FieldValue("responseCode") int responseCode) { - captureBodyForSpan.remove(thiz); Span span = inFlightSpans.remove(thiz); if (span != null) { span.captureException(t) diff --git a/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation index 66306dcc22..844fe66aff 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation +++ b/apm-agent-plugins/apm-urlconnection-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation @@ -1,4 +1,3 @@ co.elastic.apm.agent.urlconnection.HttpUrlConnectionInstrumentation$CreateSpanInstrumentation -co.elastic.apm.agent.urlconnection.HttpUrlConnectionInstrumentation$GetOutputStreamInstrumentation co.elastic.apm.agent.urlconnection.HttpUrlConnectionInstrumentation$DisconnectInstrumentation co.elastic.apm.agent.urlconnection.SSLContextInstrumentation diff --git a/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java b/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java index 3a2b03a692..467838f64d 100644 --- a/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java +++ b/apm-agent-plugins/apm-urlconnection-plugin/src/test/java/co/elastic/apm/agent/urlconnection/HttpUrlConnectionInstrumentationTest.java @@ -181,21 +181,4 @@ public void testGetInstrumentationWithErrorEvent() { assertThat(reporter.getErrors()).hasSize(1); } - @Override - protected boolean isBodyCapturingSupported() { - return true; - } - - @Override - protected void performPost(String path, byte[] content, String contentTypeHeader) throws Exception { - final HttpURLConnection urlConnection = (HttpURLConnection) new URL(path).openConnection(); - urlConnection.setDoOutput(true); - urlConnection.setRequestProperty("Content-Type", contentTypeHeader); - - //We call getOutputStream over and over again to ensure our instrumentation deals with that aswell - for (byte b : content) { - urlConnection.getOutputStream().write(b); - } - urlConnection.getResponseCode(); - } } diff --git a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml index 4ee2e2d902..22a47b31e2 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx-common/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.51.0 apm-vertx-common diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml index fa8cc2331b..e9db76719b 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.51.0 apm-vertx3-plugin diff --git a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml index 3106d119a1..1792484614 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx3-test-latest/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.51.0 apm-vertx3-test-latest diff --git a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml index d99f5cdfbe..05e2c35acd 100644 --- a/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml +++ b/apm-agent-plugins/apm-vertx/apm-vertx4-plugin/pom.xml @@ -5,7 +5,7 @@ apm-vertx co.elastic.apm - 1.52.0 + 1.51.0 apm-vertx4-plugin diff --git a/apm-agent-plugins/apm-vertx/pom.xml b/apm-agent-plugins/apm-vertx/pom.xml index 37f10e99a8..b448af06bd 100644 --- a/apm-agent-plugins/apm-vertx/pom.xml +++ b/apm-agent-plugins/apm-vertx/pom.xml @@ -5,7 +5,7 @@ apm-agent-plugins co.elastic.apm - 1.52.0 + 1.51.0 apm-vertx diff --git a/apm-agent-plugins/pom.xml b/apm-agent-plugins/pom.xml index a7f392c9bc..a1e1c95e9a 100644 --- a/apm-agent-plugins/pom.xml +++ b/apm-agent-plugins/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 apm-agent-plugins diff --git a/apm-agent-tracer/pom.xml b/apm-agent-tracer/pom.xml index 7e5ca7a03a..dd1249acf9 100644 --- a/apm-agent-tracer/pom.xml +++ b/apm-agent-tracer/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.51.0 apm-agent-tracer diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java index 1eadfa9887..3f9a8fee7b 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/Span.java @@ -42,8 +42,4 @@ public interface Span> extends AbstractSpan { * Action related to this span (eg: 'query', 'render' etc) */ T withAction(@Nullable String action); - - void addEndListener(SpanEndListener listener); - - void removeEndListener(SpanEndListener listener); } diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java deleted file mode 100644 index 11bae55cfb..0000000000 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/SpanEndListener.java +++ /dev/null @@ -1,11 +0,0 @@ -package co.elastic.apm.agent.tracer; - -public interface SpanEndListener> { - - /** - * Invoked when the span is being ended. - * - * @param span the span being ended - */ - void onEnd(T span); -} diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java index d26ba047e1..2a35facaf5 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java @@ -129,12 +129,10 @@ public class WebConfiguration extends ConfigurationOptionProvider { .addValidator(isInRange(0, MAX_BODY_CAPTURE_BYTES)) .key("capture_http_client_request_body_size") .configurationCategory(HTTP_CATEGORY) - .tags("added[1.52.0]", "experimental") - .description("Configures that the first n bytes of http-client request bodies shall be captured. " + - "Note that only request bodies will be captured for content types matching the <> configuration. " + - "The maximum allowed value is " + MAX_BODY_CAPTURE_BYTES + ", a value of 0 disables body capturing.\n\n" + - "Currently only support for Apache Http Client v4 and v5, HttpUrlConnection, Spring Webflux WebClient and other frameworks building on top of these (e.g. Spring RestTemplate).\n\n" + - "The body will be stored in the `labels.http_request_body_content` field on the span documents.") + .tags("added[1.50.0]", "internal") + .description("Configures how many bytes of http-client request bodies shall be captured. " + + "Note that only request bodies will be captured for content types matching the capture_body_content_types configuration. " + + " The maximum allowed value is " + MAX_BODY_CAPTURE_BYTES + " , a value of 0 disables body capturing") .dynamic(true) .buildWithDefault(0); diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java index 5a2070895f..ef8df98de0 100644 --- a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java +++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/metadata/BodyCapture.java @@ -1,48 +1,7 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ package co.elastic.apm.agent.tracer.metadata; import javax.annotation.Nullable; -/** - * Container class for managing request body capture and associated state. - * This class collects the body as encoded bytearray and a charset with which we'll attempt to decode the body. - *

- * A span goes through several states to perform body-capture: - *

    - *
  • A span need to be marked as eligible for body capture. This is useful so that higher - * level instrumentation (E.g. Spring RestTemplate) can mark the span that they would like - * to capture the body without having to implement the capturing itself. Lower level instrumentations - * (e.g. for HTTPUrlConnection) will attempt to capture the body for the currently active span even - * if they didn't start a span themselves when the currently active span is marked as eligible. - *
  • - *
  • Even if a span is marked eligible, the body will only be captured if the preconditions have been checked. - * The preconditions check whether based on the agent configuration and the Content-Type header the body shall be captured or not. - * E.g. if the body capturing is disabled via the config, the preconditions will fail for every span. - *
  • - *
  • If the preconditions passed, capturing may be started via {@link #startCapture()}. - * Capturing will only start exactly once, {@link #startCapture()} will return false on subsequent calls. - * This prevents nested instrumentation being capable of capturing the body (e.g. Spring WebFlux WebClient - * and async Apache Http client) of capturing every byte multiple times and therefore reporting a garbage body. - *
  • - *
- */ public interface BodyCapture { /** @@ -56,37 +15,23 @@ public interface BodyCapture { * @return true, if {@link #markEligibleForCapturing()} was called for this span. */ boolean isEligibleForCapturing(); - - /** - * @return true, if either {@link #markPreconditionsFailed()} or {@link #markPreconditionsPassed(String, int)} have been called. - */ - boolean havePreconditionsBeenChecked(); - - /** - * Ensures that the no body capturing will be performed for this span, e.g. because it is disabled via the agent config. - */ - void markPreconditionsFailed(); - - /** - * Marks this span so that any capable instrumentation may start the capturing procedure via {@link #startCapture()} - */ - void markPreconditionsPassed(@Nullable String requestCharset, int numBytesToCapture); - - + /** * This method acts as a protection mechanism so that only one instrumentation tries to capture the body. * It returns true, if the calling instrumentation shall start adding body byte via {@link #append(byte)}. *

- * For this to happen, both {@link #markEligibleForCapturing()} and {@link #markPreconditionsPassed(String, int)} - * must have been called first. + * For this to happen, {@link #markEligibleForCapturing()} must have been called first. *

- * After {@link #startCapture()} has returned true once, subsequent calls will return false. + * After {@link #startCapture(String, int)} has returned true once, subsequent calls will return false. * So for example if instrumentation A and B are active for the same span, only the first one will actually be capturing the body, - * because {@link #startCapture()} only returns true once. + * because {@link #startCapture(String, int)} only returns true once. + * + * @param charset the charset (if available) with which the request-body is encoded. + * @param numBytesToCapture the number of bytes to capture, to configure the limit of the internal buffer * * @return true, if the calling instrumentation should be capturing the body (by calling {@link #append(byte)} */ - boolean startCapture(); + boolean startCapture(@Nullable String charset, int numBytesToCapture); void append(byte b); diff --git a/apm-opentracing/pom.xml b/apm-opentracing/pom.xml index 1d4dd43ca6..f40310b6d5 100644 --- a/apm-opentracing/pom.xml +++ b/apm-opentracing/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 apm-opentracing diff --git a/cloudfoundry/index.yml b/cloudfoundry/index.yml index d93c07fbc0..c78eb2f053 100644 --- a/cloudfoundry/index.yml +++ b/cloudfoundry/index.yml @@ -63,4 +63,3 @@ 1.48.1: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.48.1/elastic-apm-agent-1.48.1.jar 1.49.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.49.0/elastic-apm-agent-1.49.0.jar 1.50.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.50.0/elastic-apm-agent-1.50.0.jar -1.51.0: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.51.0/elastic-apm-agent-1.51.0.jar diff --git a/docs/configuration.asciidoc b/docs/configuration.asciidoc index 17f6cf818e..bc10ed27f0 100644 --- a/docs/configuration.asciidoc +++ b/docs/configuration.asciidoc @@ -147,7 +147,6 @@ Click on a key to get more information. ** <> ** <> ** <> -** <> * <> ** <> ** <> @@ -1831,35 +1830,6 @@ Prepending an element with `(?-i)` makes the matching case sensitive. | `elastic.apm.url_groups` | `url_groups` | `ELASTIC_APM_URL_GROUPS` |============ -// This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter -[float] -[[config-capture-http-client-request-body-size]] -==== `capture_http_client_request_body_size` (added[1.52.0] experimental) - -NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases. - -Configures that the first n bytes of http-client request bodies shall be captured. Note that only request bodies will be captured for content types matching the <> configuration. The maximum allowed value is 1024, a value of 0 disables body capturing. - -Currently only support for Apache Http Client v4 and v5, HttpUrlConnection, Spring Webflux WebClient and other frameworks building on top of these (e.g. Spring RestTemplate). - -The body will be stored in the `labels.http_request_body_content` field on the span documents. - -<> - - -[options="header"] -|============ -| Default | Type | Dynamic -| `0` | Integer | true -|============ - - -[options="header"] -|============ -| Java System Properties | Property file | Environment -| `elastic.apm.capture_http_client_request_body_size` | `capture_http_client_request_body_size` | `ELASTIC_APM_CAPTURE_HTTP_CLIENT_REQUEST_BODY_SIZE` -|============ - [[config-huge-traces]] === Huge Traces configuration options @@ -2654,7 +2624,9 @@ But if you must, you can use this option to increase the limit. // This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter [float] [[config-agent-reporter-health-metrics]] -==== `agent_reporter_health_metrics` (added[1.35.0]) +==== `agent_reporter_health_metrics` (added[1.35.0] experimental) + +NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases. Enables metrics which capture the health state of the agent's event reporting mechanism. @@ -2677,7 +2649,9 @@ Enables metrics which capture the health state of the agent's event reporting me // This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter [float] [[config-agent-background-overhead-metrics]] -==== `agent_background_overhead_metrics` (added[1.35.0]) +==== `agent_background_overhead_metrics` (added[1.35.0] experimental) + +NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases. Enables metrics which capture the resource consumption of agent background tasks. @@ -4359,18 +4333,6 @@ Example: `5ms`. # # url_groups= -# Configures that the first n bytes of http-client request bodies shall be captured. Note that only request bodies will be captured for content types matching the <> configuration. The maximum allowed value is 1024, a value of 0 disables body capturing. -# -# Currently only support for Apache Http Client v4 and v5, HttpUrlConnection, Spring Webflux WebClient and other frameworks building on top of these (e.g. Spring RestTemplate). -# -# The body will be stored in the `labels.http_request_body_content` field on the span documents. -# -# This setting can be changed at runtime -# Type: Integer -# Default value: 0 -# -# capture_http_client_request_body_size=0 - ############################################ # Huge Traces # ############################################ diff --git a/docs/metrics.asciidoc b/docs/metrics.asciidoc index 75f11c59f2..09d43629d7 100644 --- a/docs/metrics.asciidoc +++ b/docs/metrics.asciidoc @@ -663,6 +663,8 @@ Fields: [[metrics-agenthealth]] === Agent Health Metrics +experimental::[] + The agent internally uses a queue to buffer the various events (e.g. transactions, spans, metrics) before sending them to the APM server. When <> is enabled, the agent will expose several metrics regarding the health state of this queue and the network connectivity to the APM server. In addition, if <> is enabled, the agent will continuously measure the resource consumption of its own background tasks and provide the results as metrics. diff --git a/elastic-apm-agent-java8/pom.xml b/elastic-apm-agent-java8/pom.xml index af58cbf093..83da3b41c0 100644 --- a/elastic-apm-agent-java8/pom.xml +++ b/elastic-apm-agent-java8/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.51.0 elastic-apm-agent-java8 diff --git a/elastic-apm-agent-premain/pom.xml b/elastic-apm-agent-premain/pom.xml index 25850879f1..c6c8572bbe 100644 --- a/elastic-apm-agent-premain/pom.xml +++ b/elastic-apm-agent-premain/pom.xml @@ -3,7 +3,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/elastic-apm-agent/pom.xml b/elastic-apm-agent/pom.xml index b66699bf06..134ee08197 100644 --- a/elastic-apm-agent/pom.xml +++ b/elastic-apm-agent/pom.xml @@ -5,7 +5,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.51.0 elastic-apm-agent diff --git a/integration-tests/application-server-integration-tests/pom.xml b/integration-tests/application-server-integration-tests/pom.xml index 94c2f7a842..70bbb32a9e 100644 --- a/integration-tests/application-server-integration-tests/pom.xml +++ b/integration-tests/application-server-integration-tests/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 application-server-integration-tests diff --git a/integration-tests/aws-lambda-test/pom.xml b/integration-tests/aws-lambda-test/pom.xml index fe605feb56..b1728f2948 100644 --- a/integration-tests/aws-lambda-test/pom.xml +++ b/integration-tests/aws-lambda-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-dependent/pom.xml b/integration-tests/cdi-app/cdi-app-dependent/pom.xml index 1223f46f18..4842df8962 100644 --- a/integration-tests/cdi-app/cdi-app-dependent/pom.xml +++ b/integration-tests/cdi-app/cdi-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/cdi-app/cdi-app-standalone/pom.xml b/integration-tests/cdi-app/cdi-app-standalone/pom.xml index 6e2739e956..2f415ee34d 100644 --- a/integration-tests/cdi-app/cdi-app-standalone/pom.xml +++ b/integration-tests/cdi-app/cdi-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-app co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/cdi-app/pom.xml b/integration-tests/cdi-app/pom.xml index 43e3acbe22..c245dbf868 100644 --- a/integration-tests/cdi-app/pom.xml +++ b/integration-tests/cdi-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml index c6bac408bd..b790110f6f 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-dependent/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml index 9432d9482a..b1baffd663 100644 --- a/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml +++ b/integration-tests/cdi-jakartaee-app/cdi-jakartaee-app-standalone/pom.xml @@ -4,7 +4,7 @@ cdi-jakartaee-app co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/cdi-jakartaee-app/pom.xml b/integration-tests/cdi-jakartaee-app/pom.xml index 7c6c43365c..695b9b2b01 100644 --- a/integration-tests/cdi-jakartaee-app/pom.xml +++ b/integration-tests/cdi-jakartaee-app/pom.xml @@ -4,7 +4,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml index 5695c1db67..b1fac537a6 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-app/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.0 + 1.51.0 external-plugin-otel-test-app diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml index b64790d3ff..4fc925fe5a 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin1/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.0 + 1.51.0 external-plugin-otel-test-plugin1 diff --git a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml index c517e8b792..c5177b8175 100644 --- a/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml +++ b/integration-tests/external-plugin-otel-test/external-plugin-otel-test-plugin2/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm external-plugin-otel-test - 1.52.0 + 1.51.0 external-plugin-otel-test-plugin2 diff --git a/integration-tests/external-plugin-otel-test/pom.xml b/integration-tests/external-plugin-otel-test/pom.xml index 6f009e231e..de48233231 100644 --- a/integration-tests/external-plugin-otel-test/pom.xml +++ b/integration-tests/external-plugin-otel-test/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm integration-tests - 1.52.0 + 1.51.0 external-plugin-otel-test diff --git a/integration-tests/external-plugin-test/external-plugin-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-app/pom.xml index 312e16c288..ccc7bcc592 100644 --- a/integration-tests/external-plugin-test/external-plugin-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.51.0 external-plugin-app diff --git a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml index f4bbdbaad8..e950b44bf6 100644 --- a/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin-jakarta-app/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.51.0 external-plugin-jakarta-app diff --git a/integration-tests/external-plugin-test/external-plugin/pom.xml b/integration-tests/external-plugin-test/external-plugin/pom.xml index 3226694dee..dd8b212dfb 100644 --- a/integration-tests/external-plugin-test/external-plugin/pom.xml +++ b/integration-tests/external-plugin-test/external-plugin/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.51.0 external-plugin diff --git a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml index e70a0357e0..9d55c90014 100644 --- a/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml +++ b/integration-tests/external-plugin-test/plugin-instrumentation-target/pom.xml @@ -6,7 +6,7 @@ external-plugin-test co.elastic.apm - 1.52.0 + 1.51.0 plugin-instrumentation-target diff --git a/integration-tests/external-plugin-test/pom.xml b/integration-tests/external-plugin-test/pom.xml index 74765e1dec..9e581dc055 100644 --- a/integration-tests/external-plugin-test/pom.xml +++ b/integration-tests/external-plugin-test/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml index 641a286f59..b5d834c068 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-dependent/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml index e959055e00..f29235947f 100644 --- a/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml +++ b/integration-tests/jakartaee-jsf-app/jakartaee-jsf-app-standalone/pom.xml @@ -3,7 +3,7 @@ jakartaee-jsf-app co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/jakartaee-jsf-app/pom.xml b/integration-tests/jakartaee-jsf-app/pom.xml index 93c94ca4cb..62c48fa9d4 100644 --- a/integration-tests/jakartaee-jsf-app/pom.xml +++ b/integration-tests/jakartaee-jsf-app/pom.xml @@ -3,7 +3,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 pom diff --git a/integration-tests/jakartaee-simple-webapp/pom.xml b/integration-tests/jakartaee-simple-webapp/pom.xml index 2640aa16f4..6ccd877da9 100644 --- a/integration-tests/jakartaee-simple-webapp/pom.xml +++ b/integration-tests/jakartaee-simple-webapp/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 jakartaee-simple-webapp diff --git a/integration-tests/jsf-app/jsf-app-dependent/pom.xml b/integration-tests/jsf-app/jsf-app-dependent/pom.xml index 1293d46c05..32ce0be4c5 100644 --- a/integration-tests/jsf-app/jsf-app-dependent/pom.xml +++ b/integration-tests/jsf-app/jsf-app-dependent/pom.xml @@ -4,7 +4,7 @@ jsf-app co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/jsf-app/jsf-app-standalone/pom.xml b/integration-tests/jsf-app/jsf-app-standalone/pom.xml index 159a79b58a..4a7d0b9d5b 100644 --- a/integration-tests/jsf-app/jsf-app-standalone/pom.xml +++ b/integration-tests/jsf-app/jsf-app-standalone/pom.xml @@ -6,7 +6,7 @@ jsf-app co.elastic.apm - 1.52.0 + 1.51.0 jsf-app-standalone diff --git a/integration-tests/jsf-app/pom.xml b/integration-tests/jsf-app/pom.xml index b69708c463..d1f0f11220 100644 --- a/integration-tests/jsf-app/pom.xml +++ b/integration-tests/jsf-app/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 jsf-app diff --git a/integration-tests/main-app-test/pom.xml b/integration-tests/main-app-test/pom.xml index c2bdf63d67..8963bd8dc7 100644 --- a/integration-tests/main-app-test/pom.xml +++ b/integration-tests/main-app-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 main-app-test diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 6eb37dc803..82becf7ec0 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -5,7 +5,7 @@ apm-agent-parent co.elastic.apm - 1.52.0 + 1.51.0 integration-tests diff --git a/integration-tests/quarkus/pom.xml b/integration-tests/quarkus/pom.xml index 924f305d67..f99d81e2a4 100644 --- a/integration-tests/quarkus/pom.xml +++ b/integration-tests/quarkus/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 quarkus diff --git a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml index 8609f3f6a8..fb85b6e8b3 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-base/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.0 + 1.51.0 quarkus-jaxrs-base diff --git a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml index c0925248c6..b8b1e84594 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-undertow/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.0 + 1.51.0 quarkus-jaxrs-undertow diff --git a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml index 5e770fd7ee..84a96c200e 100644 --- a/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml +++ b/integration-tests/quarkus/quarkus-jaxrs-vertx/pom.xml @@ -5,7 +5,7 @@ quarkus co.elastic.apm - 1.52.0 + 1.51.0 quarkus-jaxrs-vertx diff --git a/integration-tests/runtime-attach/pom.xml b/integration-tests/runtime-attach/pom.xml index f423c619b8..500df790f8 100644 --- a/integration-tests/runtime-attach/pom.xml +++ b/integration-tests/runtime-attach/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 runtime-attach diff --git a/integration-tests/runtime-attach/runtime-attach-app/pom.xml b/integration-tests/runtime-attach/runtime-attach-app/pom.xml index 110af7d2ca..936f4738c5 100644 --- a/integration-tests/runtime-attach/runtime-attach-app/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-app/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/runtime-attach/runtime-attach-test/pom.xml b/integration-tests/runtime-attach/runtime-attach-test/pom.xml index 3659acbf4a..e14cd7b2ef 100644 --- a/integration-tests/runtime-attach/runtime-attach-test/pom.xml +++ b/integration-tests/runtime-attach/runtime-attach-test/pom.xml @@ -3,7 +3,7 @@ runtime-attach co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 @@ -31,7 +31,7 @@ org.awaitility awaitility - 4.2.2 + 4.2.1 test diff --git a/integration-tests/simple-webapp/pom.xml b/integration-tests/simple-webapp/pom.xml index 6b15b75cdf..99490c2647 100644 --- a/integration-tests/simple-webapp/pom.xml +++ b/integration-tests/simple-webapp/pom.xml @@ -6,7 +6,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 simple-webapp diff --git a/integration-tests/soap-test/pom.xml b/integration-tests/soap-test/pom.xml index faab22748b..a87746df9a 100644 --- a/integration-tests/soap-test/pom.xml +++ b/integration-tests/soap-test/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 soap-test diff --git a/integration-tests/spring-boot-1-5/pom.xml b/integration-tests/spring-boot-1-5/pom.xml index 268c3696c2..ead5000301 100644 --- a/integration-tests/spring-boot-1-5/pom.xml +++ b/integration-tests/spring-boot-1-5/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 spring-boot-1-5 diff --git a/integration-tests/spring-boot-2/pom.xml b/integration-tests/spring-boot-2/pom.xml index 842959d228..d2359485cf 100644 --- a/integration-tests/spring-boot-2/pom.xml +++ b/integration-tests/spring-boot-2/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 spring-boot-2 diff --git a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml index 9cbd366e3e..986614268d 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-base/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.51.0 spring-boot-2-base diff --git a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml index 739756e032..b74c5aed23 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-jetty/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.51.0 spring-boot-2-jetty diff --git a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml index 369eb48e6b..256f073736 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-tomcat/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.51.0 spring-boot-2-tomcat diff --git a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml index cac0e6b1e1..954641719b 100644 --- a/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml +++ b/integration-tests/spring-boot-2/spring-boot-2-undertow/pom.xml @@ -5,7 +5,7 @@ spring-boot-2 co.elastic.apm - 1.52.0 + 1.51.0 spring-boot-2-undertow diff --git a/integration-tests/spring-boot-3/pom.xml b/integration-tests/spring-boot-3/pom.xml index 6eadb700fe..273fbb2f71 100644 --- a/integration-tests/spring-boot-3/pom.xml +++ b/integration-tests/spring-boot-3/pom.xml @@ -5,7 +5,7 @@ integration-tests co.elastic.apm - 1.52.0 + 1.51.0 spring-boot-3 diff --git a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml index e3de1c19e1..757a5a2761 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-jetty/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml index 0f4a4a6f7b..d54d220f5d 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-tomcat/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml index 2377b32281..db37828256 100644 --- a/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml +++ b/integration-tests/spring-boot-3/spring-boot-3-undertow/pom.xml @@ -3,7 +3,7 @@ spring-boot-3 co.elastic.apm - 1.52.0 + 1.51.0 4.0.0 diff --git a/pom.xml b/pom.xml index 70f873f2aa..8d039d00c3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ co.elastic.apm apm-agent-parent - 1.52.0 + 1.51.0 pom ${project.groupId}:${project.artifactId} @@ -128,18 +128,18 @@ 1.6.0 5.0.15.RELEASE 9.4.11.v20180605 - 1.5.1 + 1.5.0 - 1.15.1 + 1.14.18 9.7 5.4.0 - 5.13.0 + 5.12.0 1.17 - 1.20.1 + 1.19.8 2.38.0 @@ -814,7 +814,7 @@ org.awaitility awaitility - 4.2.2 + 4.2.1 test diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 36237c56f4..0000000000 --- a/renovate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "github>elastic/renovate-config:only-chainguard" - ] -} diff --git a/updatecli-compose.yaml b/update-compose.yaml similarity index 73% rename from updatecli-compose.yaml rename to update-compose.yaml index 7225bcbd08..372d29ed58 100644 --- a/updatecli-compose.yaml +++ b/update-compose.yaml @@ -2,22 +2,22 @@ # https://www.updatecli.io/docs/core/compose/ policies: - name: Handle apm-data server specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-data-spec:0.5.0@sha256:1307837d72174da906afb40a812b89f9f40efdbc0f6dcb4f632f886f9798577e + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-data-spec:0.3.0@sha256:e7cdc38653afecaf9fad748356f545da6eb48bb9262665ff563cda974defb6f5 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-data-spec.yml - name: Handle apm gherkin specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-gherkin:0.5.0@sha256:7166356b1bb5fb39b640dc9712a2a9f16b06b3fdb137dd362ede7d70ca5396e8 + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-gherkin:0.3.0@sha256:b8fae37245a5fa99482b3700a53681196c4b42685153d93452f7103bbaf4a5f3 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-gherkin.yml - name: Handle apm json specs - policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-json-specs:0.5.0@sha256:f4065402be6459507660cb644fffa9cdc77a58303ebd7f8f0325002e206cf6a1 + policy: ghcr.io/elastic/oblt-updatecli-policies/apm/apm-json-specs:0.3.0@sha256:f01667138f2a3a52aa23c556a174d6cdba1209f475d67a73e2aec2d3189b0bb9 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/apm-json-specs.yml - name: Update Updatecli policies - policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.8.0@sha256:99e9e61b501575c2c176c39f2275998d198b590a3f6b1fe829f7315f8d457e7f + policy: ghcr.io/updatecli/policies/autodiscovery/updatecli:0.4.0@sha256:254367f5b1454fd6032b88b314450cd3b6d5e8d5b6c953eb242a6464105eb869 values: - .ci/updatecli/values.d/scm.yml - .ci/updatecli/values.d/update-compose.yml From 4bc32053d8b76825431b01d822f4d83ee8f2b92a Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Mon, 18 Nov 2024 13:55:28 +0100 Subject: [PATCH 98/98] Revert "[DOCS] Clarify the frequency of config polling (#3799)" This reverts commit 0ab2a3a3b2f0fa72a756c8b3ad59b364a796474e. --- .../agent/configuration/CoreConfigurationImpl.java | 11 ++--------- docs/configuration.asciidoc | 2 -- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfigurationImpl.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfigurationImpl.java index 3f9b0f504c..7c42ebc23e 100644 --- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfigurationImpl.java +++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfigurationImpl.java @@ -25,13 +25,7 @@ import co.elastic.apm.agent.matcher.MethodMatcherValueConverter; import co.elastic.apm.agent.sdk.logging.Logger; import co.elastic.apm.agent.sdk.logging.LoggerFactory; -import co.elastic.apm.agent.tracer.configuration.CoreConfiguration; -import co.elastic.apm.agent.tracer.configuration.ListValueConverter; -import co.elastic.apm.agent.tracer.configuration.RegexValidator; -import co.elastic.apm.agent.tracer.configuration.RoundedDoubleConverter; -import co.elastic.apm.agent.tracer.configuration.TimeDuration; -import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter; -import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter; +import co.elastic.apm.agent.tracer.configuration.*; import org.stagemonitor.configuration.ConfigurationOption; import org.stagemonitor.configuration.ConfigurationOptionProvider; import org.stagemonitor.configuration.converter.AbstractValueConverter; @@ -702,8 +696,7 @@ public String toSafeString(List value) { .key("central_config") .tags("added[1.8.0]") .configurationCategory(CORE_CATEGORY) - .description("When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration.\n" - + "The frequency of the periodic request is driven by the `Cache-Control` header returned from APM Server/Integration, falling back to 5 minutes if not defined.") + .description("When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration.") .dynamic(true) .buildWithDefault(true); diff --git a/docs/configuration.asciidoc b/docs/configuration.asciidoc index bc10ed27f0..3d124b4b2d 100644 --- a/docs/configuration.asciidoc +++ b/docs/configuration.asciidoc @@ -1270,7 +1270,6 @@ Example: `0ms`. ==== `central_config` (added[1.8.0]) When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration. -The frequency of the periodic request is driven by the `Cache-Control` header returned from APM Server/Integration, falling back to 5 minutes if not defined. <> @@ -4062,7 +4061,6 @@ Example: `5ms`. # trace_methods_duration_threshold=0ms # When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration. -# The frequency of the periodic request is driven by the `Cache-Control` header returned from APM Server/Integration, falling back to 5 minutes if not defined. # # This setting can be changed at runtime # Type: Boolean