Commit Graph

1093 Commits

Author SHA1 Message Date
Tyler Benson 74743be6e5 Remove duplicate JMS spans from nested calls. 2018-12-03 11:15:28 -08:00
Andrew Kent 12a1b0ce08
Merge pull request #610 from DataDog/ark/jmxfetch-new-gc-metrics
Configure jmxfetch to use new gc metrics
2018-11-30 18:54:31 +00:00
Andrew Kent 20b726bca7
Merge pull request #609 from DataDog/ark/aws-muzzle-ranges
Simplify AWS muzzle ranges
2018-11-30 18:53:05 +00:00
Andrew Kent c9471e289b Configure jmxfetch to use new gc metrics
This won't have any effect on jmx behavior. The next jmxfetch update
puts our desired metric names behind this feature flag. Enabling now
so we don't forget the next time we refresh jmxfetch.
2018-11-30 10:13:11 -08:00
Tyler Benson 983077d150 Move mock/assert deps out of common dependencies 2018-11-30 10:02:26 -08:00
Andrew Kent 91f1bef6f4 Simplify AWS muzzle ranges
AWS Muzzle workaround is no longer needed with latest muzzle
optimizations.
2018-11-29 16:18:14 -08:00
Nikolay Martynov 2e8dc9d08f Fix Ratpack tests that got broken by ExecutorInstrumentation refactoring
It turns out closing continuation also closes parent span. This is not
very good in cases when we end up not using continuation if
continuation in a state has already been setup.

This patch provides way to close continuation in a way that doesn't
affect parent scope.
2018-11-29 15:21:46 -08:00
Nikolay Martynov 4ec5ca394c Add code to wrap future returned by submit(Runnable) call 2018-11-29 15:18:46 -08:00
Nikolay Martynov 177c1432e3 Add tests to verify that fields are not injected when feature is disabled 2018-11-29 15:18:46 -08:00
Nikolay Martynov ad98ebc01f Add some comments and some other minor CR tweaks 2018-11-29 15:18:46 -08:00
Nikolay Martynov 1509286b15 Remove MapBackedProvider 2018-11-29 15:18:46 -08:00
Nikolay Martynov 118a61cc67 Add field backed context provider 2018-11-29 15:18:46 -08:00
Nikolay Martynov b89e73b3c0 Switch executor instrumentation to use context storage 2018-11-29 15:18:46 -08:00
Tyler Benson 442323d4d1 Add catch so instrumentation errors don’t interrupt primary execution. 2018-11-29 13:14:12 -08:00
Tyler Benson c9ec9ebd0f Add guard against null values in extract adapter. 2018-11-29 13:06:01 -08:00
Tyler Benson ae063e8a14 Add additional 404 tests for spring boot.
This one succeeds in applying routing, but returns a 404 response.
2018-11-29 11:32:49 -08:00
Tyler Benson 785860b6a7 Add null check for envelope in consumer delegate 2018-11-29 11:22:32 -08:00
Andrew Kent 3c4b480a18 Share tooling loader across muzzle runs 2018-11-28 13:01:01 -08:00
Andrew Kent 6ee5fd27b0 Guard against invoking WeakConcurrent constructor 2018-11-28 12:05:47 -08:00
Tyler Benson 2f319b9301 Consumer delegate should rethrow the exception
Previously the delegate would swallow the exception and not rethrow.

I also added a test to attempt to verify, but the exception doesn’t seem to be observable in the test.

(See #602)
2018-11-28 08:36:15 -08:00
Nikolay Martynov e87d4ef161 Servlet3 instrumentation race consition fixes
* Do not set `asyncPropagate` on scope since it will be closed anyway.
* Close span once done with it in `TagSettingAsyncListener`.
* No point in explicit finishing span in 'finishOnClose' scope.
* Do not reattach listener in
  `TagSettingAsyncListener#onStartAsync`. Listener is attached each
  time by `Servlet3Advice#stopSpan` and reattaching listener in
  `TagSettingAsyncListener#onStartAsync` causes multiple listeners to
  be attached and race conditions to happen.
* Do not close span in `AsyncContextInstrumentation`. This leads to
  span being written prematurely. This span will be closed in
  `TagSettingAsyncListener` anyway, along with adding proper status code.
2018-11-27 17:17:56 -08:00
Tyler Benson e46ab1d01d
Merge pull request #600 from DataDog/tyler/threadpool-errors
Improve error handling for ThreadPoolExecutorInstrumentation
2018-11-27 15:24:58 -08:00
Tyler Benson 4199f924ac Remove ES-transport instrumentation from rest test
It is generating an extra trace/span that in a realistic scenario would be generated by the server, not the client.
2018-11-27 13:02:44 -08:00
Tyler Benson 468ccab99a Improve error handling for ThreadPoolExecutorInstrumentation
If other exceptions are thrown when trying to test the queue, it generates lots of log noise.  This should handle it better.
2018-11-27 11:28:44 -08:00
Nikolay Martynov 6f61ddc67d
Merge pull request #594 from DataDog/mar-kolya/es-tests-stability
Improve stability of ES tests by avoiding unpredictable spans
2018-11-26 22:50:43 -08:00
Gary 90777f4b39
Retire/remove version scan
Remove version scan dead code and unnecessary classLoaderMatcher methods in instrumentations. Depends on #572
2018-11-26 18:21:56 -05:00
Gary 477c2f92c8
Address comments and add onClose callback on context to close scope. 2018-11-26 17:26:48 -05:00
Gary 50c2af9abb
remove classloader matcher 2018-11-26 16:57:12 -05:00
Gary 51978d877f
remove version scan task from ci 2018-11-26 16:57:10 -05:00
Gary bf30d73746
remove skipping of ratpack helper checks 2018-11-26 16:55:36 -05:00
Gary 4169e42cdc
replace version scan with muzzle block 2018-11-26 16:55:33 -05:00
Gary 6475f20308
Refactor Ratpack
Remove the use of the OT project and Execution managed scopes. Updated tests.
2018-11-26 16:55:18 -05:00
Nikolay Martynov 467f14c359 Small fix in ES tests 2018-11-26 13:07:42 -08:00
Andrew Kent 1b1527da93
Merge pull request #596 from DataDog/mar-kolya/set-gradle-heap
Mar kolya/set gradle heap
2018-11-26 19:39:40 +00:00
Nikolay Martynov 80cd7cd500 Do testAnnotationProcessor deps.autoservice in modules with services in tests
Otherwise sometimes tests cannod discover services
2018-11-23 09:44:49 -05:00
Nikolay Martynov 23203fb659 Improve stability of ES tests by avoiding unpredictable spans 2018-11-23 09:43:41 -05:00
Nikolay Martynov 7dae6df890 In kafka latest deps test make sure that kafka version matches kafka client libs
This seems to help with compatibility
2018-11-22 21:02:05 -05:00
Nikolay Martynov fdffee8f5c Fix Hysrix test to not poll queue and return null
Instead wait for value to appear
2018-11-21 16:25:34 -05:00
Nikolay Martynov 2852a6a97a Fix setup so springweb tests produce appropriate logs 2018-11-21 16:03:19 -05:00
Nikolay Martynov 590ed30f56 Limit Jedis latest dep tests to 2+ versions of Jedis
Jedis 3 seems to have incompatible API changes
2018-11-21 11:43:13 -05:00
Nikolay Martynov a70da1d995 Remove redundant tests from SparkJava
Tests that create traces and do not assert on them may leave traces
behind for the next test causing errors.
2018-11-20 17:26:29 -05:00
Nikolay Martynov ca0a4a4458 Do not check ES document version in Sping test
ES may do things that change this version unexpectedly
2018-11-20 14:46:30 -05:00
Nikolay Martynov cd9ab3daef
Merge pull request #587 from DataDog/mar-kolya/set-netty-continuation-once
Set netty continuation only once
2018-11-20 13:19:45 -05:00
Nikolay Martynov 165f05beba Set netty continuation only once
Also remove continuation when getting it
2018-11-20 12:19:53 -05:00
Nikolay Martynov 228e7e0d21 Better handle Jetty async calls
Do same thing we do for servlets
2018-11-19 14:17:01 -05:00
Tyler Benson e4a12409c8 Add recursive servlet dispatch tests. 2018-11-16 14:40:35 -08:00
Tyler Benson e96752bbad Remove need for tomcat user file config 2018-11-16 09:56:42 -08:00
Tyler Benson 817895b559 Extract shared tests into abstract parent 2018-11-16 09:22:47 -08:00
Tyler Benson cde02e1ae5 Fix servlet async dispatch
Finish existing trace and propagate to the next request.

Improve dispatch testing.
2018-11-16 08:55:11 -08:00
Tyler Benson 3835157c4f
Merge pull request #577 from DataDog/tyler/spring-auth
Set user.principal in a way spring security can be covered
2018-11-16 08:52:42 -08:00
Tyler Benson 1064e35788 Apply standard tag name and update spring-web test deps version. 2018-11-16 08:06:40 -08:00
Tyler Benson 31b2e0f9b0
Merge pull request #578 from DataDog/tyler/components
Apply component tag more consistently
2018-11-15 13:02:39 -08:00
Nikolay Martynov 465e237522 Do not set component in AWS instrumentation that later get rewritten anyway 2018-11-15 13:21:49 -05:00
Tyler Benson 6126d6632e Add vertx latestDepTest 2018-11-15 09:58:21 -08:00
Nikolay Martynov 6f05cff023 Add test for UrlConnection error on file protocol 2018-11-15 12:31:42 -05:00
Tyler Benson cbb29069fe Apply component tag more consistently 2018-11-14 11:31:40 -08:00
Tyler Benson 0bb20abfce Set user.principal in a way spring security can be covered
Improve tests.
2018-11-14 11:30:05 -08:00
Tyler Benson 5381461da2 Apply limits for Elasticsearch
6.5 has api changes that break our tests.
2018-11-14 10:55:18 -08:00
Tyler Benson b58b54dab9 Limit Lettuce/Webflux versions and fix test for tomcat 9+ 2018-11-12 12:33:34 -08:00
Tyler Benson 51dfd2b184 Fix latestDepTests for Jetty 2018-11-12 11:05:02 -08:00
Tyler Benson 5e194ef06c Fix latestDepTests for Kafka Streams, Netty, and Okhttp 2018-11-12 08:15:24 -08:00
Gary a2a194d48a Fix latestDepTest for JSP instrumentation.
Normalize jsp.requestUrl tag value because Tomcat 9 seems to add relative path symbols of jsp files.

Tomcat 9 doesn't automatically create a connector, causing failures in latestDepTest. Tomcat 9 also seems to have small changes that effect some of the tests, such as changing the exception type and also removal of the exception message in one of the tests.
2018-11-12 08:15:24 -08:00
Tyler Benson 9bd2b86d2e Add assertion to ensure latestDepTest dependencies are different from test. 2018-11-12 08:15:24 -08:00
Gary 9d7d40565a
Limit AMQP LatestDepTest to use last working version
Makes AMQP LatestDepTest not use the latest version because it uses a snapshot version of spring, causing error when downloading.
2018-11-09 11:09:04 -05:00
Nikolay Martynov 98efa8aaa3
Merge pull request #566 from DataDog/mar-kolya/specify-scala-dependency
Mar kolya/specify scala dependency
2018-11-05 21:05:54 -05:00
Nikolay Martynov 9c652cc5b2 Remove duplicate class names from ExecutorInstrumentation 2018-11-05 12:55:32 -05:00
Nikolay Martynov b8276ac70b Specify Scala dependency in single place 2018-11-05 12:55:32 -05:00
Andrew Kent 1667e590b9 Log Java and JVM version info. 2018-11-02 17:12:00 -07:00
Nikolay Martynov 3c0ba56d2c Make context maps 'global' for a given key class name
This ensures that different instrumenters using same key class can see
each others state
2018-11-02 12:59:30 -04:00
Nikolay Martynov 98df97af3e First iteration on a better context store api
Separate context storage from actual fetching/putting
2018-11-02 10:46:57 -04:00
Andrew Kent 387068caf8
Merge pull request #558 from DataDog/ark/helper-injector-classloader
Inject dynamic classes into bootstrap class loader
2018-11-01 22:19:49 +00:00
Andrew Kent d0b00e0dc0 Inject all map holder classes into the bootstrap 2018-11-01 15:05:20 -07:00
Nikolay Martynov 13a8add2e7
Merge pull request #559 from DataDog/mar-kolya/add-lost-jdbc-statement-logging
Catch `AbstractMethodError` when trying to unwrap jdbc connection
2018-11-01 11:50:44 -04:00
Nikolay Martynov 15024915bf Catch `AbstractMethodError` when trying to unwrap jdbc connection
jdts throws this exception since they just have 'stub' umplementation.
2018-11-01 09:57:18 -04:00
Andrew Kent 5f0f6f1474 Inject dynamic classes into topmost class loader 2018-10-31 16:11:52 -07:00
Nikolay Martynov e83c379992
Merge pull request #557 from DataDog/mar-kolya/add-lost-jdbc-statement-logging
Add logging in jdbc instrumentation when we cannot unwrap connection
2018-10-31 15:55:03 -04:00
Nikolay Martynov 8a066de772 Add logging in jdbc instrumentation when we cannot unwrap connection 2018-10-31 13:38:37 -04:00
Andrew Kent 6198662984
Merge pull request #555 from marcoferrer/grpc-tracing-kotlin-exception-support
Catch and log throwables to support kotlin exception handling
2018-10-31 03:44:15 +00:00
Marco Ferrer 1bd97a0f90 catch and log throwables to support kotlin exception handling 2018-10-30 23:00:29 -04:00
Andrew Kent 5824eb83b8
Merge pull request #537 from DataDog/ark/instrumentation-context-outline
instrumentation context map-backed impl
2018-10-29 18:48:23 +00:00
Nikolay Martynov ff9e5ba99f Increase couchbase timeout
It looks like Couchbase is often really slow to start.
2018-10-26 17:08:36 -04:00
Andrew Kent b89aa54a93 Move ASM visiting method into context-store impl 2018-10-26 14:06:57 -07:00
Andrew Kent cc27f1507e Javadoc for map-backed context store. Type info on context store api 2018-10-26 13:41:24 -07:00
Andrew Kent 0fa35a0654
Merge pull request #548 from DataDog/tyler/remove-releases
Remove historical releases
2018-10-26 19:17:36 +00:00
Nikolay Martynov aba0c3377d Use offer instead of add when trying to test-insert element into the queue on ThreadPoolExecutor instrumentation 2018-10-24 15:13:40 -04:00
Nikolay Martynov faad1d92b0 Clarify output of Hystrix test 2018-10-24 15:13:21 -04:00
Tyler Benson ad48630171 Remove historical releases
Previously kept for comparing benchmarks across versions, but they can be downloaded as needed.  Don’t need to be kept in the history.
2018-10-24 10:18:30 +10:00
Tyler Benson 8464353bc3
Merge pull request #545 from DataDog/mar-kolya/update-jmx-fetch
Update jmxfetch to latest version
2018-10-24 08:40:59 +10:00
Nikolay Martynov 14e85941c0
Merge pull request #547 from DataDog/mar-kolya/weak-concurrent-map-thread-cleanup
Mar kolya/weak concurrent map thread cleanup
2018-10-23 18:12:24 -04:00
Nikolay Martynov fc13d7db2b Reorganize WeakConcurrent implementation to allow cleanup thread GC when map is out of scope 2018-10-23 16:30:51 -04:00
Nikolay Martynov 14ad40f598 Update jmxfetch to latest version
No functional changes but this is the first version published on Maven Central
2018-10-23 09:56:54 -04:00
Tyler Benson 041b9c30d4 Fix failing test from master. 2018-10-23 17:35:00 +10:00
Nikolay Martynov 4e6f179a7a
Merge pull request #543 from DataDog/mar-kolya/jmxfetch-additional-tags
Add config for tags that propagate to JMXFetch and spans
2018-10-22 20:56:56 -04:00
Nikolay Martynov 34372533c1 Add config for tags that propagate to JMXFetch and spans
Also add runtime-id tag to root span and JMXFetch metrics
2018-10-22 15:51:20 -04:00
Tyler Benson 13c91d11e5 Upgrade shadow to 4.0.1 and exclude module-info.class files. 2018-10-22 10:44:04 +10:00
Tyler Benson 192b0fd478 misc minor changes 2018-10-22 10:44:04 +10:00
Andrew Kent 7547e0fc5e Cleanup and javadoc 2018-10-19 13:07:11 -07:00
Gary Huang 9b3019c612
Merge pull request #487 from DataDog/gary/muzzle-aws-sdk
Muzzle AWS SDK Instrumentation
2018-10-19 15:31:25 -04:00
Tyler Benson 78c6f881ed
Merge pull request #535 from DataDog/tyler/rabbit
Add instrumentation for RabbitMQ’s AMQP library
2018-10-19 23:26:50 +10:00
Tyler Benson b693335ef5 Add routing key to resource name for publish command. 2018-10-19 13:19:50 +10:00