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
Andrew Kent
26705142bb
Muzzle pass and fail directives in the same collection
2018-08-24 10:47:37 -07:00
Andrew Kent
b6d1c18af9
Allow muzzle directives to have extra dependencies
2018-08-24 10:47:37 -07:00
Andrew Kent
c6841c9d06
Add maven version scanning to muzzle
2018-08-24 10:47:37 -07:00
Andrew Kent
3c1bf569ea
Add reference pretty-printer to muzzle plugin
2018-08-15 10:01:19 -07:00
Andrew Kent
2eb3433da1
Muzzle plugin to depend on compileScala
2018-08-15 09:49:50 -07:00
Tyler Benson
ff9ef671f3
Apply formatter on groovy files.
2018-07-31 12:09:28 +10:00
Andrew Kent
23d0439b12
Remove muzzle dead code, doc cleanup, and better logging
2018-07-13 16:24:01 -07:00
Andrew Kent
2925df8de5
Clean up and document
2018-07-10 17:26:49 -04:00
Andrew Kent
628f4929dc
Muzzle Assertions and gradle plugin
2018-07-10 17:26:49 -04:00
Tyler Benson
c0da1f7093
Add version scan.
2018-06-18 12:52:42 +10:00
Tyler Benson
3db2d654f1
Fix spark instrumentation
...
and rebase off master.
2018-04-26 17:01:45 +10: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
Andrew Kent
7ea611fee2
Include scanVersions in gradle task list.
2018-01-08 17:41:34 -08:00
Tyler Benson
02460060bc
Misc cleanup
...
Remove out of date “async-tracing” example since it’s more about byteman and no longer relevant.
Minor changes to improve the code test coverage…
2017-12-21 16:31:03 -08:00
Tyler Benson
fd8f6a940e
Exclude draft version.
2017-12-04 18:14:42 -08:00
Tyler Benson
3ea7ad73ed
Fix version scan plugin
...
Now you can run `./gradlew :dd-java-agent:integrations:datastax-cassandra-3.2::scanVersionsReport -PshowClasses` to show you the classes you can use for that version range.
2017-11-28 18:34:56 -08:00
Tyler Benson
9c39bb64ae
Fix aws version in readme, add finals and reformatting
2017-09-18 10:49:08 -07:00
Tyler Benson
a0d4f2ca76
Report version from main
...
This allows running the agent as an executable jar to report the version number.
Also repot version scan errors better.
2017-08-28 13:39:19 -07:00
Tyler Benson
6fd641b855
Skip verifyVersionScan for release build
2017-08-25 10:55:04 -07:00
Tyler Benson
9a9da92b59
Add version checking via class/method for jetty
2017-08-24 17:38:16 -07:00
Tyler Benson
1b63a53167
Add version scan verification and test in CI
2017-08-24 17:15:22 -07:00
Tyler Benson
aad3746c2b
Fix tests
2017-08-18 11:12:06 -06:00
Tyler Benson
988a3d0fdf
Cleanup plugin and add identifying classes to config
...
Still missing jetty since that requires method level searching.
2017-08-18 11:11:37 -06:00
Tyler Benson
d33b468096
Allow scanning for key identifying methods
2017-08-18 11:11:37 -06:00
Tyler Benson
9b73fed3c5
Add plugin that scans for classes unique to version range
...
Does not include method signatures yet. Still a work in progress.
Execute with `./gradlew scanVersions --parallel`.
Using `--parallel` is strongly recommended.
2017-08-18 11:11:37 -06:00