Commit Graph

3350 Commits

Author SHA1 Message Date
dougqh 6b5acc8386 New Approach - instrument RepositoryFactorySupport
This revised version targets spring-data RepositoryFactorySupport rather than spring-tx

This is accomplished by injecting a RepositoryProxyPostProcessor during construction that adds a datadog specific MethodIntercptor.

In the end, this functions similarly to the tx support in that it uses a widely scoped MethodInterceptor.

This required some changes to the test as well.  The old test set-up the repository before the instrumentation was fully-enabled.  Enabling the instrumentation earlier capture extra traces where Spring JPA performs metainfo queries.
2019-09-23 15:26:18 -04:00
Laplie Anderson 31a7ce9b5b Explicitly cleanup the spans for each test 2019-09-20 18:32:48 -04:00
Tyler Benson e977711e78
Merge pull request #1008 from DataDog/tyler/thread-per-task
Add CompletableFuture$ThreadPerTaskExecutor to allow list
2019-09-20 12:33:28 -07:00
Tyler Benson 668649f62e Update integrations core submodule to 6.14.0
https://github.com/DataDog/integrations-core/tree/6.14.0

https://github.com/DataDog/integrations-core/search?q=jmx_metrics
2019-09-20 12:19:44 -07: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
Laplie Anderson e6c061f841
Merge pull request #996 from DataDog/landerson/couchbase-op-id
Add operation id and network tags to Couchbase
2019-09-19 15:56:59 -04:00
Laplie Anderson 18e4b5e9fd Remove unnecessary muzzle 2019-09-19 15:38:53 -04:00
Tyler Benson 40a7ef6086
Merge pull request #1005 from DataDog/tyler/additional-executors
Fix async dispatch for Jetty QueuedThreadPool
2019-09-19 12:15:37 -07:00
Laplie Anderson 607f1b0a86
Merge pull request #1003 from DataDog/landerson/cleaner-test-fix
Cleaner test timeout fix
2019-09-19 15:02:35 -04:00
Nikolay Martynov 53b02fb333
Merge pull request #1002 from DataDog/mar-kolya/enable-tests-for-java13
Enable tests for java13
2019-09-19 12:28:00 -04:00
Nikolay Martynov 43603e970c Disable Log4j1 tests for java versions without '.'
Log4j1 seems to be broken on those.
2019-09-19 08:27:56 -04: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
Laplie Anderson d564ff937a Cleaner test timeout was too low 2019-09-18 18:06:27 -04:00
Tyler Benson c19039602f
Merge pull request #1000 from DataDog/tyler/reduce-overhead-URLAsResourceName
Reduce overhead of URLAsResourceName decorator
2019-09-18 14:39:32 -07:00
Laplie Anderson 43cbf7a16a Split traces and add timeout to blockUntilChildSpanFinished 2019-09-18 17:14:52 -04:00
Nikolay Martynov 44dc98200a Enable tests for java13 2019-09-18 15:36:45 -04:00
Laplie Anderson 85ffafcd06 Updates based on pull request comments 2019-09-18 10:29:24 -04:00
Tyler Benson 2086664f6d Reduce overhead of URLAsResourceName decorator
Using `new URL()` just to parse the path out was rather expensive.  This should improve the situation.
2019-09-17 18:50:01 -07:00
Tyler Benson 153f88716b
Merge pull request #999 from DataDog/tyler/add-async-jax
Enable async propagation in JAX annotation span
2019-09-17 14:31:02 -07:00
Tyler Benson 80185f76f4 Enable async propagation in JAX annotation span 2019-09-17 11:35:10 -07:00
Laplie Anderson 0774933414 All couchbase tests have to be runUnderTrace for sorting 2019-09-17 13:53:03 -04:00
Nikolay Martynov cfd96850e0
Merge pull request #998 from DataDog/mar-kolya/avoid-unnecessary-objects-in-apache-client-instrumentation
Avoid unnecessary objects creation in Apache Http Client instrumnentation
2019-09-17 12:16:10 -04:00
Nikolay Martynov e9fc866e67 Add optimization to apache async client instrumentation 2019-09-17 11:47:57 -04:00
Tyler Benson f14bfe7803
Merge pull request #990 from DataDog/tyler/spring-web
Migrate spring-web to base httpserver test
2019-09-17 08:24:37 -07:00
dougqh 7c5e74bdf0 Cleaning-up decorator
The SpringDataDecorator is really for Spring transactions including non-DB related transactions.

The SpringDataDecorator never really implemented DB or ORM support anyway, since most of the methods just returned null.

Changing the decorator to just extend ClientDecorator instead.  Also rename to reflect its true purpose.
2019-09-17 10:51:30 -04:00
Nikolay Martynov 0748c10b72 Avoid unnecessary objects creation in Apache Http Client instrumnentation 2019-09-17 10:19:38 -04:00
dougqh 172ff747cb Updating muzzle spec
Switching muzzle to target spring-tx rather than spring-data (which is logical given the instrumentation point)

Also added extraDependency on aopalliance
This restricts the support the Spring 2.5 when spring-tx & spring-aop using aopalliance were introduced.
2019-09-17 10:06:43 -04:00
dougqh e43baf82be Renaming advice class
Renaming advice class to more accurately reflect what is being instrumented
2019-09-17 09:27:39 -04:00
dougqh 85389b48d8 Google Format 2019-09-17 08:24:57 -04:00
dougqh 0c3e0579b2 Switching to instrumenting transaction support
After experimenting with RepositorySupport$QueryExecutorMethodInterceptor switched to TransactionInterceptor.

QueryExecutorMethodInterceptor was too narrowly scoped and didn't capture the UPDATE or DELETE statement.  TransactionInterceptor captures everything, but is still a bit more broadly applicable than I'd like.
2019-09-17 08:19:42 -04:00
Laplie Anderson 8376d83aef Caching affects network tags 2019-09-16 18:34:23 -04:00
Laplie Anderson 111c44d2da State can be GCd before exit advice is run 2019-09-16 17:58:29 -04:00
Laplie Anderson 62ea7a59fb Cant test cross compile because the 2.6 instrumentation gets activated 2019-09-16 17:37:34 -04:00
Laplie Anderson e244ea633d Add operation id and network tags to couchbase 2019-09-16 16:59:29 -04:00
dougqh 122533fde6 Switching to simple concat for efficiency 2019-09-16 11:08:37 -04:00
Laplie Anderson 5f455ead3c
Merge pull request #995 from DataDog/landerson/couchbase-subscribe-again
Couchbase Asynchronous Subscriptions revisited
2019-09-13 19:30:41 -04:00
Laplie Anderson 6a40938fe4 Split remove test into two parts 2019-09-13 18:56:00 -04:00
Laplie Anderson d3ec72922e Increasing the timeout may fix the spurious failures 2019-09-13 18:35:21 -04:00
Laplie Anderson fee58e07f2 Original merge 2019-09-13 17:48:22 -04:00
dougqh c9cfd9d368 Begin 0.34.0 2019-09-13 17:39:40 -04:00
dougqh ae3ba9a2ef Version 0.33.0 2019-09-13 14:37:25 -04:00
Laplie Anderson b2a8499ba2
Merge pull request #992 from DataDog/revert-988-landerson/couchbase-subscribe
Revert "Couchbase Async Subscriptions"
2019-09-13 12:09:40 -04:00
Laplie Anderson d063b42491
Revert "Couchbase Async Subscriptions" 2019-09-13 11:51:52 -04:00
Laplie Anderson b875ae19a2
Merge pull request #988 from DataDog/landerson/couchbase-subscribe
Couchbase Async Subscriptions
2019-09-13 09:36:07 -04:00
Laplie Anderson e8d6928a8c Dont share environment. Slower but more deterministic 2019-09-12 21:48:36 -04:00
Laplie Anderson 4e5e75ebff Fix tests 2019-09-12 20:51:50 -04:00
Tyler Benson 407c973029 Migrate spring-web to base httpserver test
Unfortunately 404 test was not consistent and non-trivial to adapt.  I also couldn’t get the validation tests to work well either.  Revisit if we have time to dig deeper into spring.
2019-09-12 17:28:12 -07:00
Laplie Anderson 3d6d45ba77
Merge pull request #989 from DataDog/landerson/remove-dd-trace
Remove dd-trace and dd-trace-ext
2019-09-12 11:55:28 -04:00
Laplie Anderson 717a27080b Remove dd-trace and dd-trace-ext 2019-09-12 10:40:11 -04:00