Commit Graph

659 Commits

Author SHA1 Message Date
Andrew Kent 8a666784a6 Close Jetty Handler scope 2018-06-22 11:53:39 -07:00
Nikolay Martynov 7882e4fe23 Make ES tests more deterministic by using listener pool with 1 thread
This should reduce number of false negatives in ES tests
2018-06-22 14:23:06 -04:00
Nikolay Martynov c050b4acd8
Merge pull request #366 from DataDog/mar-kolya/fixes-for-lettuce-tests
Fix some flakiness in Lettuce tests
2018-06-22 11:01:30 -04:00
Nikolay Martynov 389f65687a Fix some flakiness in Lettuce tests
It looks like automatic reconnection was enabled which lead to random
traces popping up in random places when Redis server was shutdown.

Also make sure that server persists only during single test to weedout
all inter-test dependencies.
2018-06-21 17:44:19 -04:00
Nikolay Martynov 79d7b9c062 JMS1/2: change resource names according to PR comments 2018-06-21 14:10:50 -04:00
Nikolay Martynov 37fdbf9188 JMS2: Fix `receiveNoWait` instrumentation and instrument `receive(timeout)` 2018-06-21 13:28:19 -04:00
Nikolay Martynov 3be5a78a53 JMS1: make resouce names more descriptive 2018-06-21 13:28:19 -04:00
Nikolay Martynov fe118adc6e JMS1: Fix `receiveNoWait` instrumentation and instrument `receive(timeout)` 2018-06-21 13:28:19 -04:00
Nikolay Martynov bb4026234d Refactor JMS1 integration tests 2018-06-21 13:28:19 -04:00
Nikolay Martynov beb91446c7 Increase Cassandra embedded server start up timeout
To try to make tests less prone to false positives.
2018-06-21 12:00:26 -04:00
Tyler Benson 83db4e8c4d
Merge pull request #352 from DataDog/tyler/netty
Netty HTTP client and server instrumentation
2018-06-21 14:11:12 +10:00
Nikolay Martynov 9cc99bafbf Simplify Jacoco configuration 2018-06-20 17:13:30 -04:00
Nikolay Martynov e070a9be4a Fix jacoco excluded classes concatenation 2018-06-20 17:05:16 -04:00
Nikolay Martynov 71a991fcaa Update jacoco exclusions to exclude things not hit during test runs 2018-06-20 17:01:01 -04:00
Nikolay Martynov da5cd0724b
Merge pull request #362 from DataDog/mar-kolya/enable-coverage-in-CI
Enable coverage checks in CI for java8
2018-06-20 15:15:49 -04:00
Nikolay Martynov 21d58768cb Lettuce: properly close connection instead of letting it being GCed 2018-06-19 22:41:58 -04:00
Andrew Kent 46b9cd35b9
Merge pull request #350 from DataDog/ark/lagom
akka-http instrumentation and lagom tests
2018-06-19 15:17:09 -07:00
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
Tyler Benson c0da1f7093 Add version scan. 2018-06-18 12:52:42 +10:00
Tyler Benson 43e31eae80 Separate out instrumentation for netty 4.0 from 4.1 2018-06-18 12:52:42 +10:00
Tyler Benson 9b3df4ff9e Netty HTTP client and server instrumentation first pass
Doesn’t target right versions. Needs lots of testing.
2018-06-18 12:52:42 +10:00
Andrew Kent 93281f775a Clean up akkahttp-server/lagom tests 2018-06-15 14:30:23 -07:00
Andrew Kent 2cfd7bf911 Allow Unit tests to skip expected instrumentation errors. 2018-06-15 13:25:41 -07:00
Andrew Kent 7ac2bdfc22 Add akka-http to play 2.6 tests 2018-06-15 12:48:57 -07:00
Andrew Kent 5a77ac3749 akka-http sync and async tests 2018-06-15 12:48:57 -07:00
Andrew Kent 6b7dda3657 Instrument akka-http function handler instead of akka-streams 2018-06-15 12:48:57 -07:00
Andrew Kent 004b88f634 Initial Lagom Test 2018-06-15 12:48:57 -07:00
Andrew Kent 109f2cead4 Akka-http instrumentation and test 2018-06-15 12:48:57 -07:00
Nikolay Martynov d278cd48a7
Merge pull request #359 from DataDog/mar-kolya/spymemcached-instrumentation
Make spymemcached disabled by default
2018-06-15 15:29:52 -04:00
Nikolay Martynov 0e62ee8ec6 Make spymemcached instrumentation disabled by default 2018-06-15 14:25:51 -04:00
Nikolay Martynov f9cc33c7c8
Merge pull request #353 from DataDog/mar-kolya/spymemcached-instrumentation
Mar kolya/spymemcached instrumentation
2018-06-15 12:44:42 -04:00
Andrew Kent 6cd8be67d5 Close scope for async servlet requests 2018-06-14 20:23:54 -07:00
Andrew Kent f28445c45f CorrelationIdentifier for MDC frameworks. 2018-06-14 15:33:15 -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
Tyler Benson ff56389a56 Upgrade some versions. 2018-06-14 11:56:56 +10: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 fdc56c0e13 change the way classes are loaded so that classLoaderHasClasses would still work for the classes that are being instrumented and being matched at the same time. 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 30d640e7ee Provide way to use CLosure to assert tags values 2018-06-06 16:40:34 -04:00
Nikolay Martynov b1bc24dd67 Raname function in TraceAssert to match actual action 2018-06-06 16:40:12 -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 2e5007fbd8 Fix function name in TagsAssert 2018-06-06 10:43:23 -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
Nikolay Martynov 3187f7350f Simplify Calldepththreadlocalmap to not use atomic integers 2018-06-06 09:31:25 -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 5fe58dc344
Merge pull request #338 from DataDog/tyler/es-meta
Add additional metadata to ES client calls.
2018-05-30 11:58:41 +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 b5346e89a3 Begin 0.10.0 2018-05-29 18:41:37 +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
Andrew Kent c11de3003d Enable Play Instrumentation 2018-05-22 15:29:46 -07:00
Tyler Benson ce0ef409d8
Merge pull request #330 from DataDog/tyler/aws-versions
Fix AWS version ranges
2018-05-23 07:30:16 +10:00
Tyler Benson 03392f2138
Merge pull request #331 from DataDog/tyler/move-apache-httpclient-tests
Move Apache HttpClient tests to instrumentation
2018-05-23 07:28:04 +10:00
Andrew Kent 176b071300
Merge pull request #324 from DataDog/ark/default_service_name
Remove unknown feature-flag and use generic names as fallback
2018-05-22 14:19:50 -07:00
Andrew Kent c7a5bdcdbb Remove unknown feature-flag and use generic names as fallback 2018-05-22 14:01:08 -07:00
Tyler Benson 5d6fe43dc6 TestHttpServer is no longer used
Move the java version ignores.
2018-05-22 17:12:54 +10:00
Tyler Benson e481092f25 Avoid occasional false test failure. 2018-05-22 16:47:36 +10:00
Tyler Benson a3a1b08fa9 Fix AWS version ranges 2018-05-22 16:45:01 +10:00
Tyler Benson 3781a71e5f Fix version upgrading for latestDepTests 2018-05-22 15:14:11 +10:00
Andrew Kent b7570c7152
Merge pull request #319 from DataDog/ark/muzzle-integration-branch
muzzle integration branch
2018-05-21 11:32:00 -07:00
Andrew Kent 217dd411de Disable muzzle 2018-05-21 10:58:30 -07:00
Andrew Kent 1641c54448 Skip instrumenting slick thread pool 2018-05-18 11:17:27 -07:00