Trask Stalnaker
bf9c160570
Rename javaagent modules ( #952 )
2020-08-12 22:50:14 -07:00
Trask Stalnaker
b5fbf90977
Extract instrumentation api module ( #884 )
2020-08-09 22:52:33 -07:00
Trask Stalnaker
2c786ab1a1
Fix WithSpan annotation instrumentation ( #929 )
2020-08-09 21:46:50 -07:00
Trask Stalnaker
e0d1382d5b
Revert "Split muzzle across multiple executors" ( #899 )
...
This reverts commit 74cd2fdd3d
.
2020-08-05 17:00:32 -07:00
Anuraag Agrawal
ad3963303d
Merge integration tests back into test. ( #871 )
2020-08-02 15:41:47 +09:00
Anuraag Agrawal
87bf97da70
Generate bootstrap jar with gradle instead of when running tests. ( #840 )
...
* Generate bootstrap jar with gradle instead of when running tests.
* kill all semicolons
* docs
* docs
* ByteCodeTest
* Use latestDepTest classpath for its bootstrap jar
* Rename package
* Reformat comment
* Bootstrap jar absolute path
* Save bootstrap jar to reports dir.
* Debug
* Debug
* Use project.getBuildDir
* Restore
* Revert
* testFieldInjection is instrumentation test too.
* Split out bytecode tests for testing-common
* Apply jacoco configuration to all tests.
* Add note that jacoco may be causing frustration.
* YOLO alert - Hope my guess at the reason is correct
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-08-02 10:17:52 +09:00
Helen Y
86c438b154
Remove final from local variables ( #732 )
...
* Remove final from local variables
2020-07-20 13:53:34 +09:00
Nikita Salnikov-Tarnovski
b77fb267f3
Gradle warnings ( #659 )
...
* More gradle warnings fixes
* Disable javadoc where it is definitely not needed
* Polish
2020-07-10 07:57:54 +03:00
Anuraag Agrawal
f3ed2d320a
Replace deprecated configurations in buildSrc ( #653 )
2020-07-09 17:00:45 +09:00
Tyler Benson
4a943c8411
Use Spotless for formatting ( DataDog/dd-trace-java#1619 )
2020-06-30 11:15:48 -07:00
Laplie Anderson
74cd2fdd3d
Split muzzle across multiple executors ( DataDog/dd-trace-java#1549 )
2020-06-23 14:08:44 -07:00
Nikita Salnikov-Tarnovski
c248f140aa
Artifactory and bintray publish ( #403 )
...
* Artifactory and bintray publish
* Delegate version management to Nebula
* Proposal of new release process
* New CI jobs for releasing
* Fix nebula versioning
* Polish
* Fix CI
* Publish snapshot from master must depend on test_8
* Fix repo name
* Restore version file creation
* Use correct env variable for Bintray credentials
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-06-09 07:56:12 +03:00
Tyler Benson
77ae5434d5
Attempt to improve muzzle time by randomly ignoring versions until 10 remain ( DataDog/dd-trace-java#1451 )
2020-05-26 11:54:57 -07:00
Nikita Salnikov-Tarnovski
6cfe2256ef
Use java 11 for compilation ( #390 )
...
* Allow compiling of everything with java 11
* Instruct CircleCI to use java 11 be default
* Forbid running some tests on java11
* Muzzle uses ClassLoader.platformClassLoader as parent for user-space classloader
2020-05-14 15:13:30 -07:00
Trask Stalnaker
ce3d764ffa
Merge commit '437e0f343dcd66ac344556c03bd340ce791b1fdd' into correct-history
2020-04-21 12:55:51 -07:00
Tyler Benson
401ff4d419
Remove some repositories...
...
Too many caused OOM in CI.
2020-04-20 23:42:05 -04:00
Tyler Benson
2743e64fd3
Exclude more weird versions.
2020-04-20 21:59:24 -04:00
Tyler Benson
70f5ff7244
Add the ability to skip specific versions for muzzle
...
This makes it much easier to bypass bad versions than splitting out the muzzle definition.
2020-04-20 16:36:57 -04:00
Tyler Benson
6dae05f6ee
Add jCenter as a muzzle repository to catch things that are different from Maven Central
...
For example in the latest release `jetty-server`'s version list was messed up:
https://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-server/maven-metadata.xml
but still available in jcenter:
https://jcenter.bintray.com/org/glassfish/jersey/core/jersey-server/maven-metadata.xml
2020-04-20 13:02:49 -04:00
Trask Stalnaker
d24159c8d2
Merge tag 'v0.48.0' into dd-merge
2020-04-12 15:20:10 -07:00
Brian Devins-Suresh
08e9f8c6e2
Undo star import
2020-03-26 10:10:32 -04:00
Brian Devins-Suresh
89a0761ab4
Add typesafe repo and skip bad builds
2020-03-26 10:10:31 -04:00
Trask Stalnaker
bdf2b8eafd
Fix file formatting ( #256 )
2020-03-19 18:57:05 -07:00
Trask Stalnaker
e039998192
Remove a couple remaining dd prefixes ( #170 )
2020-02-18 11:55:56 -08:00
Trask Stalnaker
c43f3229c6
Merge commit '25534b2641ff57e0de36fb359a412612ef349ee9' into dd-merge-part-2
2020-02-12 17:59:03 -08:00
Tyler Benson
e5980d4812
Fix muzzle
2020-02-10 10:45:58 -08:00
Trask Stalnaker
cd4a97546e
Rename boostrap and tooling modules ( #146 )
...
* Rename agent-bootstrap module to auto-bootstrap
* Rename agent-tooling module to auto-tooling
* Further renames
2020-02-07 17:01:55 -08:00
Trask Stalnaker
147b42d1ff
Merge tag 'v0.42.0'
2020-02-01 13:28:58 -08:00
dougqh
4c7a0ba7a7
Fixing muzzle?
...
MuzzlePlugin groovy checks that no threads are spawned because this holds the ClassLoader live.
This was breaking with the caching change because the cache no longer uses the Cleaner service.
This caused a problem because the Thread behind the cleaner is created lazily when the first task is created, but without the cache the creation was delayed.
To solve this, I addressed the original cause of the leak. The newly created Thread automatically inherits the contextClassLoader of its parent, but that's unnecessary for a cleaner thread.
So I changed the ThreadFactory for cleaner to explicitly null out the contextClassLoader.
We should probably null out contextClassLoader in other thread factories and also reduce our use of contextClassLoaders in general, but that will left to another PR.
2020-01-27 17:14:17 -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
Trask Stalnaker
8b0a140ed7
Update muzzle maven URL to use https ( #61 )
...
Also add a test.
Co-authored-by: Tyler Benson <tylerbenson@gmail.com>
2020-01-15 14:43:34 -08:00
Tyler Benson
4915ed9c75
Update muzzle maven URL to use https
...
Also add a test.
2020-01-15 11:22:10 -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
Tyler Benson
ded28674d3
Add option for muzzle validation on the specific JDK version
...
This is still useful to validate various aspects of the integrations even if it doesn't need to check against maven.
2019-12-18 13:40:19 -08:00
Tyler Benson
fbd16d8cb7
Add assert to ensure muzzle range not empty and update spring-data
...
Also fix a few muzzle definitions that are now broken with the new requirement.
Moved a few projects around to match correct version numbers.
2019-10-23 14:09:01 -07:00
Tyler Benson
e69edaec14
Remove project config centrally defined and other misc cleanup
2019-08-22 12:43:13 -07:00
Tyler Benson
28f4038122
Be more specific about thread assertion.
2019-08-20 09:43:27 -07:00
Tyler Benson
8c1dbfe7cb
Make Muzzle handle cleaner thread properly.
2019-08-19 17:27:01 -07:00
Luca Abbati
27b4db8861
Remove legacy transitive dependencies no longer bundled with the JVM from muzzle tests
2019-06-20 21:29:46 -04:00
Nikolay Martynov
c489fb41cb
Konvert muzzle plugin definition to Kotlin
2019-04-05 11:03:35 -04:00
Luca Abbati
64dd67024f
Improve javadoc entry
2019-03-29 17:18:53 +01:00
Luca Abbati
1626c5da62
Fixed typo in comments
2019-03-29 14:09:40 +01:00
Luca Abbati
1a3e5fe69a
Let muzzle plugin test same dependency in different conditions
...
The muzzle plugin creates a config for each of the dependencies under test with name '...-<group_id>-<artifact_id>-<version>'.
The problem is that if we want to test multiple times the same configuration under different conditions, e.g.
with different extra dependencies, the plugin would throw an error as it would try to create several times the same config.
This commit let directives to define an optional name that defaults to a null. If a name is provided then a slug of it
is used to generate the gradle configuration name.
2019-03-29 13:42:26 +01:00
Tyler Benson
b07b5962f0
Add log output to help CI not time out for long tasks
...
Muzzle takes a long time when run on a clean cache because it has to download a lot of dependencies.
2019-02-07 11:03:19 -08:00
Andrew Kent
3c4b480a18
Share tooling loader across muzzle runs
2018-11-28 13:01:01 -08:00
Andrew Kent
e0d00078f9
Assert muzzle tooling invocations do not create orphaned dd threads
2018-11-28 12:05:47 -08:00
Andrew Kent
6ee5fd27b0
Guard against invoking WeakConcurrent constructor
2018-11-28 12:05:47 -08:00
Gary
90777f4b39
Retire/remove version scan
...
Remove version scan dead code and unnecessary classLoaderMatcher methods in instrumentations. Depends on #572
2018-11-26 18:21:56 -05:00
Tyler Benson
6b8eb60ca2
Upgrade Byte Buddy to 1.9.0
2018-10-01 13:31:03 -04:00
Andrew Kent
9338faa013
Muzzle inverse assertions
2018-08-24 10:47:37 -07:00