Tyler Benson
e895d7c3a7
Merge pull request #983 from DataDog/tyler/cache-soft-refs
...
Optimize DDCachingPoolStrategy
2019-09-11 09:41:48 -07: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
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
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
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
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
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
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
7b66a31d80
Ensure injected modules can read the helper class module
2019-08-23 19:14:10 -04: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
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
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
Laplie Anderson
273feafa94
Use the bootstrapProxy to load jars. Better bootstrap url algo
2019-07-30 19:50:16 -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
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
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
Luca Abbati
3817e76130
Apply doubled-check locking + same approach to attributes definition for netty-4.1
2019-07-22 11:15:33 +02:00
Luca Abbati
95a963a364
Fix build with additional WeakHash map implementation
2019-07-19 17:05:40 +02:00
Luca Abbati
edacd7a41d
Refactor weak hash map to be able to reuse functionalities
2019-07-19 16:18:38 +02:00
Luca Abbati
35b928be7c
Refactor ClassLoaderScopeWekaMap
2019-07-18 15:34:26 +02:00
Nikolay Martynov
ab7786d352
Minor javadoc fix
2019-07-17 16:58:29 -04:00
Luca Abbati
e3a6d40e77
Add tests for ClassLoaderScoperWeakMap
2019-07-17 12:46:24 +02:00
Luca Abbati
48aff5f754
Add all helpers required for ClassLoaderScopedWeakMap usage + re-enable all tests
2019-07-17 09:49:26 +02:00
Luca Abbati
840b8b407d
No matter what, it won't work :) I am now in the mood 'try everything in the world until it works'
2019-07-16 15:39:00 +02:00
Luca Abbati
bfa5712c04
Add comments to ClassLoader scoped weak map
2019-07-16 11:02:26 +02:00
Luca Abbati
de6f33c035
Draft of per-classloader netty AttributeKey definition
2019-07-16 11:02:25 +02:00
Luca Abbati
c16a0844d8
Enable tracing of jax-rs client in sun package
2019-07-10 13:05:12 -04:00
Luca Abbati
f01d473d10
Merge pull request #894 from DataDog/labbati/log4j
...
Support log trace injection for log4j 1.x and log4j 2.x when used without Slf4j
2019-06-21 16:36:26 -04:00
Luca Abbati
ac7abcdfa8
Fix expression to include tracing of log4j1 MDC in agent installer
2019-06-21 15:52:20 -04:00
Laplie Anderson
2e66aea741
Fix formatting issue
2019-06-21 15:52:01 -04:00
Laplie Anderson
ad822d81f9
Fix imports to match project style
...
* imports in groovy and the ordering of lombok was incorrect
2019-06-21 14:19:45 -04:00
Laplie Anderson
d80406843f
Add "http.query.string" and "http.fragment.string" to DDTags
2019-06-21 14:05:34 -04:00
Luca Abbati
ecdf6664ef
Refactor log4jX instrumentations
2019-06-20 17:36:10 -04:00
Luca Abbati
34d589e536
Create a reusable log context listener to be used for slf4j, log4j1 and log4j2
2019-06-20 17:07:28 -04:00
Luca Abbati
dcf0f57030
Add support for log4j 1.x
2019-06-20 16:08:49 -04:00
Tyler Benson
4c5793bddf
Add `dd.trace.db.client.split-by-instance` Config
2019-06-13 15:52:37 -07:00
Luca Abbati
075b30053d
Merge pull request #863 from DataDog/labbati/non-static-config
...
Avoid usage of static getters when accessing configuration parameters
2019-06-13 18:06:15 +02:00
Tyler Benson
ec3b586c2f
Merge pull request #866 from DataDog/tyler/jdbc-instance
...
Attempt to properly parse out instance name from JDBC url
2019-06-13 08:15:02 -07:00
Luca Abbati
a522196b49
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/non-static-config
2019-06-12 23:57:20 +02:00
Luca Abbati
e1ceda8f0e
Improve config usage as instance based on CR
2019-06-12 14:00:36 +02:00