Commit Graph

303 Commits

Author SHA1 Message Date
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
Andrew Kent ce4dc58d7b Fix java9 test setup 2018-03-15 16:42:00 -07:00
Tyler Benson 7e700eaf1f
Revert "CI: publish branches prefixed with 'patch_release'" 2018-03-05 12:52:37 +10:00
Andrew Kent 5e8f7ad862 CI: publish branches prefixed with 'patch_release' 2018-03-02 14:34:15 -05:00
Tyler Benson 3be3d11097 Try releasing from tags (#241) 2018-03-02 13:05:21 -05:00
Tyler Benson 3ec70ac026 Add instrumentation for spring error handling
Also add additional tests for spring boot
2018-02-13 09:07:53 +10:00
Tyler Benson 4958a3d306 Fix dependency problem in dropwizard example
There was an incompatible mix of jackson dependencies which caused the app to not start up.  Changed the tracer client to use an old version, but allow the agent to still use a newer version (since it is shadowed).
2018-02-07 12:41:18 +10:00
Tyler Benson 7d28a32fba Allow instrumentation to be disabled
By default, instrumentation is enabled, and can be disabled by default by overriding the `defaultEnabled` method. Instrumentation can also be disabled individually or enabled when default is disabled.
2018-02-06 11:20:05 +10:00
Tyler Benson 6fbe494934 Exclude tests that are Java 9 incompatible. 2018-01-23 14:59:10 -05:00
Tyler Benson 9acbe5710e
Merge pull request #198 from DataDog/tyler/update
Update dependencies
2018-01-22 16:47:50 -05:00
Tyler Benson 53a575dc74 Update dependencies 2018-01-22 15:08:28 -05:00
Tyler Benson 64d39030e5 Use workflows in Circle to test Java 7 and 8
Java 9 is commented out because there are some test failures that will be investigated later.

Some tests had to be excluded from Java 7 because they don’t have a Java 7 compatible version.
2018-01-22 13:46:50 -05:00
Tyler Benson b2b61e0c8c Changes required for supporting OT 0.31.0
Also updates all the contrib versions that we currently depend on to their 0.31.0 supporting versions.
2018-01-16 09:52:28 -05:00
Tyler Benson 17b0c9a9be Update dependency versions 2018-01-12 10:05:59 -05:00
Tyler Benson becf2a5862 Lots of renaming
Module:
dd-trace -> dd-trace-ot

Packages:
Standardize on `datadog.trace` and `datadog.opentracing` as the package prefixes.
2018-01-09 10:02:06 +10:00
Andrew Kent faa7dae914 Add bytebuddy agent to dependencies 2017-12-28 09:46:08 -08:00
Andrew Kent 922b3012e6 Support for eclipse + buildship (#173) 2017-12-14 10:20:27 +01:00
Tyler Benson d933a4049a Move OkHttp instrumentation to byte buddy 2017-12-06 18:07:17 -08:00
Tyler Benson 50c8c0268a
Merge pull request #162 from DataDog/tyler/upgrade-gradle
Upgrade gradle version to latest.
2017-12-06 08:05:53 -08:00
Tyler Benson 2a3ea4aab6 Upgrade gradle version to latest. 2017-12-04 17:33:50 -08:00
Tyler Benson caf3953360 Add JMH Benchmarks 2017-12-04 17:30:54 -08:00
Tyler Benson ff4f39779e Fix transitive dependencies
New instrumentation was bringing in their dependencies into the jar, resulting in a much larger jar file.  This should resolve that.
2017-11-10 11:45:00 -05:00
Tyler Benson e8bbc849bb Set resource name using the route pattern from spring.
This provides a better static resorce name than trying to conjure one out of the original URL.
2017-10-30 13:24:18 -07:00
Tyler Benson 6cb7a89f05 Minor cleanup to publish
Ivy isn’t used by bintray or maven central.  We don’t really need to publish it for our snapshots.
2017-10-12 11:01:26 +02:00
Tyler Benson 9c39bb64ae Fix aws version in readme, add finals and reformatting 2017-09-18 10:49:08 -07:00
Tyler Benson 7a2c8c411e Remove version numbers from generated files
This should only be used for local development.  This makes it easier for command line testing to have consistent file references that don’t change each release.
2017-09-12 16:06:39 -07:00
Tyler Benson 3bc153241b Abstract core dependencies for central management 2017-09-07 16:38:21 -07:00
Tyler Benson 1bfc5e8b11 Fix artifactory configuration. 2017-09-07 11:06:27 -07:00
Tyler Benson 43436999c4 Automatically publish to bintray after artifactory 2017-09-07 10:22:36 -07:00
Tyler Benson 8ba3c0f156 Fix jacoco for integration tests
Also change slf4j package since it’s important for configuring log levels.
2017-09-05 11:43:37 -07:00
Tyler Benson 03ca35426c Convert InstrumentationCheckerTest to Spock 2017-08-18 11:11:37 -06:00
Tyler Benson 38545befbb dd-trace shouldn’t be shadow bundled 2017-08-07 14:27:40 -07:00
Tyler Benson 46d980ea0a Begin 0.2.1
Also fix minor problem with bintray config.
2017-08-04 12:26:59 -07:00
Tyler Benson 0725ca049e Fix build from breaking when missing bintray creds. 2017-08-03 17:41:00 -07:00
Tyler Benson 7618a5fcd8 Update documentation with deploy instructions 2017-08-03 15:53:04 -07:00
Tyler Benson 835149b722 Add bintray publishing
to bypass permission problem in promoting from oss artifactory.
2017-08-03 13:27:38 -07:00
Tyler Benson 480b720ed2 Enable publishing of artifactory build info 2017-08-02 14:56:07 -07:00
Tyler Benson b371b59ce2 Don’t exclude the wrapper jar 2017-08-01 15:09:51 -07:00
Tyler Benson c1e0e08161 Include build number in info 2017-08-01 11:53:35 -07:00
Emanuele Palazzetti 0e4a66cab8 Merge pull request #63 from tyler/wrapper-examples
Add gradlew to examples and update docs
2017-07-25 12:14:23 +02:00
Tyler Benson 5bfff0bece Add gradlew to examples and update docs 2017-07-21 17:03:31 -07:00
Tyler Benson 8e4e9fe0ac Clean up version and include git sha in reported number
Exclude lombok from being included in the shadow jar.
2017-07-21 08:52:17 -07:00
Tyler Benson 8f794f8364 Merge pull request #59 from DataDog/tyler/shadow-artifacts
Fix jar uploading to use shadow jar instead of unbundled jar
2017-07-20 10:11:12 -07:00
Tyler Benson 02d8f153a6 Fix jar uploading to use shadow jar instead of default
Rename default jar to be explicit that no dependencies are embedded.
2017-07-20 09:58:22 -07:00
Tyler Benson d6271d866e Use lombok @Slf4j annotation for declaring loggers 2017-07-19 11:24:41 -07:00
Tyler Benson e8dbc34bea Apply consistent formatting to other files 2017-07-19 08:09:19 -07:00
Tyler Benson 5622734629 Attempt signing for CI 2017-07-18 08:39:10 -07:00
Tyler Benson c881285d2c Set high threshold that can be lowered later for stricter enforcement. 2017-07-12 07:47:19 -07:00
Tyler Benson e16ad373ad Apply and enforce google checkstyle and formatting
If caught with a format violation, executing `./gradlew googleJavaFormat` should fix it.

There are currently some warnings, but they’re not causing failures, so we can clean that up as we go.
2017-07-12 07:47:19 -07:00
Tyler Benson 980305fb5b Upload to artifactory on merge to master 2017-07-11 17:12:27 -07:00
Tyler Benson 840ada4650 Enable uploading to local artifactory. 2017-07-11 17:12:27 -07:00
Tyler Benson b422ec7663 Apply minimum code coverage assertions
Improved the test coverage slightly in the process.
2017-07-10 14:24:11 -07:00
Tyler Benson 95c7a5ac08 Finish updating gradle and remove maven pom's. 2017-07-06 15:56:32 -07:00
Tyler Benson 5a6bd2d002 Add gradle build scripts.
Currently has issues with shadow jar due to Java 9 compiled classes inside byteman used by dd-java-agent.
2017-06-30 11:35:57 -07:00