Commit Graph

303 Commits

Author SHA1 Message Date
Trask Stalnaker 8ee04d54e9 Merge remote-tracking branch 'datadog/master' into dd-merge 2020-02-22 14:35:03 -08:00
Trask Stalnaker c43f3229c6 Merge commit '25534b2641ff57e0de36fb359a412612ef349ee9' into dd-merge-part-2 2020-02-12 17:59:03 -08:00
Nikolay Martynov 23d3b75555
Merge pull request #1211 from DataDog/profiling-release
Support JFR profiling
2020-02-11 22:51:19 -05:00
Nikolay Martynov e266c1357d update gradle to 6.1.1 2020-02-11 15:09:09 -05:00
Nikolay Martynov fd58187994 Support JFR profiling 2020-02-11 14:55:19 -05:00
Laplie Anderson c28bf2180e
Merge pull request #1199 from DataDog/landerson/shared-classloader
Shared classloader for agent and jmx-fetch
2020-02-11 13:48:01 -05:00
Nikolay Martynov 05c2d6e947 Fix the way jacoco defaults are set 2020-02-11 12:05:06 -05:00
Laplie Anderson c79fe3a459 Create shared internal jar 2020-02-11 11:44:46 -05:00
Tyler Benson 75c7769192 Reduce tracer thread count by combining scheduled executors into a single executor.
Pulls out utility classes for reuse by other projects.

This also meant the dependency had to be bundled with dd-trace-ot since it isn't published as a separate dependency.
2020-02-10 10:45:58 -08:00
Tyler Benson cab139e905 Upgrade OkHttp client to 3.12.8 2020-02-04 15:06:44 -08:00
Pontus Rydin bec7775d56
Fixed error handling when Java version can't be determined (#118)
* Fixed error handling when Java version can't be determined

* Made build getJavaExecutableVersion more resilient to output variations
2020-02-03 12:38:21 -08:00
Trask Stalnaker 147b42d1ff Merge tag 'v0.42.0' 2020-02-01 13:28:58 -08:00
Pontus Rydin 49e6309cf9
Experimental Jaeger integration (#115)
* Added simple exporter

* Updated config prefix
2020-02-01 12:22:25 -08:00
Tyler Benson 697d4972a8 Remove Jackson from dd-trace-ot
Reduced the size of dd-java-agent jar by about 2 MB. Jackson is not removed completely though as it is still a dependency of jmxfetch.

Trace serialization is primarily done directly with msgpack.
Response deserialization and LoggingWriter serialization is done with mochi.

Msgpack Serialization buffer still not being reused though.
2020-01-31 15:59:43 -05:00
Nikolay Martynov 950389587c Simplify groovy/scala/kotlin compile dependency hack 2020-01-23 09:40:15 -05:00
Nikolay Martynov be6a7730bf Update kotlin version 2020-01-23 09:40:15 -05:00
Nikolay Martynov bc72b9271a Update gradle to 6.1 2020-01-23 08:39:06 -05:00
Trask Stalnaker 819ca7c256
Simplify directory/module structure (#77)
* Move things up a directory

* Scripted mass update

find -type f -name "*.gradle" | xargs sed -i 's/:java-agent:/:/g'

* Remove plugin version now that it's in root module

* Update java-agent and instrumentation configs

* Misc
2020-01-22 13:55:47 -08:00
Tyler Benson f9e43516ad Set timeouts on individual tests and increase overall test timeout. 2020-01-22 09:06:03 -08:00
Trask Stalnaker c47f92c6b0 Merge tag 'v0.41.0' into dd-merge 2020-01-15 21:50:25 -08:00
Laplie Anderson e351ce523c Update bytebuddy to 1.10.6 2020-01-15 10:40:46 -05:00
Trask Stalnaker 71d264fd00
Rename package to io.opentelemetry.auto (#54)
* Remove publishing info

* Remove Datadog-Meta-Lang handling

* Misc renames

* Rename DD_ constant field names

* Rename DDSpanTypes to SpanTypes

* Rename DDTags to MoreTags

* Rename DDSpecification to AgentSpecification

* Rename DDLocationStrategy to AgentLocationStrategy

* Rename DDCachingPoolStrategy to AgentCachingPoolStrategy

* Rename DDTransformers to AgentTransformers

* Script: rename datadog.trace to io.opentelemetry.auto

find -wholename */datadog/trace -exec mkdir -p {}/../../io/opentelemetry \; -exec mv {} {}/../../io/opentelemetry/auto \;

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i 's/datadog\.trace\./io.opentelemetry.auto./g'
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i 's/datadog\/trace\//io\/opentelemetry\/auto\//g'

find -type f -name "*.gradle" | xargs sed -i 's/datadog\.trace\./io.opentelemetry.auto./g'
find -type f -name "*.gradle" | xargs sed -i 's/datadog\/trace\//io\/opentelemetry\/auto\//g'

* Script: rename more packages

find -wholename */datadog/test -exec mkdir -p {}/../../io/opentelemetry \; -exec mv {} {}/../../io/opentelemetry \;
find -wholename */datadog/smoketest -exec mkdir -p {}/../../io/opentelemetry \; -exec mv {} {}/../../io/opentelemetry \;
find -wholename */datadog/perftest -exec mkdir -p {}/../../io/opentelemetry \; -exec mv {} {}/../../io/opentelemetry \;
find -wholename */datadog/benchmark -exec mkdir -p {}/../../io/opentelemetry \; -exec mv {} {}/../../io/opentelemetry \;
find -wholename */datadog/loadgenerator -exec mkdir -p {}/../../io/opentelemetry \; -exec mv {} {}/../../io/opentelemetry \;

# keep these outside of io.opentelemetry.auto for now at least (things under io.opentelemetry.auto are not instrumented)
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh | xargs sed -i 's/datadog\.test\b/io.opentelemetry.test/g'
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh | xargs sed -i 's/datadog\.smoketest\b/io.opentelemetry.smoketest/g'
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh | xargs sed -i 's/datadog\.perftest\b/io.opentelemetry.perftest/g'
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh | xargs sed -i 's/datadog\.benchmark\b/io.opentelemetry.benchmark/g'
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh | xargs sed -i 's/datadog\.loadgenerator\b/io.opentelemetry.loadgenerator/g'

# ok to move this into io.opentelemetry.auto
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh | xargs sed -i 's/datadog\.slf4j\b/io.opentelemetry.auto.slf4j/g'

find -type f -name "*.gradle" | xargs sed -i 's/datadog\.test\b/io.opentelemetry.test/g'
find -type f -name "*.gradle" | xargs sed -i 's/datadog\.smoketest\b/io.opentelemetry.smoketest/g'
find -type f -name "*.gradle" | xargs sed -i 's/datadog\.perftest\b/io.opentelemetry.perftest/g'
find -type f -name "*.gradle" | xargs sed -i 's/datadog\.benchmark\b/io.opentelemetry.benchmark/g'
find -type f -name "*.gradle" | xargs sed -i 's/datadog\.loadgenerator\b/io.opentelemetry.loadgenerator/g'

find -type f -name "*.gradle" | xargs sed -i 's/datadog\.slf4j\b/io.opentelemetry.auto.slf4j/g'

* Intellij: format and organize imports

* Script: More renaming

find -name *.xml | xargs sed -i 's/<logger name="datadog"/<logger name="io.opentelemetry.auto"/g'
find -name *.java | xargs sed -i 's/LoggerFactory.getLogger("datadog")/LoggerFactory.getLogger("io.opentelemetry.auto")/g'
find -name *.java | xargs sed -i 's/"datadog.span"/"opentelemetry.auto.span"/g'
find -name *.java -o -name *.groovy | xargs sed -i 's/"datadog.doesnotexist"/"io.opentelemetry.auto.doesnotexist"/g'

# keep this outside of io.opentelemetry.auto for now at least (things under io.opentelemetry.auto are not instrumented)
find -name *.yaml | xargs sed -i 's/"datadog.benchmark"/"io.opentelemetry.benchmark"/g'

find -type f -name "*.gradle" | xargs sed -i 's/datadog\.forked/io.opentelemetry.auto.forked/g'
find -name *.yml | xargs sed -i 's/datadog\.forked/io.opentelemetry.auto.forked/g'

* Improve comment

* Script: rename dd- modules

git mv dd-java-agent java-agent
git mv java-agent/dd-java-agent.gradle java-agent/java-agent.gradle
git mv dd-trace-api trace-api
git mv trace-api/dd-trace-api.gradle trace-api/trace-api.gradle
git mv dd-smoke-tests smoke-tests
git mv smoke-tests/dd-smoke-tests.gradle smoke-tests/smoke-tests.gradle

git mv dd-trace-java.gradle trace-java.gradle

find -type f -name "*.gradle" | xargs sed -i 's/\bdd-java-agent\b/java-agent/g'
find -type f -name "*.gradle" | xargs sed -i 's/\bdd-trace-api\b/trace-api/g'
find -type f -name "*.gradle" | xargs sed -i 's/\bdd-smoke-tests\b/smoke-tests/g'

find -type f -name "*.gradle" | xargs sed -i 's/\bdd-trace-java\b/trace-java/g'

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh -o -name *.yml | xargs sed -i 's/\bdd-java-agent\b/java-agent/g'
sed -i 's/\bdd-java-agent\b/java-agent/g' .gitignore

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh -o -name *.yml | xargs sed -i 's/\bdd-trace-api\b/trace-api/g'
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt -o -name *.sh -o -name *.yml | xargs sed -i 's/\bdd-smoke-tests\b/smoke-tests/g'

* Remove unused config - service.name

* Remove unused config - writer.type

* Remove unused config - trace.partial.flush.min

* Script: rename dd. test packages

find -wholename */dd/trace/instrumentation -exec mkdir -p {}/../../io/opentelemetry/test \; -exec mv {} {}/../../io/opentelemetry/test \;
find -wholename */dd/test/trace/annotation -exec mkdir -p {}/../../io/opentelemetry/test \; -exec mv {} {}/../../io/opentelemetry/test \;

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i 's/dd\.trace\.instrumentation\b/io.opentelemetry.test.instrumentation/g'
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i 's/dd\.test.trace\.annotation\b/io.opentelemetry.test.annotation/g'

* Script: rename dd properties

DD_PROP=opentelemetry.auto
DD_ENV=OPENTELEMETRY_AUTO
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\"dd\.\"/\"$DD_PROP.\"/g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\"DD_\"/\"${DD_ENV}_\"/g"

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.integration\./$DD_PROP.integration./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.integrations\./$DD_PROP.integrations./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bDD_INTEGRATION_/${DD_ENV}_INTEGRATION_/g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bDD_INTEGRATIONS_/${DD_ENV}_INTEGRATIONS_/g"

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.trace\./$DD_PROP.trace./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bDdd\.trace\./D$DD_PROP.trace./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bDD_TRACE_/${DD_ENV}_TRACE_/g"

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.logs\./$DD_PROP.logs./g"

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.trace_id\b/$DD_PROP.trace_id/g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.span_id\b/$DD_PROP.span_id/g"

find -type f -name "*.gradle" | xargs sed -i "s/\bdd\.trace\./$DD_PROP.trace./g"
find -type f -name "*.properties" | xargs sed -i "s/\bdd\.trace\./$DD_PROP.trace./g"

# test code
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.prop\./$DD_PROP.prop./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.float\./$DD_PROP.float./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.garbage\./$DD_PROP.garbage./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bdd\.negative\./$DD_PROP.negative./g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bDD_ENV_/${DD_ENV}_ENV_/g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bDD_FLOAT_/${DD_ENV}_FLOAT_/g"

# test code
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\"is-dd-server\"/\"is-test-server\"/g"
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i "s/\bisDDServer\b/isTestServer/g"

* Rename dd-java-tracer.properties to java-tracer.properties

* Rename DDTracingUtil to OpenTelemetryTracingUtil

* Codec.java was removed already

* Rename __datadog to __opentelemetry

* Misc renames

* Script: remove redundant sub-package

find -wholename */io/opentelemetry/auto/agent -exec bash -c "mv {}/* {}/.." \;
find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i 's/io\.opentelemetry\.auto\.agent\b/io.opentelemetry.auto/g'

find -type f -name "*.gradle" | xargs sed -i 's/io\.opentelemetry\.auto\.agent\b/io.opentelemetry.auto/g'

find -name *.java -o -name *.groovy -o -name *.scala -o -name *.kt | xargs sed -i 's/io\/opentelemetry\/auto\/agent\b/io\/opentelemetry\/auto/g'

* Shorten logging config keys
2020-01-14 13:57:01 -08:00
Trask Stalnaker 64fd99862a
Use OpenTelemetry API (#51)
* Remove dd-trace-ot

* Remove disableShadowRelocate

* Remove GlobalTracer and ScopeListener

* Comment out instr depending on activeScope

* OpenTelemetry implementation

* Update instrumentation tests to pass

* Update test infrastruture

* Update spring-webflux instrumentation

* Update jax-rs-annotation instrumentation

* Fix ratpack failing test
2020-01-13 16:51:36 -08:00
Nikolay Martynov d96d8e3c71 Upgrade gradle 2020-01-13 14:46:06 -05:00
Trask Stalnaker 71cd1a69b3
Remove OpenTracing interoperability (#44)
* Remove dependency on OpenTracing constants

* Remove OpenTracing tracer resolver

* Remove dep on OpenTracing Tracer and GlobalTracer

* Remove dep on OpenTracing ScopeManager/Context

* Remove dep on OpenTracing References

* Remove dep on OpenTracing Format

* Remove dep on OpenTracing Scope

* Remove dep on OpenTracing Span

* Remove OpenTracing compatibility tests

* Remove dep on OpenTracing SpanContext

* Remove dep on OpenTracing propagation classes

* Remove dep on OpenTracing log field name constants

* Remove dependency on OpenTracing

* Some last OpenTracing related renaming

* Remove unused code

* Remove code that's not doing anything

* A bit more cleanup
2019-12-18 10:17:50 -08:00
Tyler Benson 92069fd498 Merge changes from dd-trace-java 0.39.0
https://github.com/DataDog/dd-trace-java/releases/tag/v0.39.0

# Conflicts:
#	dd-java-agent/instrumentation/akka-http-10.0/src/lagomTest/groovy/LagomTest.groovy
#	dd-java-agent/instrumentation/akka-http-10.0/src/test/groovy/AkkaHttpClientInstrumentationTest.groovy
#	dd-java-agent/instrumentation/akka-http-10.0/src/test/groovy/AkkaHttpServerInstrumentationTest.groovy
#	dd-java-agent/instrumentation/datastax-cassandra-3/src/test/groovy/CassandraClientTest.groovy
#	dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/test/groovy/ViewRenderTest.groovy
#	dd-java-agent/instrumentation/dropwizard/src/test/groovy/DropwizardTest.groovy
#	dd-java-agent/instrumentation/elasticsearch/transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy
#	dd-java-agent/instrumentation/glassfish/src/test/groovy/GlassFishServerTest.groovy
#	dd-java-agent/instrumentation/google-http-client/src/test/groovy/AbstractGoogleHttpClientTest.groovy
#	dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcStreamingTest.groovy
#	dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/CriteriaTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/QueryTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/SessionTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-4.0/src/test/groovy/CriteriaTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-4.0/src/test/groovy/QueryTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-4.0/src/test/groovy/SessionTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-4.3/src/test/groovy/ProcedureCallTest.groovy
#	dd-java-agent/instrumentation/hibernate/core-4.3/src/test/groovy/SpringJpaTest.groovy
#	dd-java-agent/instrumentation/hystrix-1.4/src/test/groovy/HystrixObservableChainTest.groovy
#	dd-java-agent/instrumentation/hystrix-1.4/src/test/groovy/HystrixObservableTest.groovy
#	dd-java-agent/instrumentation/hystrix-1.4/src/test/groovy/HystrixTest.groovy
#	dd-java-agent/instrumentation/java-concurrent/src/slickTest/groovy/SlickTest.groovy
#	dd-java-agent/instrumentation/jax-rs-annotations-1/src/test/groovy/JerseyTest.groovy
#	dd-java-agent/instrumentation/jdbc/src/test/groovy/JDBCInstrumentationTest.groovy
#	dd-java-agent/instrumentation/jedis-1.4/src/test/groovy/JedisClientTest.groovy
#	dd-java-agent/instrumentation/jetty-8/src/test/groovy/JettyHandlerTest.groovy
#	dd-java-agent/instrumentation/jms/src/latestDepTest/groovy/JMS2Test.groovy
#	dd-java-agent/instrumentation/jms/src/test/groovy/JMS1Test.groovy
#	dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy
#	dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy
#	dd-java-agent/instrumentation/kafka-clients-0.11/src/test/groovy/KafkaClientTest.groovy
#	dd-java-agent/instrumentation/kafka-streams-0.11/src/test/groovy/KafkaStreamsTest.groovy
#	dd-java-agent/instrumentation/lettuce-5/src/test/groovy/LettuceAsyncClientTest.groovy
#	dd-java-agent/instrumentation/lettuce-5/src/test/groovy/LettuceReactiveClientTest.groovy
#	dd-java-agent/instrumentation/lettuce-5/src/test/groovy/LettuceSyncClientTest.groovy
#	dd-java-agent/instrumentation/netty-4.1/src/test/groovy/Netty41ClientTest.groovy
#	dd-java-agent/instrumentation/play-2.4/src/test/groovy/server/PlayServerTest.groovy
#	dd-java-agent/instrumentation/play-2.6/src/test/groovy/server/PlayServerTest.groovy
#	dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/test/groovy/RabbitMQTest.groovy
#	dd-java-agent/instrumentation/ratpack-1.4/src/test/groovy/server/RatpackHttpServerTest.groovy
#	dd-java-agent/instrumentation/servlet/request-2/src/test/groovy/JettyServlet2Test.groovy
#	dd-java-agent/instrumentation/servlet/request-3/src/test/groovy/AbstractServlet3Test.groovy
#	dd-java-agent/instrumentation/servlet/request-3/src/test/groovy/JettyServlet3Test.groovy
#	dd-java-agent/instrumentation/servlet/request-3/src/test/groovy/TomcatServlet3Test.groovy
#	dd-java-agent/instrumentation/sparkjava-2.3/src/test/groovy/SparkJavaBasedTest.groovy
#	dd-java-agent/instrumentation/spring-data-1.8/src/test/groovy/SpringJpaTest.groovy
#	dd-java-agent/instrumentation/spring-webflux-5/src/test/groovy/SpringWebfluxTest.groovy
#	dd-java-agent/instrumentation/spring-webflux-5/src/test/groovy/dd/trace/instrumentation/springwebflux/client/SpringWebfluxHttpClientTest.groovy
#	dd-java-agent/instrumentation/spring-webmvc-3.1/src/test/groovy/test/SpringBootBasedTest.groovy
#	dd-java-agent/instrumentation/spymemcached-2.12/src/test/groovy/datadog/trace/instrumentation/spymemcached/SpymemcachedTest.groovy
#	dd-java-agent/instrumentation/trace-annotation/src/test/groovy/ConfiguredTraceAnnotationsTest.groovy
#	dd-java-agent/instrumentation/trace-annotation/src/test/groovy/TraceAnnotationsTest.groovy
#	dd-java-agent/instrumentation/trace-annotation/src/test/groovy/TraceConfigTest.groovy
#	dd-java-agent/instrumentation/twilio/src/test/groovy/test/TwilioClientTest.groovy
#	dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/base/HttpClientTest.groovy
#	dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/base/HttpServerTest.groovy
#	dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/utils/TraceUtils.groovy
#	dd-trace-ot/src/main/java/datadog/opentracing/ContainerInfo.java
#	dd-trace-ot/src/main/java/datadog/opentracing/DDTracer.java
#	dd-trace-ot/src/main/java/datadog/trace/common/writer/DDAgentWriter.java
#	dd-trace-ot/src/test/groovy/datadog/opentracing/decorators/SpanDecoratorTest.groovy
#	dd-trace-ot/src/test/groovy/datadog/trace/api/writer/DDAgentWriterTest.groovy
2019-12-16 09:22:10 -08:00
Trask Stalnaker 80f7f615e4
Remove exporter (#25) 2019-12-02 12:14:44 -08:00
Sean C. Sullivan 458527ca4c bytebuddy 1.10.4
Docs: https://github.com/raphw/byte-buddy/releases
2019-11-29 13:51:55 -05:00
Tyler Benson 4dde3a4445 Merge changes from dd-trace-java 0.38.0
https://github.com/DataDog/dd-trace-java/releases/tag/v0.38.0
2019-11-22 16:33:38 -08:00
Trask Stalnaker d86632d648
Remove jmxfetch module (#13) 2019-11-18 17:24:37 -08:00
Nikolay Martynov 2c4422aa04 Upgradle to gradle 6.0 2019-11-12 16:26:46 -05:00
Nikolay Martynov 7b43aa12d0 Update some dependencies 2019-11-11 08:14:52 -05:00
Tyler Benson d30ada42e9 Update byte-buddy to 1.10.2 2019-11-06 15:53:10 -08:00
Tyler Benson 00fe40f1fb
Merge pull request #1026 from trask/dd-next
Thoughts for after #1020
2019-10-25 09:20:24 -07:00
Nikolay Martynov 8236b94d44 Update gradle to 5.6.3 2019-10-25 08:09:48 -04:00
Trask Stalnaker 8c558fa00e Format 2019-10-24 21:05:01 -07:00
Tyler Benson 557d45a9fe Changes required for OT 0.32
This seems backwards compatable with 0.31 since all changes are additional, so this should be safe.
2019-10-17 13:54:56 -07:00
Tyler Benson a6200f96c3 Upgrade Jackson to 2.10.0
This is primarily motivated by new CVE’s.

Upgrade jmxfetch to 0.32.1 which has the same change.
2019-10-09 12:04:45 +02:00
Tyler Benson 9ef3332140 Extract base test class and move Config class changes there. 2019-10-07 18:51:25 +02:00
Nikolay Martynov 8e75eeb506 Update bytebuddy to 1.10.1 2019-10-07 08:27:13 -04:00
Laplie Anderson 07b58e1cf4
Merge pull request #957 from DataDog/landerson/instrumentation-module-check
Java 9 Modules Smoketest
2019-09-10 19:56:12 -04:00
Laplie Anderson 3a7dcf3dcd Build java9-modules project with a jdk >= 9 2019-09-10 10:45:34 -04:00
Nikolay Martynov d9656bd96e Update gradle to 5.6.2 2019-09-10 10:34:33 -04:00
Laplie Anderson be60d362ae Manually call jlink because plugin won't work with our build 2019-09-04 13:11:03 -04:00
Laplie Anderson 8ba79db208 Disable task if version is too low. Include all sourcesets in jars 2019-09-04 13:11:03 -04:00
Laplie Anderson 457410ea4e Run all tests on all java version 2019-09-03 13:03:16 -04:00
Nikolay Martynov acb90867a4 More dependency updates 2019-09-03 10:38:39 -04:00
Nikolay Martynov df232f2d35 Update groovy lib 2019-09-03 10:26:59 -04:00
Nikolay Martynov 1ef3889a2f Update gradle to 5.6.1 2019-09-03 10:17:59 -04:00
Tyler Benson 5f0e13f6c4
Merge pull request #956 from DataDog/tyler/play-testing
Update Play instrumentation to work with 2.7
2019-08-27 12:22:25 -04:00
Nikolay Martynov b34f96da7d Update gradle to latest version 2019-08-26 13:13:30 -04:00
Tyler Benson e69edaec14 Remove project config centrally defined and other misc cleanup 2019-08-22 12:43:13 -07:00
Tyler Benson ca040ab0dd Update JMXFetch to 0.30.1 2019-08-14 11:27:30 -07:00
Tyler Benson bbfd02befc Update Jackson to 2.9.9.3
As recommended by https://nvd.nist.gov/vuln/detail/CVE-2019-14379

(Remove unused dependency)
2019-08-12 16:41:57 -07:00
Tyler Benson 29d7a39a3e Update Byte Buddy to 1.10.0 2019-08-06 09:07:39 -07:00
Tyler Benson 68d81d921f Upgrade Byte Buddy to 1.9.16 2019-07-29 16:26:51 -07:00
Nikolay Martynov e3b4ffb240 Update gradle to 5.5.1 2019-07-12 10:07:08 -04:00
Nikolay Martynov a0bf53ac65 Upgrade gradle to 5.5 2019-07-05 15:05:39 -04:00
Luca Abbati f279a612f7
Minor fixes to typos and code styles 2019-06-21 15:53:13 -04:00
Nikolay Martynov 7fc5132ea6 Add support for forcing JDK to run tests on 2019-06-17 11:25:13 -04:00
Tyler Benson 742fc2ff8b Update Jackson Databind to 2.9.9
Due to new security vulerablility.
2019-06-11 19:03:26 -07:00
Nikolay Martynov dd4b4c38f3 Refactor smoketests setup
Move start/stop of servers in smoke tests from gradle code to test
code.
This gives more flexibility in terms of what we can do there.
This also allows us to run servers under test with same JVM as the
test itself - not same jvm as gradle which is currently locked to Java8
2019-06-07 22:56:28 -04:00
Nikolay Martynov 597055fca3 Fix typo 2019-06-06 16:55:39 -04:00
Nikolay Martynov 7863a68a53 Fix typo 2019-06-06 09:41:36 -04:00
Nikolay Martynov 15504c004a Simplify jacoco code a bit 2019-06-05 12:43:50 -04:00
Nikolay Martynov 155f0c3af8 Use newer jacoco 2019-06-05 12:38:07 -04:00
Tyler Benson fd43210e07 Add task timeout for tests. 2019-05-23 17:13:40 -07:00
Nikolay Martynov 6b6668826d Do not run smoke test servers when tests are disabled
Unfortunately Gradle seem to need some manual help to figure this one out.
2019-05-16 12:44:20 -04:00
Nikolay Martynov f3d808d540 Update checkstyle to latest public version 2019-05-13 13:14:28 -04:00
Nikolay Martynov c80749c793 Update to latest versions of groovy and spock 2019-05-08 13:27:04 -04:00
Tyler Benson 38a9804953
Merge pull request #821 from DataDog/tyler/manifest
Add implementation details to each jar manifest.
2019-05-07 10:49:23 -07:00
Nikolay Martynov 5e2a9ef5ed Update gradle to 5.4.1 2019-05-07 12:47:15 -04:00
Tyler Benson 0ea9a701a3 Add implementation details to each jar manifest. 2019-05-06 16:14:41 -07:00
Tyler Benson 179b9b69cb Upgrade Byte Buddy to 1.9.12
and a few other minor code changes.
2019-04-25 10:36:35 -07:00
Nikolay Martynov 1bba166554 typo fix 2019-04-03 14:50:10 -04:00
Nikolay Martynov a245ec4949 Upgradle gradle 2019-04-03 12:56:15 -04:00
Nikolay Martynov 212d4d3c71 Provide Java compiler with bootstrap classes for Java7
when compiling Java7-compatible sources.
2019-03-29 13:53:53 -04:00
Nikolay Martynov 75643fe1e9 Do not generate tests tasks for current Java version 2019-03-26 15:06:55 -04:00
Nikolay Martynov 510262d826 Force compilation with given scala version 2019-03-25 17:50:40 -04:00
Nikolay Martynov c46cf46a6d Update groovy version to avoid some bugs related to Java 11 2019-03-25 12:31:32 -04:00
Tyler Benson 7e82f5b197 Remove unnecessary license checker 2019-02-22 13:42:43 -08:00
Tyler Benson 6bae328a4f Exclude tests generated by “test-sets” plugin from alternate JVM tests
Tests run under regular classpath, not the custom one defined by the plugin.  This works for some tests where this is expected, but other tests it’s just retesting the `test` sourceset tests, not the custom provided ones (ex: slickTest).
2019-02-15 15:36:47 -08:00
Tyler Benson 5bc3ec82c2
Merge pull request #697 from DataDog/tyler/gradle-upgrade
Upgrade Gradle to 4.10.3
2019-02-11 16:01:35 -08:00
Tyler Benson a865bf4dba Upgrade Byte Buddy to 1.9.9 2019-02-07 11:46:23 -08:00
Tyler Benson 000c0e4644 Upgrade Gradle to 4.10.3
Also try to improve build time performance by reducing the required configuration:
https://blog.gradle.org/preview-avoiding-task-configuration-time
2019-02-07 09:43:36 -08:00
Nikolay Martynov 6beade83ed Disable Java7 JIT for for some code
Disable JIT in Java7 for 1 Bytebuddy method. Hopefully this will help
with this error:

```
Stack: [0x00007f892f079000,0x00007f892f17a000],  sp=0x00007f892f174e30,  free space=1007k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x73db30]  PhaseIdealLoop::build_loop_late_post(Node*)+0x130
V  [libjvm.so+0x73e06b]  PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0x10b
V  [libjvm.so+0x745239]  PhaseIdealLoop::build_and_optimize(bool, bool)+0x899
V  [libjvm.so+0x4589b0]  Compile::Optimize()+0x8f0
V  [libjvm.so+0x459e87]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool)+0x10c7
V  [libjvm.so+0x3c9c5c]  C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0xec
V  [libjvm.so+0x45f5bb]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x32b
V  [libjvm.so+0x460960]  CompileBroker::compiler_thread_loop()+0x440
V  [libjvm.so+0x9283ab]  JavaThread::thread_main_inner()+0xdb
V  [libjvm.so+0x928590]  JavaThread::run()+0x1d0
V  [libjvm.so+0x7f56e2]  java_start(Thread*)+0x122

Current CompileTask:
C2:   3653  733
net.bytebuddy.description.type.TypeDescription$Generic$Visitor$Substitutor::onParameterizedType (129
bytes)
```
2019-02-05 09:40:43 -05:00
Tyler Benson 0a89074f60
Merge pull request #653 from marcoferrer/instrument-kt-coroutine-scheduler
Add support for instrumenting kotlin coroutine schedulers
2019-01-22 10:31:32 -08:00
Marco Ferrer cd75bbecd1
Update test-with-kotlin.gradle 2019-01-22 11:38:46 -05:00
Marco Ferrer 7819430620 add mavenCentral to plugin repos 2019-01-21 12:26:46 -05:00
Tyler Benson a620983fb1 Upgrade jackson to 2.9.8
There is a vulerability in prior versions, per the following CVE: https://nvd.nist.gov/vuln/detail/CVE-2018-1000873
2019-01-14 14:46:59 -05:00
Andrew Kent 9d1dd4e194 Add smoketest README and move random port to common util 2019-01-10 11:44:33 -08:00
Marco Ferrer a31abc67e9 add support for instrumenting kotlin coroutine schedulers 2019-01-09 19:04:42 -05:00
Tyler Benson c18b299606 Also exclude test coverage from instrumentation 2019-01-04 15:25:36 -08:00
Tyler Benson 6d7415fed2 Don’t run coverage on projects that use shadow
It was breaking on dd-java-agent where it has duplicate classes across different jars.  These projects are excluding everything anyway.
2019-01-04 15:25:36 -08:00
Andrew Kent 13fdb08a51 Remove errorprone 2018-12-19 12:39:36 -08:00
Andrew Kent 34e866ef2b make error-prone opt-in 2018-12-19 12:37:47 -08:00
Tyler Benson cb7d3bb6c6 System-rules to 1.19.0 2018-11-30 10:11:48 -08:00
Tyler Benson 983077d150 Move mock/assert deps out of common dependencies 2018-11-30 10:02:26 -08:00
Tyler Benson 272a2ace39 Lombok to 1.8.4 2018-11-30 09:40:05 -08:00
Tyler Benson c020f46906 Byte Buddy to 1.9.5 2018-11-30 09:36:31 -08:00
Nikolay Martynov 118a61cc67 Add field backed context provider 2018-11-29 15:18:46 -08:00
Nikolay Martynov ed5692871d Properly limit heap size for gradle child processes 2018-11-23 09:44:50 -05:00
Tyler Benson 5e194ef06c Fix latestDepTests for Kafka Streams, Netty, and Okhttp 2018-11-12 08:15:24 -08:00
Tyler Benson 9bd2b86d2e Add assertion to ensure latestDepTest dependencies are different from test. 2018-11-12 08:15:24 -08:00
Nikolay Martynov b8276ac70b Specify Scala dependency in single place 2018-11-05 12:55:32 -05:00
Tyler Benson 91f514b01d Upgrade Byte Buddy to 1.9.3 2018-11-02 09:12:09 +10:00
Nikolay Martynov aa63c52063 Update Gradle plugin versions 2018-10-26 09:47:56 -04:00
Nikolay Martynov 14e85941c0
Merge pull request #547 from DataDog/mar-kolya/weak-concurrent-map-thread-cleanup
Mar kolya/weak concurrent map thread cleanup
2018-10-23 18:12:24 -04:00
Tyler Benson aef0a48ac1
Merge pull request #541 from DataDog/tyler/remove-signing
Remove PGP signing from publish task
2018-10-24 07:18:11 +10:00
Tyler Benson c80d549e46 Attempt to increase worker count to improve build time.
The build scans are especially slow.
2018-10-23 18:03:09 +10:00
Tyler Benson 0b55212473 Remove PGP signing from publish task 2018-10-23 08:43:10 +10:00
Tyler Benson 0f02264e50 Upgrade Byte Buddy to 1.9.2 2018-10-22 10:41:10 +10:00
Tyler Benson 8ffeb5bedf Add instrumentation for RabbitMQ’s AMQP library 2018-10-17 16:32:24 +10:00
Nikolay Martynov f71192266c Rework the way multi-jvm tests work
To allow some JVMs runs only subset of tests
2018-10-02 13:20:19 -04:00
Tyler Benson 335af8c5f1 Use final java 11 release and fix test excludes 2018-10-02 11:34:16 -04:00
Tyler Benson cf9f2483f1 Run tests on Java 11 2018-10-02 11:34:16 -04:00
Tyler Benson 6b8eb60ca2 Upgrade Byte Buddy to 1.9.0 2018-10-01 13:31:03 -04:00
Nikolay Martynov 6d5b06a292 Upgrade gradle to 4.10.2 2018-09-26 13:47:37 -04:00
Nikolay Martynov 44ea493f53 Download gradle source to make idea more helpful 2018-09-26 13:47:37 -04:00
Nikolay Martynov d48eb4de77 Decouple Groovy version from Gradle
And use newer Groovy and Spock
2018-09-26 13:47:34 -04:00
Tyler Benson e67011de5e Upgrade gradle to 4.10.1 2018-09-19 15:13:42 +10:00
Tyler Benson b4c8b7e538 Add @RetryOnFailure to ES tests. 2018-09-05 14:46:22 +10:00
Tyler Benson e07dfffe5f Migrate tests to new TestHttpServer 2018-08-16 14:23:58 +10:00
Tyler Benson b5c8a8b8fc Apply formatter on gradle files. 2018-07-31 12:04:00 +10:00
Nikolay Martynov f0747a4096 Remove outdated comments 2018-07-26 10:01:55 -04:00
Nikolay Martynov fcbba523d1 Remove `--add-opens` from java9/10 settings 2018-07-26 10:01:55 -04:00
Tyler Benson a4c20a0b37 Upgrade gradle version 2018-07-25 11:25:15 +10:00
Tyler Benson 6e4c03baaf Upgrade byte buddy version. 2018-07-25 11:25:15 +10:00
Nikolay Martynov bf0651e88b Make Jar build fail on duplicate files 2018-07-23 10:04:53 -04:00
Tyler Benson a34f7b849b Instrument gRPC
Adds spans for the duration of the connection and child spans for each message.
Also propagates the trace using the metadata object.
2018-07-20 12:25:04 +10:00
Tyler Benson 12a2fce96d Upgrade java formatter version. 2018-07-19 14:10:53 +10:00
Tyler Benson da2c54e8e8 Add test build for Java 10.
We still require `--add-opens java.base/jdk.internal.loader=ALL-UNNAMED` to be set.  Something we should look into fixing somehow.
2018-07-12 13:20:39 -04:00
Tyler Benson 17c2f28947 Upgrade to gradle 4.8.1 2018-06-26 10:33:35 +10:00
Tyler Benson 83db4e8c4d
Merge pull request #352 from DataDog/tyler/netty
Netty HTTP client and server instrumentation
2018-06-21 14:11:12 +10:00
Nikolay Martynov 9cc99bafbf Simplify Jacoco configuration 2018-06-20 17:13:30 -04:00
Tyler Benson 43e31eae80 Separate out instrumentation for netty 4.0 from 4.1 2018-06-18 12:52:42 +10:00
Tyler Benson ff56389a56 Upgrade some versions. 2018-06-14 11:56:56 +10:00
Nikolay Martynov 9174c7804c Update Jacoco version
This fixes some (but not all) problems with newer JVMs
2018-06-06 09:31:25 -04:00
Tyler Benson d5d24c50c7 Replace @Unroll’s with a rule to always unroll. 2018-05-10 15:24:59 +10:00
Tyler Benson 9a52303376 Apply jacoco to every java project
Some projects have ignores/whitelists, but generally coverage is pretty high.

AFAIK, this doesn’t really capture instrumentation test coverage though.
2018-05-04 16:23:32 +10:00
Tyler Benson f35e2e6ebe Remove various warnings and other cleanup
Also upgrade some plugins.
2018-05-04 14:05:06 +10:00
Tyler Benson 252fa92200 Upgrade gradle version. 2018-04-27 12:42:51 +10:00
Tyler Benson 57eade612f Upgrade Byte-buddy to 1.8.8
Also remove some erronously checked in files.
2018-04-26 22:53:45 +10:00
Tyler Benson 001e59e0cc Build with Java 8, but run tests with other JDKs
Use workspaces to persist build between jobs.
2018-04-16 14:36:38 +08:00
Andrew Kent 63ae144734
Merge pull request #277 from DataDog/ark/play
Play 2.4-2.6 Instrumentation
2018-04-09 13:39:03 -04:00
Tyler Benson d9d601ce71 Add Gradle build scan plugin 2018-04-04 22:15:10 +08:00
Tyler Benson 79a9826863 Add the errorprone compiler. 2018-04-04 20:48:28 +08:00
Tyler Benson 467301fe90 Try upgrading to latest version of BB. 2018-03-29 11:21:13 +08:00
Tyler Benson 6c756afe7a Misc upgrades. 2018-03-27 11:26:46 +08:00
Andrew Kent 2fce4de1c5 Gradle script to use scala in spock 2018-03-26 10:40:28 -07:00