Commit Graph

944 Commits

Author SHA1 Message Date
Gary Huang c7e8755492
Muzzle servlet-2 Instrumentation
Add muzzle block and remove class loader matcher method.
2018-09-28 20:45:18 -04:00
Tyler Benson 4eb0cd4097 Refactor Apache HttpClient Instrumentation.
Removes the need for DDTracingClientExec.
Reduces extra spans.
Does not include a span for each redirect.
Compatible with 4.0+ instead of just 4.3+.
2018-09-28 17:52:39 -04:00
Andrew Kent 5864dd90e7 Allow instrumenting com.sun.messaging. namespace 2018-09-28 14:37:32 -07:00
Gary 79d3327475
Enable Spymemcached instrumentation by default 2018-09-28 14:51:10 -04:00
Gary Huang cbaf61af04
Merge pull request #492 from DataDog/gary/muzzle-sparkjava
Muzzle and Expand Spark Java Instrumentation
2018-09-27 22:47:15 -04:00
Gary Huang 7ecc49a228
Merge pull request #509 from DataDog/gary/muzzle-spy-memcached
Muzzle Spymemcached
2018-09-27 22:44:56 -04:00
Andrew Kent 707685ed66
Merge pull request #516 from DataDog/mar-kolya/use-okhttputils
Use OkHttpUtils in more places
2018-09-26 19:32:49 -07:00
Gary 33ab8d0072
Expand instrumentation version range and rename package 2018-09-26 22:31:23 -04:00
Qiyang Huang fe6ee07aad
Add assert inverse 2018-09-26 22:31:21 -04:00
Gary Huang e937e4322b
Muzzle Spark Java Instrumentation
Add muzzle block.
2018-09-26 22:31:14 -04:00
Nikolay Martynov 419b859324 Remove classloaders instrumentation
This is dead code that is not used
2018-09-26 17:33:30 -04:00
Nikolay Martynov 5d627733d8 Use OkHttpUtils in more places 2018-09-26 15:07:20 -04:00
Gary 827b721ae4
add comment about build vs muzzle versions 2018-09-26 14:26:58 -04:00
Nikolay Martynov 84bef23698 Increase timeouts in Couchbase to make tests more stable 2018-09-26 13:47:37 -04:00
Nikolay Martynov d48eb4de77 Decouple Groovy version from Gradle
And use newer Groovy and Spock
2018-09-26 13:47:34 -04:00
Nikolay Martynov dfba97273c lock version of spring-data-es to avoid upgrading ES to 6.x.x in 5.3 instrumentation 2018-09-24 14:59:25 -04:00
Tyler Benson 76876e7d9e
Merge pull request #443 from DataDog/tyler/executor-instrumentation
Allow executor tracing to flow across distinct executors
2018-09-23 10:12:56 +10:00
Andrew Kent bf24e5d5d0
Merge pull request #511 from DataDog/tyler/es-extract-index
Cleanup created indexes to allow RetryOnFailure
2018-09-21 11:21:33 -07:00
Tyler Benson a14945f6e0 Cleanup created indexes to allow RetryOnFailure 2018-09-21 14:44:14 +10:00
Tyler Benson 2174f21d61 Allow executor tracing to flow across distinct executors
Otherwise any async work is lost after the first executor jump.
2018-09-21 11:12:19 +10:00
Tyler Benson 72b2873ec1 ScheduledThreadPoolExecutor doesn’t actually work separately
It was only working because it extends from ThreadPoolExecutor, but it uses a backing queue type that is incompatible.  Scheduled execution submits to the work queue directly and will bypass the exisiting instrumentation.
2018-09-20 16:33:49 +10:00
Tyler Benson 3d78afbc2c Disable Executor instrumentation ThreadPoolExecutor instances
If we can’t add generic runnables to the queue.

This won’t solve the problem for all cases, but it will help with some.

Tests forthcoming.
2018-09-20 16:06:01 +10:00
Tyler Benson c84c83f168
Merge pull request #501 from DataDog/tyler/gradle-upgrade
Upgrade gradle to 4.10.1
2018-09-20 10:51:50 +10:00
Tyler Benson 21f4806d08
Merge pull request #506 from DataDog/tyler/es-tlc
Remove elasticsearch.request.description
2018-09-20 10:45:36 +10:00
Gary Huang 89d83663c7
Merge pull request #493 from DataDog/gary/muzzle-datastax-cassandra
Muzzle and Expand Cassandra Instrumentation
2018-09-19 16:38:06 -04:00
Gary Huang 622db5942b
Merge pull request #486 from DataDog/gary/muzzle-jetty
Muzzle Jetty Instrumentation
2018-09-19 16:07:19 -04:00
Gary Huang 4db131b415
Merge pull request #488 from DataDog/gary/muzzle-jms
Remove version scan from JMS Instrumentation
2018-09-19 16:06:41 -04:00
Gary Huang ba8efa5bc6
Merge pull request #498 from DataDog/gary/muzzle-mongo
Muzzle Mongo Instrumentations
2018-09-19 15:31:34 -04:00
Qiyang Huang 347002c0f6 Muzzle Spymemcached
Add muzzle block and remove class loader matcher method.
2018-09-19 14:37:25 -04:00
Tyler Benson ebcc2ef052 Add work around for scala compile issue. 2018-09-19 15:13:42 +10:00
Tyler Benson 9dad0fb4d6 Separate out latestDepTests 2018-09-19 15:10:26 +10:00
Tyler Benson 72f2036dc7 Remove retry from some tests
Index creation fails the next time around.
2018-09-19 14:57:37 +10:00
Tyler Benson ea97996df7 Remove elasticsearch.request.description
It seems to potentially have sensitive contents, so removing to be safe.
2018-09-19 14:55:23 +10:00
Tyler Benson 2b93aa7cbf Fix ES version ranges. 2018-09-19 14:51:38 +10:00
Tyler Benson f9f0438e85 Initialize WeakMapProvider even earlier
It is used by classes delcared as static fields in AgentInstaller, so there were some cases where the fallback is being used.
2018-09-19 08:37:08 +10:00
Tyler Benson 70e4525131
Merge pull request #502 from DataDog/tyler/jdbc-errors
Better error handling for older JDBC drivers
2018-09-19 08:33:48 +10:00
Tyler Benson 296f9adfc2 Ignore byte buddy classes
not having this produced the following error on startup:

```
Cannot resolve type description for net.bytebuddy.dynamic.Nexus
```
2018-09-18 17:20:36 +10:00
Tyler Benson e11ab12284 Better error handling for older JDBC drivers
that don’t support unwrapping (pre JDK 1.6).
2018-09-18 16:46:08 +10:00
Tyler Benson 955b97da9e Add slashes if missing from annotation values 2018-09-18 09:48:32 +10:00
Qiyang Huang 91f0b1d662 Change compile & test versions to match muzzle blocks 2018-09-16 08:34:22 -04:00
Qiyang Huang e3712910b1 Muzzle Mongo Instrumentations
Add muzzle blocks.
2018-09-16 08:30:05 -04:00
Tyler Benson c1ab82663d
Merge pull request #479 from DataDog/tyler/broken-jax-rs-client
Handle connection failures for Jersey and Resteasy
2018-09-13 15:19:01 +10:00
Tyler Benson d111680dba Begin 0.16.0 2018-09-13 14:48:40 +10:00
Tyler Benson de21c7b245 Review fixes. 2018-09-12 10:32:05 +10:00
Tyler Benson 6732110f28 Handle connection failures for Jersey and Resteasy
CXF and other client frameworks will still lose the span and miss the error.
2018-09-12 10:10:31 +10:00
Tyler Benson bcec2e5f97 Add span.type and remove bucket name from resource.name 2018-09-12 10:04:13 +10:00
Andrew Kent faad7824ed Elasticsearch 5.3.0 instrumentation 2018-09-11 16:00:38 -07:00
Gary Huang a9a8a2af68
Merge pull request #490 from DataDog/gary/muzzle-kafka
Muzzle Kafka Client & Streams Instrumentation
2018-09-10 20:01:55 -04:00
Gary Huang 522035c317
Merge pull request #489 from DataDog/gary/muzzle-grpc
Muzzle gRPC Instrumentation
2018-09-10 20:01:04 -04:00
Gary Huang 202deaa0a6
Merge pull request #481 from DataDog/gary/muzzle-spring-web
Muzzle Spring Web Instrumentation
2018-09-10 20:00:46 -04:00
Gary Huang d7b87c07d8
Merge pull request #491 from DataDog/gary/muzzle-hystrix
Muzzle Hystrix Instrumentation
2018-09-10 20:00:20 -04:00
Gary Huang a366ed9e80
Muzzle and Expand Cassandra Instrumentation
Add muzzle block and remove class loader matcher method. Muzzling the instrumentation works for versions 2.3+
2018-09-10 18:33:17 -04:00
Gary Huang 9c1b641069
Merge pull request #484 from DataDog/gary/muzzle-okhttp-3
Muzzle OKHttp 3 Instrumentation
2018-09-10 12:10:37 -04:00
Gary Huang 05356cc1f5
Muzzle Hystrix Instrumentation
Add muzzle block and remove class loader matcher method.
2018-09-08 12:57:25 -04:00
Gary Huang ea0600c0c3
Muzzle Kafka Client & Streams Instrumentation
Add muzzle blocks and remove class loader matcher methods.
2018-09-07 20:11:01 -04:00
Gary Huang 48ad43e423
Muzzle gRPC Instrumentation
Add muzzle block and remove class loader matcher methods.
2018-09-07 20:02:40 -04:00
Gary Huang 6bc6bcdec9
Remove version scan from JMS Instrumentation 2018-09-07 19:56:17 -04:00
Gary Huang a8f52d8c52
Muzzle Jetty Instrumentation
Add muzzle block and remove class loader matcher method.
2018-09-07 17:24:11 -04:00
Gary Huang b53514c458
Muzzle Jedis Instrumentation
Add muzzle block and remove class loader matcher method.
2018-09-07 16:47:00 -04:00
Gary Huang 78bf5d3aff
Muzzle OKHttp 3 Instrumentation
Add muzzle block and remove class loader matcher method.
2018-09-07 16:28:58 -04:00
Gary Huang 5bac242a89
Muzzle Spring Web Instrumentation
Add muzzle block and remove class loader matcher methods.
2018-09-07 15:31:44 -04:00
Tyler Benson b3222009ef Stop sending params with AWS traces
can potentially contain sensitive data.

(See #461)
2018-09-07 08:55:24 +10:00
Tyler Benson b4c8b7e538 Add @RetryOnFailure to ES tests. 2018-09-05 14:46:22 +10:00
Tyler Benson f5590e97bd Cleanup tests 2018-09-05 14:46:22 +10:00
Tyler Benson 444cbecba5 Use CouchbaseMock instead of actual server
Seems way more reliable/consistent for test scenarios.
2018-09-05 14:46:22 +10:00
Tyler Benson 0655ef208f Further attempt at making tests reliable. 2018-09-05 14:46:22 +10:00
Nikolay Martynov 422ded1d5b Configure Spring Couchbase client with proper couchbase environment
It looks like Couchbase container may have some of the ports mapped
randomly. This means it is possible default environment settings might
not work - and this is what Spring is using by default. This change
makes Spring use environment provided by cluster container. This fixes
tests when they are run locally (at least for macos).
2018-09-05 14:46:22 +10:00
Tyler Benson 2c4366cae7 Retry on failure 2018-09-05 14:46:22 +10:00
Tyler Benson 9ea1883015 Separate out bucket and cluster instrumentation
Include bucket name in bucket spans
2018-09-05 14:46:22 +10:00
Tyler Benson 63091c9350 Review fixes 2018-09-05 14:46:22 +10:00
Tyler Benson 2761615436 Couchbase instrumentation 2018-09-05 14:46:22 +10:00
Andrew Kent 222f25e124
Merge pull request #471 from DataDog/ark/elastic-enable
Enable and muzzle elasticsearch instrumentation
2018-09-04 20:50:32 -07:00
Gary Huang 2442cfd2e5
Merge pull request #476 from DataDog/gary/lettuce-muzzle
Muzzle Lettuce 5 Instrumentation
2018-09-04 21:54:03 -04:00
Gary Huang 5f137beb9a
Merge pull request #460 from DataDog/gary/spring-webflux-instrumentation
Spring webflux instrumentation
2018-09-04 13:38:06 -04:00
Andrew Kent 7aa86b8154
Merge pull request #475 from DataDog/ark/jax-muzzle
muzzle jax-rs instrumentation
2018-09-04 09:57:23 -07:00
Tyler Benson 96e02301f8
Merge pull request #473 from DataDog/tyler/combine-jms
Make JMS more resilent to property failure
2018-09-04 09:24:09 +10:00
Gary Huang dff9e2ef43
Muzzle Lettuce 5 Instrumentation
Add muzzle block and remove class loader matcher methods.
2018-09-01 14:34:42 -04:00
Andrew Kent b781c3163c muzzle jax-rs instrumentation 2018-08-31 13:51:15 -07:00
Gary Huang d152126558 refactor HandlerFunctionAdapterAdvice 2018-08-31 14:31:03 -04:00
Gary Huang df2699afc8 Address comments & add better resource naming for webflux spans.
Spans will now be named with the controller class name and method for request mapping (annotation based API), and lambda functions will be named with target class.lambda.
2018-08-31 14:31:03 -04:00
Gary Huang c87fec36ac Spring webflux instrumentation
instruments spring webflux 5+
2018-08-31 14:31:03 -04:00
Andrew Kent 9c42087ec3
Merge pull request #472 from DataDog/ark/jsp-enable
Enable and muzzle jsp instrumentation
2018-08-31 10:43:48 -07:00
Nikolay Martynov 52af1a2893
Merge pull request #474 from DataDog/mar-kolya/fix-netty-version
Fix netty version in instrumentation name
2018-08-31 12:35:39 -04:00
Nikolay Martynov 2b1f6382d4 Fix netty version in instrumentation name 2018-08-31 10:58:17 -04:00
Tyler Benson 8061bd2471 Add comment. 2018-08-31 16:27:31 +10:00
Tyler Benson 9cf7b28e88 Make JMS more resilent to property failure
Combine into single module and add test.
Replace classLoaderMatcher with muzzle check.

Thanks for the tip @adriancole.
2018-08-31 16:10:14 +10:00
Tyler Benson 2d04ef292e
Merge pull request #468 from DataDog/tyler/evict-typepool
Add eviction to a TypePool.CacheProvider’s cache
2018-08-31 08:57:18 +10:00
Andrew Kent b637f9ef91 Enable and muzzle jsp instrumentation 2018-08-30 15:56:59 -07:00
Andrew Kent 6755bcbbdf Enable and muzzle elasticsearch instrumentation 2018-08-30 15:12:18 -07:00
Nikolay Martynov 8034fc2afd
Merge pull request #470 from DataDog/mar-kolya/improve-es-tests
Improve ES tests
2018-08-30 17:03:33 -04:00
Andrew Kent 18ed9ee151 netty-4.1 muzzle 2018-08-30 11:29:04 -07:00
Nikolay Martynov 1d6349bafd Improve ES tests
* Account for the fact that IndexAction and PutMappingAction are not
  ordered deterministically
* Account for a fact that waiting for ES startup may produce multiple spans
2018-08-30 11:54:21 -04:00
Tyler Benson 6b0f20fc05 Add eviction to a TypePool.CacheProvider’s cache
Most items loaded are probably not often used.  Puts an upper limit on the size and evicts unused Resolution’s over time.
2018-08-30 11:56:53 +10:00
Andrew Kent 61aaebfc97 Create muzzle references from ldc instructions 2018-08-29 17:18:11 -07:00
Andrew Kent c06983ef34 muzzle netty-4.0 instrumentation 2018-08-29 13:28:25 -07:00
Andrew Kent f08a2025dd Fix dd-trace-api tracer registration in test runner 2018-08-28 19:05:18 -07:00
Andrew Kent 7154b54e10 Rename TracerBridge and Provider 2018-08-27 12:04:26 -07:00
Andrew Kent 9f1d22ea6b Register TracerBridge in TracerInstaller instead of DDTracer init 2018-08-27 12:04:26 -07:00
Andrew Kent 9338faa013 Muzzle inverse assertions 2018-08-24 10:47:37 -07:00
Andrew Kent 26705142bb Muzzle pass and fail directives in the same collection 2018-08-24 10:47:37 -07:00