Commit Graph

1707 Commits

Author SHA1 Message Date
Tyler Benson e895d7c3a7
Merge pull request #983 from DataDog/tyler/cache-soft-refs
Optimize DDCachingPoolStrategy
2019-09-11 09:41:48 -07:00
Laplie Anderson 07b58e1cf4
Merge pull request #957 from DataDog/landerson/instrumentation-module-check
Java 9 Modules Smoketest
2019-09-10 19:56:12 -04:00
Tyler Benson 988b03b2f3 Optimize DDCachingPoolStrategy
Reduce default cache size in EvictingCacheProvider, and return a NoOp CacheProvider when classloader is going to be skipped.
2019-09-10 15:52:37 -07:00
Tyler Benson 42545a0906 Remove synchronization from RateByServiceSampler
This change avoids lock contention in a hot code path.

I also added double check locking in ClassLoaderMatcher to reduce the need of locking there.
2019-09-10 12:44:13 -07:00
Tyler Benson 0681739ceb
Merge pull request #980 from marcoferrer/grpc-interceptor-error-tag
Fix span error tagging in grpc server interceptor
2019-09-09 15:58:47 -07:00
Marco Ferrer bcfb2ac3e7 run formatter 2019-09-06 19:58:57 -04:00
Marco Ferrer 8ee5d8ddc0 assert status code tag in streaming tests 2019-09-06 19:17:36 -04:00
Marco Ferrer f587011238 add TracingServerCall to helper class names 2019-09-06 18:48:44 -04:00
Marco Ferrer 57e03cc9ea update tests for new tags 2019-09-06 18:42:40 -04:00
Marco Ferrer 61d85d997a add comments for tracing call forwarder 2019-09-06 18:42:11 -04:00
Marco Ferrer b0074495f9 update tests for server error tag 2019-09-06 16:35:19 -04:00
Marco Ferrer b547886a0d introduce tracing call forwarder 2019-09-06 14:58:58 -04:00
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