Trask Stalnaker
cba031ddcb
Rename hibernate modules ( #205 )
...
* Rename hibernate modules
* Update tracer name
* Change from gradle inheritance to composition
This will make it possible to have empty "grouping" modules, e.g.
instrumentation:hibernate.
* Introduce empty hibernate grouping module
2020-03-09 15:33:21 -07:00
John Bley
00ae1eca3d
Integrate SpotBugs into build (ignoreFailures=true), fix most found issues ( #216 )
...
* Integrate SpotBugs (FindBugs) into build. Set ignoreFailures so spotted bugs do not break the build.
* Fix many SpotBugs-found items, mostly making things final, but also a redundant null check and a reliance on platform character encoding. 2 items remain which will need further work/review, but as ignoreFailures is set, they will not fail the check stage.
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-03-09 10:47:49 -07:00
Trask Stalnaker
40e3932358
Add license headers ( #188 )
...
* Add spotless gradle plugin
* Add license headers
2020-02-27 13:24:42 -08:00
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
fd58187994
Support JFR profiling
2020-02-11 14:55:19 -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
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
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
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
8c558fa00e
Format
2019-10-24 21:05:01 -07:00
Laplie Anderson
3a7dcf3dcd
Build java9-modules project with a jdk >= 9
2019-09-10 10:45:34 -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
Tyler Benson
e69edaec14
Remove project config centrally defined and other misc cleanup
2019-08-22 12:43:13 -07:00
Nikolay Martynov
7fc5132ea6
Add support for forcing JDK to run tests on
2019-06-17 11:25:13 -04:00
Nikolay Martynov
597055fca3
Fix typo
2019-06-06 16:55:39 -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
Tyler Benson
0ea9a701a3
Add implementation details to each jar manifest.
2019-05-06 16:14:41 -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
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
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
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
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
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
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
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
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
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