Laplie Anderson
7cd76ed68b
Move ThreadPoolExecutor helper to bootstrap
2020-03-12 18:20:03 -04:00
Laplie Anderson
97b0e7a21f
Move concurrent helpers to bootstrap
2020-03-11 18:37:03 -04:00
Nikolay Martynov
4aac30826d
Split Runnable and Callable instrumentations
...
Otherwise `Runnable` may define `call` method leading to
instrumentation exception.
See `org.h2.util.Task` as an example.
2020-03-06 13:49:55 -05:00
Tyler Benson
74ea734f81
Add additional classLoaderMatchers.
2020-03-05 10:45:59 -08:00
Tyler Benson
35e00686b3
Imply not(isInterface()) call for expensive matchers
...
Also remove from simple named("some.name") matchers to avoid metadata lookup.
2020-02-27 12:13:42 -08:00
Tyler Benson
eb8de0d3ab
Apply matcher if debug logging enabled to avoid confusing log output.
...
Otherwise it was "Skipping" every unrelated class.
2020-02-25 18:04:27 -08:00
Tyler Benson
bd82166b58
Rename methods that don't require disambiguation.
2020-02-24 08:35:19 -08:00
Tyler Benson
f70c35842d
Move matchers to separate package and split matcher classes out
2020-02-24 08:31:12 -08:00
Tyler Benson
b80e9857d2
Reorder java-concurrent matchers
...
Move the expensive matcher to last.
In theory this should help, but did not seem to make a significant difference in basic startup benchmarks.
2020-02-20 11:34:39 -08:00
Laplie Anderson
d45ead1284
split matching into safeExtendsClass and safeHasInterface
2020-02-19 21:22:17 -05:00
Tyler Benson
51bffa2e8a
Move agent api classes to bootstrap package so they're not analyzed by muzzle
...
Also move jdbc classes to bootstrap to reduce size and complexity of those reference checkers.
These changes reduce the total file size of these instrumentation classes by 635k, which should also result in decent memory savings.
2020-02-10 15:09:15 -08:00
Laplie Anderson
a811c027ce
Merge pull request #1188 from DataDog/landerson/finatra
...
Finatra Instrumentation
2020-02-04 17:36:47 -05:00
Laplie Anderson
8ff985afdb
Cleaner way to skip netty executor's tasks
2020-01-23 12:04:56 -05:00
Nikolay Martynov
950389587c
Simplify groovy/scala/kotlin compile dependency hack
2020-01-23 09:40:15 -05:00
Laplie Anderson
4e58643bd0
Initial finatra instrumentation
2020-01-22 18:09:10 -05: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
Trask Stalnaker
1987e86ebf
Normalize tag verification order
2019-11-22 10:59:45 -08:00
dougqh
6b096c2240
Replacing Advice.class references
...
Replacing Advice.class references with string construction.
This stops the JVM from loading the Advice classes which are used as templates for byte buddy and doesn't ever need to be run directly.
This eliminates ~130 class loads at start-up -- and saves 0.5MiB in metaspace
2019-11-18 16:09:30 -05:00
Trask Stalnaker
8c558fa00e
Format
2019-10-24 21:05:01 -07:00
Trask Stalnaker
e32bf1816a
Organize imports
2019-10-24 21:05:01 -07:00
Trask Stalnaker
9182b64078
Switch to new Tags class in tests
2019-10-24 21:04:57 -07:00
Trask Stalnaker
a9d3360701
Remove test dependency on GlobalTracer
2019-10-24 20:53:14 -07:00
Trask Stalnaker
7c954ecc0c
Update java-concurrent to new agent api
2019-10-19 16:52:40 -07:00
Tyler Benson
82180c2ea6
Add support for jax-rs AsyncResponse
2019-10-07 14:19:46 +02:00
Tyler Benson
8289ccd085
Skip CompletableFuture case in Java 7
2019-09-20 12:11:30 -07:00
Tyler Benson
363dd38d81
Add CompletableFuture$ThreadPerTaskExecutor to allow list
...
This allows trace propagation for CompletableFuture’s asyncPool even if `useCommonPool` is disabled.
Also added some additional futures to `WHITELISTED_FUTURES` and sorted list.
2019-09-20 11:08:10 -07:00
Tyler Benson
de44a0651c
Fix async dispatch for Jetty QueuedThreadPool
...
Includes additional cleanup to supported executors list (removed anonymous classes).
2019-09-18 20:08:06 -07: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
Laplie Anderson
457410ea4e
Run all tests on all java version
2019-09-03 13:03:16 -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
7a41ca7d6e
Change whitelist fields from static to instance
2019-08-27 12:06:01 -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
Tyler Benson
e69edaec14
Remove project config centrally defined and other misc cleanup
2019-08-22 12:43:13 -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
95a294a560
Remove common (redundant) dependencies
2019-08-06 14:51:04 -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
Nikolay Martynov
6d5972bce1
Make agent-tooling compile-depend on dd-tracing-ot directly
...
This ensures that `dd-tracng-ot` gets included into shadow jar.
Before this patch it was included only 'by accident' via some
transitive dependencies of some instrumentations.
2019-06-11 14:49:44 -04:00
Tyler Benson
4469c7fb11
separate out driver subtype
...
to avoid changing existing service names
2019-06-10 16:17:36 -07:00
Tyler Benson
288add2a60
Fix slickdb test
2019-06-10 15:20:56 -07:00
Luca Abbati
ae03abe63c
Adapt tests to the new Config approach instance vs static
2019-06-05 12:17:09 +02:00
Luca Abbati
901efee50e
Remove static usage of low level config methods from outside the config class
2019-06-04 15:13:40 +02:00
Nikolay Martynov
70fa97f8c2
Move code to make java7 happy
2019-05-24 16:55:39 -04:00
Nikolay Martynov
a3a325868c
Add some rudimetrary tests for CompletableFuture
2019-05-24 16:36:07 -04:00
Tyler Benson
cc23fee614
Add config to enable individual executors
...
Or all executors, bypassing the allow list.
`dd.trace.executor=com.MyCustomExecutor,com.OtherExecutor`
`dd.trace.executors.all=true`
Turns out in many cases, executors that we say we’re skipping, are still being traced because they extend from an already instrumented executor.
2019-05-14 10:03:44 -07:00
Tyler Benson
c971c434d1
Fix propagation and add onUnsubscribe handler
...
Ensures that span is closed when Observable is unsubscribed from.
Also added retransform error logger since retransforms might be missed if an exception is thrown, leading to odd behavior.
2019-04-30 11:52:20 -07:00
Tyler Benson
6414de82d9
Add support for HystrixObservableCommand
...
This change is slightly breaking for existing hystrixCommand code since the resource name changes from run->execute and getFallback->fallback. The fallback span is also now a child of the execute span.
2019-04-29 12:04:27 -07:00