Commit Graph

229 Commits

Author SHA1 Message Date
Nikolay Martynov b0c2ab9b68 Lettuce: wait for trace after setup code
Otherwise that trace may land at some random point in time after and
cause flaky tests.
2018-06-19 15:15:29 -04:00
Andrew Kent 519f15bcc6
Merge pull request #357 from DataDog/ark/servlet-async
Close scope for async servlet requests
2018-06-17 23:44:24 -07:00
Nikolay Martynov 0e62ee8ec6 Make spymemcached instrumentation disabled by default 2018-06-15 14:25:51 -04:00
Andrew Kent 6cd8be67d5 Close scope for async servlet requests 2018-06-14 20:23:54 -07:00
Nikolay Martynov 1e4c88ffcb Merge branch 'master' into mar-kolya/spymemcached-instrumentation 2018-06-14 15:38:01 -04:00
Nikolay Martynov dd8f5ced07 Spymemcached: be slightly mode defensive in instumentation 2018-06-14 13:37:35 -04:00
Nikolay Martynov ba37ccc552 Spymemcached: use cache span type 2018-06-14 13:37:35 -04:00
Nikolay Martynov 940633b388 Spymemcached: Make abstract method in CompletionListener 2018-06-14 13:37:31 -04:00
Nikolay Martynov 2c9f8a2b71 Fix ES rest client latest dep tests by forcing 6.2.+ since our instrumentation doesnt work properly with 6.3.+ 2018-06-14 10:31:45 -04:00
Nikolay Martynov 30695555f9 Spymemcached: remove unnecessary unboxing and minor cleanup 2018-06-13 22:43:36 -04:00
Nikolay Martynov dafd52cb7a Spymemcached: add instumentation 2018-06-13 22:38:18 -04:00
Nikolay Martynov 63c4cdff87 Memcached testing: add support for testoingcontainers 2018-06-13 13:06:23 -04:00
Gary Huang adbab8692c
Merge pull request #336 from DataDog/gary/lettuce-integration-branch
lettuce 5 redis client integration
2018-06-13 09:18:01 -04:00
Nikolay Martynov 0fa972ec77 Merge branch 'master' into mar-kolya/slick-instrumentation 2018-06-09 00:06:17 -04:00
Gary Huang 429ee40f81 add workaround to avoid certain commands from crashing the trace agent. 2018-06-08 23:53:13 -04:00
Gary Huang 42b586badf remove recording of redis command arguments for now to avoid leaking sensitive data 2018-06-08 23:53:13 -04:00
Gary Huang 0bc9d9c08d remove string constants in advice class and comment fixes 2018-06-08 23:53:13 -04:00
Gary Huang b694ecdf79 add version scan and rename instrumentation classes 2018-06-08 23:53:13 -04:00
Gary Huang 3d61d839c8 make commands with no return values (void or Mono<Void>) to finish spans early in order to record command ran.
added support for cancellation of commands in async and reactive APIs.
since flux is a stream of events, when the stream is complete, the number of events emitted are recorded in the tag db.command.results.count
created helper class LettuceInstrumentationUtil
2018-06-08 23:53:13 -04:00
Gary Huang bfdf4c858a lettuce reactive api for mono publishers completed. 2018-06-08 23:53:13 -04:00
Gary Huang 989a259ec2 Fix code with suggestions from Tyler regarding previous commit.
no longer includes the command argument if the redis command being called is AUTH since it contains sensitive information.
2018-06-08 23:53:13 -04:00
Gary Huang ae1d9d7c52 complete async unit test and changes to implementation
using handleAsync with BiFunction because lettuce futures almost never throw exceptions on futures

improvement changes to come
2018-06-08 23:53:13 -04:00
Gary Huang 1213311418 lettuce redis client sync and async api instrumentation with sync unit tests complete 2018-06-08 23:53:13 -04:00
Tyler Benson c475ac688c Add additional Elasticsearch tests for Spring Data. 2018-06-09 10:59:08 +10:00
Tyler Benson 206de0fb54 Add some more missing helper classes 2018-06-09 10:59:08 +10:00
Tyler Benson c2771753b7 Suggested changes. 2018-06-08 16:38:51 +10:00
Nikolay Martynov 28c7c30af4 [HttpUrlConnection] Fix HEAD responses
Explain to ratpack that sending body for HEAD requests is not up to
spec [1] and seems to be confusing to clients. This resolves 'Keep-Alive'
mistery and makes disabling 'keepa-live' unnecessary.

[1] https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
2018-06-07 12:24:16 -04:00
Tyler Benson 9ff09b93e1 Refactor HttpUrlConnection Instrumentation
getOutputStream shouldn’t call getResponseCode, otherwise the request gets screwed up.
2018-06-07 16:25:38 +10:00
Nikolay Martynov 93a41b5064 Fix some typos 2018-06-06 20:47:49 -04:00
Nikolay Martynov 7a280d7e13 Fix some code formatting 2018-06-06 17:11:17 -04:00
Nikolay Martynov ca6fabfd64 Move code from `WrapAdviceUtils` to `DatadogWrapper` 2018-06-06 16:42:23 -04:00
Nikolay Martynov 5f82776fc5 Use assertTraces api in slick tests 2018-06-06 16:41:03 -04:00
Nikolay Martynov d6aaee1bee Check for java concurrent classes prefixes match only if class was not whitelisted already 2018-06-06 15:51:30 -04:00
Nikolay Martynov bbcc2882ab Use test set instead of submodule for Slick tests 2018-06-06 15:49:39 -04:00
Nikolay Martynov f92af7d860 Fix Scala Slick instrumentation 2018-06-06 10:43:23 -04:00
Nikolay Martynov b8fdb4acd5 Added Scala Slick test that fails due to executor wrapping problems 2018-06-06 10:43:19 -04:00
Tyler Benson d235618a6e Add instrumentation for Java’s UrlConnection
For HttpUrlConnection, trace propagation headers are added to the outgoing request.

Due to the awkward design of the API, the ability to instrument in a natural way was limited, thus the main points instrumented are the get{Input,Output}Stream methods.
2018-06-06 09:12:48 +10:00
Tyler Benson 979aa7838f Clear TEST_WRITER before waiting to ensure accurate timing
Otherwise the waitForTraces at the end might be triggered prematurely.
2018-06-05 14:49:17 +10:00
Tyler Benson 682fb01350 Wait for initial traces before starting tests
to ensure a late reported trace doesn’t mess up the test assertions.
2018-05-30 11:40:31 +10:00
Tyler Benson b58a7db7a7 Add another helper used by Joiner. 2018-05-30 10:31:00 +10:00
Tyler Benson cda86ca4ea Wait for cluster to be ready before starting test. 2018-05-29 15:40:05 +10:00
Tyler Benson f9ab729f92 Forgot to inject the helpers. 2018-05-25 20:27:57 +10:00
Tyler Benson de74eb1938 Add additional metadata to ES client calls. 2018-05-25 13:58:44 +10:00
Tyler Benson c03e894870
Merge pull request #329 from DataDog/tyler/elasticsearch-client
Elasticsearch Client Instrumentation
2018-05-24 09:03:20 +10:00
Andrew Kent d9dce43728
Merge pull request #332 from DataDog/ark/playtime
Enable Play, Hystrix, and JaxRS Client Instrumentation
2018-05-22 18:56:00 -07:00
Tyler Benson ec9ce10ca1 Limit version compatibility. 2018-05-23 11:29:13 +10:00
Tyler Benson 0cf8fef8d8 Elasticsearch Instrumentation 2018-05-23 11:29:13 +10:00
Tyler Benson 164689eeb3
Merge pull request #333 from DataDog/tyler/force-latest-tests
Fix version upgrading for latestDepTests
2018-05-23 11:21:28 +10:00
Andrew Kent d90de5741f Enable JaxRS Instrumentation 2018-05-22 18:02:30 -07:00
Andrew Kent 066aac761c Enable Hystrix 2018-05-22 18:01:43 -07:00