Trask Stalnaker
d2794fa231
Add Intellij troubleshooting tips ( #4117 )
...
* Add Intellij troubleshooting tips
* Rename doc and link?
2021-09-14 09:54:34 -07:00
Amit Gud
9ea6fcd7b8
Update CONTRIBUTING.md ( #2426 )
2021-03-09 09:49:51 -08:00
YuDong Tang
f738a158c2
fix the branch master to main ( #2225 )
2021-02-08 18:52:25 +02:00
jason plumb
cd1cfcc251
Update snapshot url in docs ( #1999 )
...
* update the url for the snapshot repo in docs
* Update CONTRIBUTING.md
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-09 10:39:27 +09:00
Anuraag Agrawal
8d74baa2e4
Run tests with javaagent. ( #1643 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-04 13:13:24 -08:00
Anuraag Agrawal
af936759ed
Change link to snapshots to sonatype. ( #1884 )
2020-12-11 16:30:51 +09:00
Nikita Salnikov-Tarnovski
0dc4760f8f
Generate opentelemetry-javaagent "-all" artifact during "assemble" ( #1645 )
...
* Generate opentelemetry-javaagent "-all" artifact during "assemble"
* Update javaagent/javaagent.gradle
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Update CONTRIBUTING.md
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-11-17 17:25:43 +02:00
Trask Stalnaker
515fd58bc1
Update to Java 8 and remove duplicate info ( #1341 )
2020-10-07 21:49:43 +03:00
Trask Stalnaker
4ceca3e56d
Add new approver ( #1289 )
2020-09-30 11:00:35 -07:00
Pavol Loffay
f48579a84f
Add high level Muzzle docs ( #1270 )
2020-09-29 12:46:08 -07:00
Pavol Loffay
42c9ee53a4
Add debugging docs ( #1263 )
2020-09-27 12:52:54 -07:00
Nikita Salnikov-Tarnovski
5cebfeb247
Update CONTRIBUTING.md ( #1235 )
...
Update @jkwatson affiliation
2020-09-22 21:13:20 +03:00
Trask Stalnaker
6a07b173af
Rename auto exporters module ( #1022 )
2020-08-17 21:04:13 -07:00
Trask Stalnaker
bf9c160570
Rename javaagent modules ( #952 )
2020-08-12 22:50:14 -07:00
Anuraag Agrawal
4264af28ba
Fix link in Contributing.md ( #800 )
2020-07-27 22:18:54 -07:00
Trask Stalnaker
7418143f5e
Split up the CONTRIBUTING doc ( #784 )
...
* Split up the CONTRIBUTING doc
* spotless
2020-07-25 13:54:14 +03:00
Trask Stalnaker
83324169fe
Add new triager @malafeev ( #741 )
2020-07-20 21:15:16 -07:00
Anuraag Agrawal
d8355c672d
Docs for writing new instrumentation... ( #652 )
...
* Docs for writing new instrumentation
2020-07-19 14:21:19 +09:00
Alexey Zhokhov
f3421e91a0
Remove Lombok ( #672 )
...
* Gradle 6.5.1.
* Skip download javadoc and sources automatically in IntelliJ IDEA.
* Added mavenLocal to repositories.
* Removed Lombok usage.
* Removed duplicated idea config.
* Code format.
* Removed useless usage of Objects.requireNonNull.
* Use instanceof to comparing objects.
* Code format.
* Code format.
* Fixes after merge.
* Fixed sneakyThrow exception.
* Code format.
2020-07-18 15:52:55 +03:00
Trask Stalnaker
1434ea1628
Add anuraaga as a maintainer ( #724 )
2020-07-17 22:19:12 -07:00
Helen Y
bbf5e75e63
Minor update to the contributing doc ( #707 )
...
* Minor update to the contributing doc
* Update CONTRIBUTING.md
Set core.autocrlf locally.
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Update CONTRIBUTING.md
Add more clarity.
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Use .gitattributes to make spotless respect line endings
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-07-17 08:58:56 +09:00
Nikita Salnikov-Tarnovski
285d4b0f0e
Update docs for 0.6.0 release ( #682 )
...
* Update docs for 0.6.0 release
* Format
2020-07-13 19:50:53 +03:00
Tyler Benson
4a943c8411
Use Spotless for formatting ( DataDog/dd-trace-java#1619 )
2020-06-30 11:15:48 -07:00
Trask Stalnaker
a4083c49aa
Update approvers list in CONTRIBUTING ( #587 )
2020-06-27 23:16:29 -07:00
Trask Stalnaker
4635f6ff46
Add iNikem as a maintainer ( #537 )
2020-06-17 10:05:17 -07:00
Nikita Salnikov-Tarnovski
58a2a3b0b4
Update documentation to point to new snapshot and release repositories ( #516 )
2020-06-15 17:45:37 -07:00
Trask Stalnaker
6bb31f5c54
Update save actions ( #520 )
...
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
2020-06-15 07:46:12 +03:00
Nikita Salnikov-Tarnovski
e61ff5bac2
Rename auto-exporters' artifacts names ( #514 )
2020-06-14 10:53:51 -07:00
Trask Stalnaker
f0c7deb1a9
Use published MetricExporterFactory ( #493 )
2020-06-11 08:31:58 +03:00
Trask Stalnaker
359eb07445
Updates to reflect new repo name ( #454 )
2020-05-30 11:56:12 -07:00
Nikita Salnikov-Tarnovski
4acfeb9ddc
Fix brolen anchor link ( #422 )
2020-05-20 13:24:08 -07:00
Trask Stalnaker
46c0c087b3
Update CONTRIBUTING.md back to Java 11 ( #419 )
2020-05-19 15:27:17 -07:00
Steve Flanders
abcaa7acc6
Update the README ( #414 )
...
* Move build and configure to top as getting started section
* Add manual instrumentation section
* Document `@WithSpan` annotation
* Move developer specific information to CONTRIBUTING.md
* Cleanup formatting and use consistent spacing
2020-05-18 21:03:39 -07:00
Nikita Salnikov-Tarnovski
cd68061cb2
Update docs about needing java 11 to build ( #412 )
2020-05-18 14:17:32 -07:00
Nikita Salnikov-Tarnovski
67766fd13b
Add documentation about java agent structure and related classloaders ( #380 )
2020-05-06 10:28:35 -07:00
Nikita Salnikov-Tarnovski
bae0b7b38c
Copy .editorconfig file and relevant sections in CONTRIBUTING.md from otel-java repo ( #373 )
2020-05-04 10:07:19 -04:00
Nikita Salnikov-Tarnovski
a07d763e1a
Add requirement for java 8 and 9 into CONTRIBUTING.md ( #367 )
2020-04-29 10:59:17 -07:00
Nikita Salnikov-Tarnovski
6e1c0436da
Clarifications about various test tasks ( #358 )
...
In addition this commit replaces eager tasks generation for running tests using different java versions with rule based task created on-demand.
2020-04-28 18:11:17 -07:00
Trask Stalnaker
18c22fd8fd
Remove incorrect info from contributing doc ( #353 )
2020-04-28 14:25:47 -07:00
Trask Stalnaker
b2db595430
Merge tag 'v0.45.0' into dd-merge
2020-03-05 21:49:39 -08:00
Laplie Anderson
52b5f611ea
Add compiler settings for Intellij
2020-02-27 14:05:02 -05:00
Trask Stalnaker
852c00193c
Merge commit 'f2d8c8e6b9967b204803a3744942582191266625' into dd-merge
2020-02-12 15:35:23 -08:00
Lev Priima
5265a43c6d
Reduce use of Thread::setContextClassLoader
2020-02-06 22:53:04 -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
Luca Abbati
ad3401b815
Apply suggestions from CR #827
2019-05-17 10:15:03 +02:00
Luca Abbati
3a6fedda14
Add context getter/setter methods to an object only if not already defined
...
Class `FieldBackedProvider` uses ByteBuddy to add a field and its respective getters and setters to store the context object.
Assuming that we have a class `A` that implements runnable and that we wrap with a `FieldBackedProvider`
`Runnable` interfaces, if later on we use a cglib's `Enancher` class on `A` then the our mechanism will kick in again and try
to add the methods again. This causes a `java.lang.ClassFormatError: Duplicate method name "get__datadogContext$java$lang$Runnable" with signature "()Ljava.lang.Object;"`
to be thrown because CGLIB already copied over those methods from the original class `A` to the newly created class.
With this commit we now check that method were not previously defined before adding them, and if they were then we avoid adding them
again.
The reason why it wasn't faiing before is that we only checked on context field existence, not methods and cglib do not copy over fields, it copies only methods. E.g.
```
public class Main {
public static class A {
private String name = "hey";
public String getName() {
return this.name;
}
}
public static void main(String[] args) {
System.out.println("----- 'A' declared fields -----");
A s = new A();
for (Field f : s.getClass().getDeclaredFields()) {
System.out.println("field: " + f.getName());
}
for (Method m : s.getClass().getDeclaredMethods()) {
System.out.println("method: " + m.getName());
}
System.out.println("----- Proxy declared fields -----");
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(A.class);
enhancer.setCallback((FixedValue) () -> null);
A proxy = (A) enhancer.create();
for (Field f : proxy.getClass().getDeclaredFields()) {
System.out.println("field: " + f.getName());
}
for (Method m : proxy.getClass().getDeclaredMethods()) {
System.out.println("method: " + m.getName());
}
}
}
```
Results in:
```
----- 'A' declared fields -----
field: name
method: getName
----- Proxy declared fields -----
field: CGLIB$BOUND
field: CGLIB$FACTORY_DATA
field: CGLIB$THREAD_CALLBACKS
field: CGLIB$STATIC_CALLBACKS
field: CGLIB$CALLBACK_0
field: CGLIB$CALLBACK_FILTER
method: equals
method: toString
method: hashCode
method: clone
method: getName
method: newInstance
method: newInstance
method: newInstance
method: setCallbacks
method: CGLIB$SET_STATIC_CALLBACKS
method: CGLIB$SET_THREAD_CALLBACKS
method: getCallback
method: getCallbacks
method: CGLIB$STATICHOOK1
method: CGLIB$BIND_CALLBACKS
method: setCallback
```
2019-04-11 15:45:43 +02:00
Tyler Benson
9a71b6f389
Add import format and remove conditional reformat.
2018-07-31 11:48:26 +10:00
Tyler Benson
1124923cf1
Add contributing document
2018-07-31 11:48:26 +10:00