Marco Ferrer
6ac07abe2b
fix span error tagging in grpc server interceptor
2019-09-06 12:25:31 -04:00
Tyler Benson
cd6dcf393b
Apply fixed default operation name for @Trace generated spans
...
This should help reduce issues with multiple top level spans.
2019-09-05 16:21:27 -07:00
Tyler Benson
df017e044a
Merge pull request #975 from DataDog/tyler/split-by-tag
...
Add new setting to allow renaming service by tag
2019-09-05 14:24:20 -07:00
Douglas Q Hawkins
2e5766ece9
Merge pull request #974 from DataDog/dougqh/no-lang-client-spans
...
Ensure "client" spans do not set the language tag
2019-09-05 13:38:25 -04:00
dougqh
46a36569e6
Adding FIXME for possible test clean-up
2019-09-05 13:23:51 -04:00
Tyler Benson
c410f5b78b
Add additional tags for aws-sdk spans
...
s3 -> bucket name
dynamodb -> table name
sqs -> queue name/url
kinesis -> stream name
2019-09-04 12:41:45 -07:00
Laplie Anderson
3323bbc5b1
java.sql classes are not always present
2019-09-04 13:11:03 -04:00
Tyler Benson
82f5076716
Add new setting to allow renaming service by tag
...
This is a more generic form of the previous `split-by-domain` and `split-by-instance`.
(Note: evaluation is done when a tag is set, so If multiple tags are configured, the last tag set will take precidence.)
For example, this setting can be used to rename `aws-sdk` spans to be identified with the corresponding `aws.service` tag:
```
-Ddd.trace.split-by-tags=aws.service
```
There are some slight differences with this setting compared with`dd.trace.http.client.split-by-domain` and `dd.trace.db.client.split-by-instance`. `split-by-tags` applies to every span, where `split-by-domain` and `split-by-instance` only apply to http and db client spans respectively.
2019-09-03 16:55:47 -07:00
dougqh
4851cc9069
Re-running format through gradle
...
Need to figure out why IntelliJ and gradle are behaving differently for import order
2019-09-03 16:16:13 -04:00
dougqh
3e2ef885a5
Ensure "client" spans do not set the language tag
...
The core changes are in Config and ServerDecorator.
Moved default tagging from Config::getRuntimeTags to Config::getLocalRootSpanTags. This changes the result of Config::getMergedJmxTags as well.
To preserve language for servers changed ServerDecorator::afterStart.
Other changes are in tests - the most complicated part is in TagsAssert::defaultTags. This now contains a bit too much conditional logic for my liking.
2019-09-03 13:20:50 -04:00
Laplie Anderson
457410ea4e
Run all tests on all java version
2019-09-03 13:03:16 -04:00
Laplie Anderson
d94f5df00e
Merge pull request #968 from DataDog/landerson/better-internal-jar
...
Change packaging of internal jars
2019-08-30 15:09:41 -04:00
Tyler Benson
a693c42dc1
Merge pull request #969 from DataDog/labbati/jax-rs-op-name
...
Static operation names for JaxRS instrumentation to be used as root span
2019-08-30 14:09:46 -04:00
Laplie Anderson
ac2087eb4a
Use .isolated instead of .jar
2019-08-30 14:06:51 -04:00
Laplie Anderson
d03d583e85
Merge pull request #966 from DataDog/landerson/wrap-instrumentation-install
...
Wrap instrumentation installation with a try/catch
2019-08-30 14:02:13 -04:00
Tyler Benson
aec22640f3
Remove unused method and finish comment
...
Also adjust naming slightly.
2019-08-30 13:52:54 -04:00
Luca Abbati
0b0d75bcf2
Jax-rs user METHOD PATH as resource only when root span
2019-08-30 19:28:55 +02:00
Luca Abbati
0b71c6bbe5
Rename operation jax-rs.endpoint to jax-rs.request
2019-08-30 17:57:03 +02:00
Luca Abbati
d877039fa7
Set span.type = web on jax-rs endpoints
2019-08-30 13:57:30 +02:00
Luca Abbati
359ac9c190
Fix indentation in JaxRS instrumentation test
2019-08-30 13:05:24 +02:00
Luca Abbati
d9f09e6af5
Minor refacotrings to JaxRsAnnotationsInstrumentation.java
2019-08-30 12:23:41 +02:00
Luca Abbati
37dcfe5385
Use static operation names for JaxRS instrumentation
2019-08-30 12:18:41 +02:00
Laplie Anderson
f3bb22d8df
Revert addition of tests. Too many issues
2019-08-29 18:20:09 -04:00
Laplie Anderson
ae9f8e15dd
Add test. Address other PR concerns
2019-08-29 17:48:29 -04:00
Laplie Anderson
5994fa8734
Change packaging of internal jars to be exploded in a subfolder
2019-08-29 16:04:10 -04:00
Laplie Anderson
08de0b02fd
Wrap instrumentation installation with a try/catch
2019-08-28 17:33:11 -04:00
Tyler Benson
09ad2374cf
Disable Grizzly instrumentation by default
...
Otherwise it can interfere with the more common Servlet instrumentation (changing the root span name).
Unify attribute/property name for saving span on a request/context.
Also add tests for embedded GlassFish.
2019-08-27 13:27:57 -04:00
Laplie Anderson
3f29e72317
Merge pull request #960 from DataDog/landerson/module-reference-fix
...
Ensure injected modules can read helper class modules
2019-08-27 12:42:34 -04:00
Tyler Benson
5f0e13f6c4
Merge pull request #956 from DataDog/tyler/play-testing
...
Update Play instrumentation to work with 2.7
2019-08-27 12:22:25 -04:00
Tyler Benson
263c442bdb
Fix order of operations
2019-08-27 12:06:21 -04:00
Laplie Anderson
7a41ca7d6e
Change whitelist fields from static to instance
2019-08-27 12:06:01 -04:00
Laplie Anderson
d170984f72
Use weak references for the helper modules so ClassLoaders can be GC'd
2019-08-27 10:56:04 -04:00
Laplie Anderson
99e083b90f
Merge pull request #959 from DataDog/landerson/url-classloader-test
...
Add test for ClassNotFoundException creating a span
2019-08-26 17:13:55 -04:00
Nikolay Martynov
0592c016ca
Update jmxfetch
...
New fixes include better tagging for k8s environments
2019-08-26 12:50:44 -04:00
Laplie Anderson
25c0d19f23
CodeNarc complains about the unused variable
2019-08-26 11:19:03 -04:00
Laplie Anderson
7b66a31d80
Ensure injected modules can read the helper class module
2019-08-23 19:14:10 -04:00
Laplie Anderson
9c5766162a
Add test for ClassNotFound creating a span bug
2019-08-23 13:04:56 -04:00
Tyler Benson
e74167adf2
Update Play instrumentation to work with 2.7
...
(Don’t be surprised when things break with 2.8… They’re religious about removing deprecated methods on minor release versions. If they followed standard convention, they’d likely be on at least 11.x.)
Add client test for 2.4-2.5 http library. 2.6+ won’t work because the underlying frameworks we instrument are shaded.
Also add server tests. We could do a lot more testing since it seems play still supports using Netty as the backing server even though it’s not the default. It’s difficult to do extensive testing though because they have so many breaking changes between versions.
2019-08-22 12:43:13 -07:00
Tyler Benson
e69edaec14
Remove project config centrally defined and other misc cleanup
2019-08-22 12:43:13 -07:00
Tyler Benson
95d056da5d
More CR tweaks.
2019-08-21 16:48:52 -07:00
Tyler Benson
7e14f621b1
Review fixes and add tests.
2019-08-20 12:33:45 -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
Tyler Benson
09213f63b4
Extract logic out for `Cleaner` class.
2019-08-16 20:16:23 -07:00
Tyler Benson
70464c2e5d
Add cleaner thread to EvictingCacheProvider’s cache
...
The guava cache used internally wasn’t cleaning (releasing references to) the expired entries properly, resulting in excessive memory overhead.
This PR also increases the size of the cache but reduces the last used expiration window.
I also added some tests to verify the expected behavior of the cache.
2019-08-16 16:30:15 -07:00
Tyler Benson
76c98598e2
Merge pull request #949 from DataDog/tyler/ratpack-testing
...
Improve Ratpack context propagation and migrate tests
2019-08-16 14:03:39 -07:00
Tyler Benson
452a619b4b
Muzzle doesn’t seem to like those helper classes there
...
Had to move them externally for muzzle to be happy.
2019-08-16 10:10:09 -07:00
Tyler Benson
3958cebecf
Merge pull request #953 from DataDog/tyler/grpc-client-async
...
Enable async propagation for grpc client callbacks.
2019-08-16 09:38:55 -07:00
Tyler Benson
fc30b4c5bb
CR fixes.
2019-08-16 09:22:44 -07:00
Tyler Benson
8c490a42a2
Improve Ratpack context propagation and migrate tests
2019-08-16 09:17:50 -07:00
Tyler Benson
473aca7c08
Merge pull request #948 from DataDog/tyler/grizzly
...
Add instrumentation and tests for Grizzly 2.x Http Server
2019-08-16 09:06:58 -07:00
Tyler Benson
20277f5f4a
Minor CR fixes.
2019-08-16 08:47:52 -07:00
Tyler Benson
b69f9ea041
Enable async propagation for grpc client callbacks.
2019-08-15 17:12:32 -07:00
Nikolay Martynov
63cd73e79e
Remove obsolete check
...
We are no longer using UrlConnection to send traces
2019-08-14 16:46:31 -04:00
Nikolay Martynov
b0ff861392
Do not trace openConnection for Datadog ClassLoader
2019-08-14 16:46:23 -04:00
Tyler Benson
ca040ab0dd
Update JMXFetch to 0.30.1
2019-08-14 11:27:30 -07:00
Tyler Benson
f5b73260ed
Add instrumentation and tests for Grizzly 2.x Http Server
2019-08-13 16:05:11 -07:00
Tyler Benson
ab623ab7b4
Merge pull request #942 from DataDog/tyler/http-server-testing
...
Jetty 8 test migration and ignoreParent
2019-08-13 13:07:18 -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
2d08464be3
Fixes
2019-08-07 10:48:14 -07:00
Tyler Benson
6dd729b843
Jetty 8: ignore parent and move to HttpServerTest
...
This method of using jetty doesn’t seem to work with Servlet’s Async. Native Jetty uses Continuations which we don’t support and should investigate instrumenting.
2019-08-07 09:35:04 -07:00
Tyler Benson
49249c0c6e
Move server field to HttpServerTest
2019-08-07 08:35:18 -07:00
Tyler Benson
f3e9fa22ef
Add HttpServerTest for redirects
2019-08-07 08:35:18 -07:00
Laplie Anderson
548e4ed6e4
Merge pull request #934 from DataDog/landerson/remove-temp-jars
...
Eliminate temporary jars for instrumentation, jmxfetch, and bootstrap
2019-08-06 18:32:41 -04:00
Tyler Benson
1cfa847081
Merge pull request #941 from DataDog/tyler/common-deps
...
Remove common (redundant) dependencies
2019-08-06 15:29:14 -07:00
Tyler Benson
95a294a560
Remove common (redundant) dependencies
2019-08-06 14:51:04 -07:00
Tyler Benson
efd0e5fb18
muzzle fix
2019-08-06 16:26:43 -04:00
Laplie Anderson
7b023ca95a
Always use reflection to get VM args
2019-08-06 16:12:43 -04:00
Tyler Benson
d77487017e
muzzle fix
2019-08-06 08:58:36 -07:00
Tyler Benson
38cc03ae9e
Misc fixes
2019-08-06 08:11:37 -07:00
Tyler Benson
668b1059f5
Migrate vertx tests to HttpServerTest
2019-08-05 15:52:04 -07:00
Laplie Anderson
ff0cd73381
Getting the -javaagent parameter is necessary in some cases
2019-08-05 13:53:38 -04:00
Laplie Anderson
1a26e73ae8
Some tests need the agent jar loaded as an agent
2019-08-05 12:20:19 -04:00
Laplie Anderson
ba6ff678db
Change agent jar inclusion in tests that launch a process
...
The tests were the main problem. By using a different approach to pass in the agent jar, the TracingAgent code can be much simpler
2019-08-05 12:06:43 -04:00
Tyler Benson
c5ccc67743
Migrate Akka-Http Server tests and add ignoreParent()
2019-08-05 08:42:46 -07:00
Tyler Benson
c60e1dbcba
Set ignoreActiveSpan for Servlet 2 and capture status code
...
This change wraps the servlet response object in order to collect the status code. This can be risky if the code is expecting a raw type object. We are extending a standard “HttpServletResponseWrapper” though, so it should be easy to work around.
This change also moves to the standard HttpServerTest for Servlet 2.
2019-08-05 08:42:46 -07:00
Tyler Benson
2aa69d8203
Merge pull request #932 from DataDog/tyler/servlet-testing
...
Migrate servlet tests to HttpServerTest and ignoreActiveSpan for "root"
2019-08-05 08:35:48 -07:00
Laplie Anderson
a9d0d2cbbe
Use CodeSource instead of javaagent arg
...
Check both TracingAgent.class and DatadogClassloader.class for code source
2019-08-05 10:41:05 -04:00
Laplie Anderson
8d41e60182
Simple test to check loading of bootstrap in a launched vm
2019-08-02 15:39:36 -04:00
Tyler Benson
6f229305bb
Review fixes
2019-08-02 10:01:03 -07:00
Laplie Anderson
1381e718fe
More complicated logic to reflectively get VM args on different jdks
...
Support the differences between IBM and Oracle jdks along with differences between 8 and 12
2019-08-02 10:27:45 -04:00
Luca Abbati
097c8186ba
Merge pull request #906 from DataDog/labbati/atlas-1.1.0-compatibility
...
Make netty 4.0 attributes definition compatible with Apache Atlas 1.1.0
2019-08-02 16:27:23 +02:00
Laplie Anderson
a6ba2d25fe
A more reliable way to get the agent jar without breaking logging
2019-08-01 12:45:17 -04:00
Laplie Anderson
21b12328fa
OSGI bootstrap delegation
2019-07-31 11:32:20 -04:00
Laplie Anderson
e8e4f2649b
Bootstrap prefixes need to be in *3* places
2019-07-31 10:41:42 -04:00
Laplie Anderson
5c73935178
Bootstrap prefixes need to be in 2 places
2019-07-30 21:05:38 -04:00
Laplie Anderson
273feafa94
Use the bootstrapProxy to load jars. Better bootstrap url algo
2019-07-30 19:50:16 -04:00
Laplie Anderson
cf98110991
JMXFetch loading threw permission errors
2019-07-30 16:56:49 -04:00
Laplie Anderson
c41536cbe2
Fix failing tests
...
Add TracingAgent to list of bootstrap class
Fix renaming tests
Fix JMXFetch path splitting
2019-07-30 15:27:47 -04:00
Tyler Benson
9681b91f3e
Fix test. Format.
2019-07-29 15:27:26 -07:00
Laplie Anderson
c275143eae
Shadow the bootstrap jar into the main agent jar
2019-07-29 17:01:55 -04:00
Laplie Anderson
a1f8cad2e8
Tooling and jmxfetch temp jars removed
...
Enhanced the DatadogClassloader to work with jars inside other jars. No need to create the jars in a temp directory anymore
2019-07-29 17:01:55 -04:00
Laplie Anderson
7e1266b39f
Use try with resources to read agent version
...
More compact and gets rid of warnings
2019-07-29 17:01:55 -04:00
Tyler Benson
d6b903665e
Copy servlet listener over to new context on dispatch.
...
This allows it to finish the span with the correct response.
2019-07-26 16:30:23 -07:00
Tyler Benson
c3203dace8
Migrate servlet tests to HttpServerTest
...
Currently missing the authentication tests which need to be added to the parent, but other than that, testing is more thorough.
Discovered that trace propagation for Jetty Async is currently busted so I commented that portion of the test out until we can get it fixed.
2019-07-26 16:01:06 -07:00
Tyler Benson
023fb397b5
Merge pull request #928 from DataDog/tyler/http-server-testing
...
Base HttpServerTest and updated Netty test
2019-07-26 12:59:49 -07:00
Luca Abbati
8609a07eaf
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/atlas-1.1.0-compatibility
2019-07-26 11:23:06 +02:00
Tyler Benson
0d1bf5edd7
Limit Vert.x tests to 3.x
...
4.0.0-milestone1 was just released and is incompatible.
2019-07-25 15:32:54 -07:00
Tyler Benson
c1ec277944
Base HttpServerTest and updated Netty test
2019-07-24 15:54:07 -07:00
Tyler Benson
aaba3fc095
Fix trace propagation
2019-07-22 11:02:24 -07:00