Commit Graph

655 Commits

Author SHA1 Message Date
Tyler Benson d05e2cfe86 Add span for spring web controller. 2018-08-07 17:03:07 +10:00
Tyler Benson fff3118dec separate spring web and error instrumentation. 2018-08-07 16:33:51 +10:00
Tyler Benson 05dc51633a Update Spring Tests 2018-08-07 16:04:28 +10:00
Tyler Benson 847484cd47 Use WeakConcurrentMap
Instead of `Collections.synchronizedMap(new WeakHashMap<>())`.
2018-08-06 14:14:57 +10:00
Tyler Benson e7aa7c52b4 Improve comments and add synchronization. 2018-08-06 11:38:28 +10:00
Tyler Benson 064ae4c238 Separate span for input and output streams. 2018-08-03 15:41:16 +10:00
Nikolay Martynov 2bfb7b93ec Disable Lagom circuit breaker
It looks like they fail tests from time to time
2018-07-31 20:14:03 -04:00
Nikolay Martynov c66bd24d3a Use `safeHasSuperType` instead of `isSubType`
`isSubType` may fail on certain class lookup problems, even on classes
unrelated to given instrumentation, preventing instrumentation from
being applied.
2018-07-31 20:14:03 -04:00
Nikolay Martynov 6693a93485 Remove onInstrumentationError from LagomTest
We not longer need it since our instrumentation can handle underlying
loading problem.
2018-07-31 20:14:03 -04:00
Nikolay Martynov 6bc1d1ab8e Implement `saveHasSuperType` and use it instead of `hasSuperType`
The idea is to just 'trim' type hierarchy 'up-trees' that we cannot
resolve dring instrumentation instead of failing to instrument completely.
2018-07-31 20:13:59 -04:00
Nikolay Martynov deec4a795c Improve Apache HTTP client
Properly open and close outer span in multi-request cases
2018-07-31 20:12:17 -04:00
Nikolay Martynov 1ebe4732f8 Stop using `failSafe` matcher
It should not be necessary after we jave fixed class location issue
for ByteBuddy
2018-07-31 20:12:17 -04:00
Nikolay Martynov b6118f0397 Apache HTTP Client: add test for redirected request 2018-07-31 20:12:17 -04:00
Tyler Benson 9a6efe69f4 Fix netty dependency and class version checking 2018-07-31 17:42:40 +10:00
Tyler Benson b1304b478a Change http server span type back to `web` 2018-07-31 12:53:50 +10:00
Tyler Benson e6da80bb12 datastores 2018-07-31 12:53:50 +10:00
Tyler Benson 00a2e891b0 http servers 2018-07-31 12:53:50 +10:00
Tyler Benson 3856e7fd1a http clients 2018-07-31 12:53:50 +10:00
Tyler Benson 01d57fb497 elasticsearch 2018-07-31 12:53:50 +10:00
Tyler Benson d3ce57d84f mongo 2018-07-31 12:53:50 +10:00
Tyler Benson 094552cad3 memcache 2018-07-31 12:53:50 +10:00
Tyler Benson 2e7899b405 redis 2018-07-31 12:40:47 +10:00
Tyler Benson ff9ef671f3 Apply formatter on groovy files. 2018-07-31 12:09:28 +10:00
Tyler Benson 51919a77bb Apply formatter on java files. 2018-07-31 12:07:43 +10:00
Tyler Benson bc3af56b08 Apply formatter on scala files. 2018-07-31 12:07:30 +10:00
Tyler Benson b5c8a8b8fc Apply formatter on gradle files. 2018-07-31 12:04:00 +10:00
Gary Huang 4c88e1a0a8
Merge pull request #392 from DataDog/gary/uint64-id-support
Change the internal storage and handling of trace ID, span ID, and pa…
2018-07-30 15:01:10 -04:00
Tyler Benson 4e60246e17
Merge pull request #405 from DataDog/tyler/servlet-async
Refactor servlet instrumentation and disable async on response.
2018-07-30 10:27:54 +10:00
Nikolay Martynov fadce5c6b3
Merge pull request #400 from DataDog/mar-kolya/java10-support
Java10 support
2018-07-27 13:38:39 -04:00
Andrew Kent ee594f8567 Use connect operationName in httpurlconnection connect-first case 2018-07-26 15:34:27 -07:00
Andrew Kent 54485c3296 Don't trace httpurlconnection as a top-level trace 2018-07-26 15:34:27 -07:00
Andrew Kent d598515d09 Handle cases where connect() is called first 2018-07-26 15:34:27 -07:00
Andrew Kent df95af53a7 Remove getResponseCode() from httpurlconneciton instrumentation 2018-07-26 15:34:27 -07:00
Andrew Kent 2a35ecb497 Use connected field to determine io status of httpurlconnection 2018-07-26 15:34:27 -07:00
Gary Huang 2780ac7ac1 POC sun JDK http urlconnection instrumentation, currently creates one span. 2018-07-26 15:34:27 -07:00
Nikolay Martynov 44b364332a Remove unused field and method 2018-07-26 10:11:20 -04:00
Gary Huang 6317b21d5c Fix merge conflicts with service mapping change 2018-07-26 09:16:41 -04:00
Tyler Benson 1e36343485 Null or empty tags should remove previously set values.
Add context to servlet2 test.

Clean up some declared tracers that mess up the classpath.
2018-07-26 12:20:37 +10:00
Tyler Benson fb2817a134 Refactor servlet instrumentation and disable async on response.
Separate out common advice between instrumentation.
2018-07-25 15:12:55 +10:00
Nikolay Martynov b30ed0dfa0
Merge pull request #404 from DataDog/mar-kolya/fix-kafka-streaming-flaky-test
Fix flaky test in kafka streaming
2018-07-25 00:17:01 -04:00
Nikolay Martynov 5c1ac58c3f Fix flaky test in kafka streaming 2018-07-24 23:41:01 -04:00
Nikolay Martynov 7b644161d3 Migrate ApacheHttpClientTest to use span assertion api 2018-07-24 23:28:37 -04:00
Nikolay Martynov c98d5ef64b Increase ElasticSearch timeout in tests
Hopefully this would improve build stability
2018-07-24 23:07:18 -04:00
Gary Huang 93e70dcef6 Address comments and add test case for extracting non numeric IDs 2018-07-24 14:04:52 -04:00
Nikolay Martynov 3d8e76c2a4 Get rid of `WRITER_PHASER`
We have alternative way of doing the same thing and `Phaser` seems to be
not very correct way of doing this anyway.
2018-07-24 11:41:48 -04:00
Nikolay Martynov dcbf8d674a Akka-http-client: handle `singleRquest` throwing an exception 2018-07-24 11:41:48 -04:00
Nikolay Martynov 642b862c13 Do not reference `AkkaHttpClientTransformFlow` in instrumentation code
to avoid class loader problems
2018-07-24 11:41:48 -04:00
Nikolay Martynov 35b980ea89 Fix ElasticSearch config for 2.x client 2018-07-24 11:41:45 -04:00
Nikolay Martynov 732bce82d0 Fix typo 2018-07-23 10:04:53 -04:00
Nikolay Martynov 7794eacc91 Increase Cassandra request timeout in tests 2018-07-23 10:04:53 -04:00
Nikolay Martynov b4b99d991c Move AkkaHttpServerInstrumentation into Scala compilation
This is a hack to work around the problem of `auto-service` annotation
processing creating files with same name in `java` and `scala`
directories. This results in Jar having two files with the same name
instead of one concatenated file.
2018-07-23 10:04:53 -04:00
Nikolay Martynov 68ce09b461 Add missing Scala classes to list in injection classes 2018-07-23 10:04:53 -04:00
Nikolay Martynov fd5d80ba86 Make muzzle plugin apply to Scala code 2018-07-23 10:04:53 -04:00
Nikolay Martynov 161847752f Pass Span instead of Scope 2018-07-23 10:04:53 -04:00
Nikolay Martynov 5e67e6e5ba Migrate to new instrumentation API 2018-07-23 10:04:53 -04:00
Nikolay Martynov 277e7a1a3c Typo fix 2018-07-23 10:04:53 -04:00
Nikolay Martynov db895f2e34 Remove redundant plugin from akka gradle file 2018-07-23 10:04:53 -04:00
Nikolay Martynov ae37ca4b02 Add akka-http-client instrumentation: superPool 2018-07-23 10:04:53 -04:00
Nikolay Martynov 2b25de966a Add akka-http-client instrumentation
This is a very-very first pass: instrument single request
2018-07-23 10:04:53 -04:00
Nikolay Martynov f9f135cbd6 Do not run Spymemcached tests locally under Java7
since it requires external Memcached container running because
testcontainers doesn't work on Java7.
2018-07-23 10:04:53 -04:00
Nikolay Martynov c844501bc5 Fixes for some minor checkstyle complaints 2018-07-23 10:04:53 -04:00
Nikolay Martynov ce7866d018 Use `io.opentracing.log.Fields.*` instead of hardcoded strings 2018-07-23 10:04:53 -04:00
Nikolay Martynov d4d770fe42 Pull out ratpack helper into seprate class to avoid copy-paste 2018-07-23 10:04:53 -04:00
Nikolay Martynov a882a5439c OkHttp instumentation: simplify error case 2018-07-23 10:04:53 -04:00
Nikolay Martynov 9d2755be17 Fix Google Java Formater violations
Some changes landed on master that do not comply with new formatter rules
2018-07-23 13:43:29 +10:00
Nikolay Martynov 4283e3acb1
Merge pull request #396 from DataDog/mar-kolya/test-http-client-timeout-increase
Increase build stability by increasing some http client timeouts
2018-07-22 21:35:32 -04:00
Tyler Benson 9988c8775f
Merge pull request #388 from DataDog/tyler/grpc
Instrument gRPC 1.5.0+
2018-07-23 11:19:48 +10:00
Nikolay Martynov 564b4e9dc3 Increase build stability by increasing some http client timeouts
This makes build more resilient to slow boxes and high parallelism
2018-07-22 00:41:37 -04:00
Nikolay Martynov f1466304e8 Move random port generation to actual usage in tests using listening ports 2018-07-20 11:57:37 -04:00
Nikolay Martynov c3825d9d52 Improve tmp dir handling in ES tests
Also make sure ES ports are allocated right before ES is started
2018-07-20 11:53:33 -04:00
Tyler Benson a34f7b849b Instrument gRPC
Adds spans for the duration of the connection and child spans for each message.
Also propagates the trace using the metadata object.
2018-07-20 12:25:04 +10:00
Tyler Benson aa3fc0717e Fix some formatting changes. 2018-07-20 10:31:14 +10:00
Nikolay Martynov 7c62e10542 Do not use advice class names in Lettuce instrumentation directly
Since this leads to Java8 code loaded into Java7 JVM in tests.
Insted reference class names by string.
2018-07-19 10:45:21 -04:00
Tyler Benson 12a2fce96d Upgrade java formatter version. 2018-07-19 14:10:53 +10:00
Andrew Kent 46428dc6a3 Enable Lettuce instrumentation by default 2018-07-18 18:45:46 -07:00
Andrew Kent 23d0439b12 Remove muzzle dead code, doc cleanup, and better logging 2018-07-13 16:24:01 -07:00
Andrew Kent 33ec3f0304 Add missing ratpack helper 2018-07-10 17:26:49 -04:00
Andrew Kent 6faf63d6d8 Add missing memcached helper 2018-07-10 17:26:49 -04:00
Andrew Kent ce73c403bf Elasticsearch5 helpers 2018-07-10 17:26:49 -04:00
Andrew Kent 628f4929dc Muzzle Assertions and gradle plugin 2018-07-10 17:26:49 -04:00
Andrew Kent 541a6998a4 Hook up muzzle to Instrumenter.Default's matcher 2018-07-10 17:26:49 -04:00
Andrew Kent 836f49205b TraceConfigInstrumentation implements Instrumenter directly 2018-07-10 17:26:49 -04:00
Gary Huang bfc49e869e Make connections always close on test case completion. 2018-07-09 17:55:52 -04:00
Gary Huang 6bd7cf0675 Fixes #379.
Connection pools were creating proxy connection objects, so the proxy objects were cached. By unwrapping the proxies, the connection objects will be correctly cached and identified.

Refactored tests to use connection pools, and hsqldb connections only on statements (since they will not make a USER() query in a getMetaData call).
2018-07-09 17:55:52 -04:00
Andrew Kent 02a3e6a5d3 New Instrumentation API 2018-07-06 17:17:32 -04:00
Gary Huang cc7bb7943f
Merge pull request #354 from DataDog/gary/jsp-integration-branch
Generic JSP instrumentation with Tomcat Jasper compilation instrumentation.
2018-06-26 18:35:09 -04:00
Nikolay Martynov 8d6392fa94 Remove timeouts from lagom tests
It looks like server is started lazily and on laptop it may take over
5 seconds in parallel build. This means in may take long time on CI as
well.
It is in fact unikely that server will never return so adding timeout
introduces flakiness and doesn't really protect from any real-life
problems. Instead of hardcoding timeouts just rely on build eventually
giving up on its own one way or another.
2018-06-26 15:48:04 -04:00
Nikolay Martynov 44b63ea5ca Rename AkkaHttpInstrumentation to AkkaHttpServerInstrumentation
To be able to put client instrumentation in more consistent way
2018-06-26 15:41:59 -04:00
Nikolay Martynov 3ac866b0f9
Merge pull request #371 from DataDog/tyler/servlet-user
Set servlet’s user-principal as a tag when available
2018-06-26 13:41:13 -04:00
Andrew Kent 15c0f9a6b2 Akka-http-server renames 2018-06-26 09:55:32 -07:00
Nikolay Martynov a0d99e70fb Add tests to servlet intrumentation to verify that username is set correctly 2018-06-25 21:54:20 -04:00
Gary Huang 46e7036701 fix version scan and test versions 2018-06-25 16:54:45 -04:00
Tyler Benson 9899256381 Set servlet’s user-principal as a tag when available 2018-06-25 11:24:35 +10:00
Gary Huang eddb48f3e2 refactored tests, added parent-children relationship between spans in tests. Still need to figure out version scan and versions to support. 2018-06-22 18:24:06 -04:00
Gary Huang e90bcf624a add unit tests for jsp rendering (servicing requests), change to instrument generic jsp level rendering. 2018-06-22 18:24:06 -04:00
Gary Huang b1d06299cc JSP instrumentation
WIP: more unit tests to come
2018-06-22 18:24:06 -04:00
Nikolay Martynov 7405b7711b
Merge pull request #369 from DataDog/mar-kolya/increase-timeouts-in-url-connection-test
Increase timeouts in UrlConnection test
2018-06-22 17:17:04 -04:00
Nikolay Martynov 60a0722390 Increase timeouts in UrlConnection test
Before those timeouts where set to 10ms which legitimatelly can come
before server (even localhost) has a chance to reply with 'connection
refused'.

This should fix flaky test.
2018-06-22 16:57:31 -04:00
Nikolay Martynov 1fbb33d182 More fixes to Lettuce tests
Lettuce intrumentatio is implemented in a way that after operation has
been performed `span` is not closed syncronously - in fact this happens
on separate thread. This means `spans` for even syncronous operations
may be closed on opposite order.
This means that writing tests that pefrom two operations and expect
two traces is slightly more complicated. In many places we can just
avoid doing that by preparing necessary data in `setup`.

This fixes some of the false negatives in tests.
2018-06-22 16:44:58 -04:00
Nikolay Martynov 770f77a7ff
Merge pull request #367 from DataDog/mar-kolya/reduce-number-of-compile-workers
Reduce number of gradle workers during compile
2018-06-22 16:07:46 -04:00
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 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 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
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
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 1641c54448 Skip instrumenting slick thread pool 2018-05-18 11:17:27 -07:00
Andrew Kent ad7f6a5e71 Generate at compile-time and lazy-load reference matchers 2018-05-18 10:45:05 -07:00
Andrew Kent 08df3cef35 Use bytebuddy plugin to add safety checks to instrumentation 2018-05-18 10:45:05 -07:00
Tyler Benson 024d414844 Move Apache HttpClient tests to instrumentation
And add latest test.
2018-05-18 12:01:12 +10:00
Gary Huang 71396aee01 Moved JDBC integration tests to become unit tests 2018-05-15 16:37:55 -04:00
Gary Huang 38dfe96eb0 Fixed java 9 JDBC integration test issue.
Refactored JDBCMaps's getDBInfo utlity function because JDBCMaps is in the bootstrap classloader, and the use of java.sql.* packages in getDBInfo is failing because java.sql.* packages are part of the platform classloader in java 9.
2018-05-15 16:18:55 -04:00
Gary Huang 4b71a21487 Fixed unknown database issue from JDBC Connection constructor exception
Client will now report correct database if JDBC connection is recovered from exception.
2018-05-15 16:18:55 -04:00
Tyler Benson dc814aeb6d Fix tests. 2018-05-11 15:19:30 +10:00
Tyler Benson 46878d24d3 Name service based on servlet context
This only applies if a service name hasn’t been set or is empty.

This is particularly useful for environments that deploy multiple war files to the same app server.
2018-05-11 13:59:03 +10:00
Tyler Benson 632d9b8da4
Merge pull request #316 from DataDog/tyler/async-flag
Enable async tracking for some non-async frameworks
2018-05-11 09:30:17 +10:00
Tyler Benson d5d24c50c7 Replace @Unroll’s with a rule to always unroll. 2018-05-10 15:24:59 +10:00
Tyler Benson b9db79e251 Enable async tracking for some non-async frameworks
This will allow tracing of additional work being done inside the servlet context.
2018-05-09 10:40:50 +10:00
Tyler Benson 5e6259233e Remove some other unknowns. 2018-05-08 16:29:55 +10:00
Tyler Benson 9606dd3467 Fix TraceConfig tests 2018-05-08 11:00:59 +10:00
Tyler Benson 2dd36c2b79 Give more distinct names and migrate test style 2018-05-08 10:03:22 +10:00
Tyler Benson c81615b255 Allow configuration of additional trace annotations
List can be set to empty if needed.
2018-05-07 13:27:23 +10:00
Tyler Benson 441bf59e80 Add tracing for other annotations and config
Allows for specifying additional traced methods via env var or sys prop config.
2018-05-07 13:27:23 +10:00
Tyler Benson c1ac920e97 Change from enum to object for map lookup key 2018-05-07 13:25:08 +10:00
Tyler Benson 122c482dd5 Queue should block. 2018-05-07 13:23:29 +10:00
Tyler Benson 9a52303376 Apply jacoco to every java project
Some projects have ignores/whitelists, but generally coverage is pretty high.

AFAIK, this doesn’t really capture instrumentation test coverage though.
2018-05-04 16:23:32 +10:00
Tyler Benson 7dfdc2d50e Missing autoservice annotation processor 2018-05-04 15:38:41 +10:00
Tyler Benson 114f088766 Fix TLS usage 2018-05-04 14:05:06 +10:00
Tyler Benson f35e2e6ebe Remove various warnings and other cleanup
Also upgrade some plugins.
2018-05-04 14:05:06 +10:00
Tyler Benson 7c4d42ef8a Add additional test task for testing latest versions of a dependency 2018-05-04 14:04:30 +10:00
Tyler Benson 660dfc834c It actually isn’t compatable until 1.4 2018-05-04 14:03:48 +10:00
Tyler Benson 2561e72824 Do we do want to ignore proxies?
If so, we have to change the test to be compatible.
2018-05-04 14:03:48 +10:00
Tyler Benson be34eaf032 Instrument HystrixCommand and HystrixThreadPool 2018-05-04 14:03:48 +10:00
Tyler Benson 6baf09588e
Merge pull request #302 from DataDog/tyler/jdbc-depth
Prevent JDBC spans from nesting
2018-05-04 08:07:28 +10:00
Tyler Benson 30b70d8939 Prevent case where call depth might never be reset 2018-05-03 14:53:33 +10:00
Tyler Benson 732f0f2185
Merge pull request #299 from DataDog/tyler/aws-naming
Use different resource naming for aws spans
2018-05-03 13:59:09 +10:00
Tyler Benson 82353ad7d1 Use different resource naming for aws spans
Uses the pattern of `service.operation`, so for an S3 get object request, the resource name would be `S3.GetObject`.
2018-05-03 13:38:16 +10:00
Tyler Benson 84b7080860 Fix AgentInstaller ignores and @Trace naming 2018-05-03 13:03:53 +10:00
Tyler Benson 0f77ccd797
Merge pull request #297 from DataDog/tyler/kafka
Add null check to kafka
2018-05-02 08:06:37 +10:00
Tyler Benson 6f64b0e021 Prevent JDBC spans from nesting 2018-05-01 11:18:53 +10:00
Andrew Kent 3c7d4f5b13 Enable executor instrumentation by default
Executor instrumentation does not need to be turned off by default
because the instrumentation will not apply unless the TraceScope is
activated.
2018-04-30 17:27:51 -07:00
Tyler Benson 63d308e50d Misc cleanup/minor changes 2018-05-01 10:24:14 +10:00
Tyler Benson 21e26d9463
Merge pull request #301 from jonmort/ratpack-instrumentation-exceptions
Fix NoClassDefFound errors for ratpack
2018-05-01 09:57:16 +10:00
Jon Mort c1a7f58aaf
Fix NoClassDefFound errors for ratpack 2018-04-30 15:24:42 +01:00
Tyler Benson cd289308bb Remove timeouts.
Not helping as much as was hoped.  Causing extra noise in CI.
2018-04-30 11:10:18 +10:00
Tyler Benson e6179f6555 Use hardcoded operation names for integrations
Backend has issues with variable operation names.

Also reduce dependencies on OT-contribs.
2018-04-27 12:37:19 +10:00
Andrew Kent 353bc1be07
Merge pull request #294 from DataDog/ark/fix_jax
Inject jax InjectAdapter helper class.
2018-04-26 14:39:15 -07:00
Andrew Kent 5f19a56683 Inject jax InjectAdapter helper class. 2018-04-26 09:52:45 -07:00
Tyler Benson 3db2d654f1 Fix spark instrumentation
and rebase off master.
2018-04-26 17:01:45 +10:00
Jørgen Grøndal de350c7c4f fix: attempt to enable instrumentations 2018-04-26 14:53:32 +10:00
Jørgen Grøndal bb5c413be1 fix: create a test to verify that spark is indeed responding 2018-04-26 14:53:32 +10:00
Jørgen Grøndal ede4620b52 feat: get tests running, although failing due to instrumentation not being loaded properly 2018-04-26 14:53:32 +10:00
Jørgen Grøndal 7e233ac3c7 feat: find oldest supported spark, update version, make tests run 2018-04-26 14:53:32 +10:00
Jørgen Grøndal 8b289c7036 fix: add versionScan for sparkjava 2018-04-26 14:53:32 +10:00
Jørgen Grøndal d0822c7458 fix: support jetty 8+, sparkjava 2.5+ 2018-04-26 14:53:32 +10:00
Jørgen Grøndal 8bfeae4a82 fix: formatting and add version to spark java instrumentation 2018-04-26 14:53:32 +10:00
Jørgen Grøndal 593a9b71ad fix: use google java format 2018-04-26 14:53:32 +10:00
Jørgen Grøndal 79f1226867 fix: use correct jetty version 2018-04-26 14:53:32 +10:00
Jørgen Grøndal c49d4f6dd8 fix: add jetty handler instrumentaiton. remove filter3instrumentation. add sparkjava routematch instrumentation 2018-04-26 14:53:32 +10:00
Jørgen Grøndal 6c4b90965c fix: support java 7 in test 2018-04-26 14:53:32 +10:00
Jørgen Grøndal 91aa3c854d fix: first attempt at sparkjava trace instrumentation 2018-04-26 14:53:32 +10:00
Andrew Kent f295b73d4b
Merge pull request #276 from jonmort/ratpack-support
Ratpack instrumentation support
2018-04-24 07:09:00 -07:00
Jon Mort 35ad8c9f49
Tidy up RatpackTest comments 2018-04-24 08:17:37 +01:00
Jon Mort b4510b7987
Add a guard against wrapping the ratpack request action multiple times 2018-04-24 08:07:48 +01:00
Jon Mort fa90af7fbc
Introduce a java 8 source set for Ratpack integration 2018-04-18 11:44:15 +01:00
Jon Mort 4875165053
Only build ratpack when using a java 8 compiler 2018-04-18 11:44:15 +01:00
Jon Mort 18da2444d1
Correctly look for classes to determine minimum ratpack version 2018-04-18 11:44:15 +01:00
Jon Mort 1ba0b69750
Resource naming and other review comments 2018-04-18 11:42:49 +01:00
Jon Mort 582c0af962
Rename to Ratpack 1.4 2018-04-18 11:42:49 +01:00
Jon Mort 6c1c830805
Apply review comments 2018-04-18 11:42:49 +01:00
Jon Mort 6e92221e5a
Ratpack instrumentaiton support 2018-04-18 11:42:48 +01:00
Tyler Benson c2cb7292c6 Remove okhttp instrumentation from servlet tests
seems to cause some confusion.
2018-04-18 11:58:07 +08:00
Andrew Kent c7cf1cf36d
Merge pull request #282 from DataDog/ark/async-refactor
Toggleable Async Propgation on the trace context
2018-04-17 09:44:41 -07:00
Andrew Kent 9bcd5677ed
Merge pull request #287 from DataDog/ark/logging
Logging
2018-04-17 09:26:32 -07:00
Andrew Kent 364b3e999a Remove warning from mongo listener. Add injection debug logging. 2018-04-16 10:34:46 -07:00
Tyler Benson 001e59e0cc Build with Java 8, but run tests with other JDKs
Use workspaces to persist build between jobs.
2018-04-16 14:36:38 +08:00
Andrew Kent 2d92ed2bed Use the same operationName for all play requests 2018-04-11 13:32:58 -07:00
Andrew Kent d594d6e8db Don't create continuations when async propagation is off 2018-04-11 13:32:58 -07:00
Andrew Kent a0a11a51d0 Use ScopeManager to enable/disable low level async instrumentation. 2018-04-11 13:32:58 -07:00
Andrew Kent 0d7aa022db Refactor ContinuableScope 2018-04-11 13:32:58 -07:00
Andrew Kent 6e62b79b8f Separate executor and scala future tests 2018-04-11 13:32:58 -07:00
Andrew Kent 63ae144734
Merge pull request #277 from DataDog/ark/play
Play 2.4-2.6 Instrumentation
2018-04-09 13:39:03 -04:00
Andrew Kent fc27e6b5ae Revert "Move play2.6 tests out of subproject and into sourceSet"
This reverts commit 2a42f7dc7d.
2018-04-08 10:10:12 -07:00
Andrew Kent 8941d167c9 Use bootstrap CallDepthThreadLocalMap in classloader instrumentation 2018-04-06 14:11:19 -04:00
Andrew Kent 2a42f7dc7d Move play2.6 tests out of subproject and into sourceSet 2018-04-06 14:03:20 -04:00
Andrew Kent cb864b1f33 Enable play testing for java8+ 2018-04-06 12:28:01 -04:00
Andrew Kent 2449810ce0 Play 2.4 and 2.6 testing 2018-04-05 17:58:04 -04:00
Andrew Kent 31c7d2d328 Use CallDepthThreadLocalMap in sql Connection init 2018-04-04 15:34:43 -04:00
Andrew Kent 5f8a83486a Play instrumentation cleanup
Simplify error collecting. Use slf4j to log. randomOpenPort util.
2018-04-02 17:54:22 -07:00
Tyler Benson a1a2a0db27 Improve naming for instrumentation class. 2018-03-30 10:54:15 +08:00
Tyler Benson 513cded8aa Advice shouldn’t reference fields from non-injected classes
It might not be accessible on the classpath and cause failures.
2018-03-30 10:50:07 +08:00
Tyler Benson 71eb71e53e Enable instrumentation by default and rev version. 2018-03-29 11:46:15 +08:00
Andrew Kent 772872bcb5 Play Instrumentation 2018-03-28 10:26:57 -07:00
Andrew Kent 457cddbb28 Add missing helper to servlet2 helper injector 2018-03-23 16:53:43 -07:00
Andrew Kent 288c9e20de
Merge pull request #269 from DataDog/run_single_idea_test
Remove opentracing from TestRunner fields to support Idea single test run
2018-03-23 08:32:53 -07:00
Andrew Kent a004337576 Remove opentracing from TestRunner fields to support single test run 2018-03-22 21:16:36 -07:00
Tyler Benson aeb1f073a3 Better support for TIbco Temporary Queues/Topics
When consuming, tibco JMS client doesn’t properly identify temporary destinations with the proper type, so we must rely on the name to determine if it is temporary.
2018-03-23 11:53:04 +08:00
Andrew Kent 3eac216a04 Use defaultTransformers in all instrumentation 2018-03-20 15:59:11 -07:00
Andrew Kent 0714139b31
Merge pull request #264 from DataDog/ark/bs-testing
Akka Instrumentation
2018-03-20 09:42:18 -07:00
Andrew Kent 714afba71b Akka actor instrumentation 2018-03-20 09:31:54 -07:00
Tyler Benson 07694a1f99 Remove dead code. 2018-03-20 14:02:23 +08:00
Tyler Benson 19b94da7bb JAX-RS Client Tracing 2018-03-20 08:54:09 +08:00
Andrew Kent c529c06801 Ignore failures to instrument proxy classes 2018-03-19 16:07:45 -07:00
Andrew Kent 84081dc980 Move logger to test bootstrap 2018-03-19 16:07:45 -07:00
Andrew Kent 5a97c1e5bb Copied scala tests over from integration tests 2018-03-19 16:07:45 -07:00
Andrew Kent 84fe1fc0e3 Organize bootstrap and agent classes by known prefix. 2018-03-15 12:17:03 -07:00
Andrew Kent 878d92f5b2 Test under custom classloader 2018-03-15 12:17:03 -07:00
Andrew Kent 10e12a666a Use builtin decorators for every DDTracer 2018-03-13 12:46:48 -07:00
Andrew Kent b5b38ee4b1 Mark all http status codes 5xx as an error. 2018-03-13 12:46:48 -07:00
Andrew Kent b5759bd15c Add decorators to servlet tests 2018-03-13 12:46:48 -07:00
Tyler Benson bbb0da22ab SpringWebErrorHandler capture stacktrace, but not set error
We will rely on a decorator instead to do so.
2018-03-13 12:07:31 +10:00
Andrew Kent c3c76c81e6 Trap agent errors in DDTracingClientExec 2018-03-12 16:33:13 -07:00
Tyler Benson 0fbec69b6d
Merge pull request #253 from DataDog/tyler/traceinterceptor
Implement the TraceInterceptor API
2018-03-13 08:30:01 +10:00
Andrew Kent 428e304164 Rename ContextPropagator to TraceScope 2018-03-12 10:29:50 -07:00
Andrew Kent 45aff57740 Assert on executor span relationships 2018-03-09 12:59:12 -08:00
Andrew Kent 21180530ea Remove opentracing from dd-trace-api 2018-03-09 11:50:39 -08:00
Andrew Kent 81b70fb0e4 Disable async instrumentation by default. 2018-03-09 11:50:39 -08:00
Andrew Kent 4a11fc6d96 Whitelist Executor Instrumentation 2018-03-09 11:50:39 -08:00
Andrew Kent 9a83413141 Executor Instrumentation for Scala 2018-03-09 11:50:39 -08:00
Tyler Benson fb74c7b4cb Wrap super/parent type matchers in failSafe
To prevent errors on injected classes.
2018-03-09 14:45:08 +10:00
Tyler Benson 286e9d2d00 Add instrumentation to catch additional classloaders.
Still doesn’t work with Spring Boot because the way they structure their Jars.
2018-03-09 14:32:41 +10:00
Tyler Benson c99f10c0d2 Decouple trace flush from collection
Wait until all spans are finished or garbage collected before reporting trace.
2018-03-09 14:31:48 +10:00
Tyler Benson f31632be33 Remove deprecated usage. 2018-03-09 14:31:48 +10:00
Tyler Benson 5d1297f125 Extract a trace out to a specific class
Rather than it just be a list of spans…
This allows for tracking of if the trace was reported or not, and in the future to do so independently of finishing the span.
2018-03-09 14:31:48 +10:00
Tyler Benson 9b1d454eb9 Combine Threadlocal and RefCounting into single Scope
Also added additional tests.
2018-03-09 14:31:48 +10:00
Andrew Kent b2af7491a8 Remove Jackson from AWS Helper class 2018-03-02 13:01:31 -05:00
Tyler Benson 4c66bc8ed2 Use nanotime for additional clock resolution
If a start or stop timestamp on a span is provided, the nanotime is ignored.
2018-02-23 13:13:34 +10:00
Tyler Benson 163b285868 Rename to jedis-1.4 since that’s the earliest working version
Also change instrumentation binding for better coverage.
2018-02-23 13:04:46 +10:00
Tyler Benson f4d2e6f600 Merge branch 'master' into jedis 2018-02-22 16:44:44 +10:00
Tyler Benson 574ba6d954
Merge pull request #237 from DataDog/tyler/set-timeout
Set timeouts on all the tests.
2018-02-22 13:16:04 +10:00
Tyler Benson 903248ddf2 Set timeouts on all the tests. 2018-02-21 12:09:57 +10:00
Tyler Benson a3a70e6ea3 Remove unneeded dependency on dd-trace-ot. 2018-02-21 12:08:05 +10:00
gihad 44dd384648 reusing declared values to make tests more roboust 2018-02-18 08:38:47 -05:00
gihad 692b6e7508 removed tabs for spaces 2018-02-18 08:24:54 -05:00
gihad 3613b9bd7d removed unused import 2018-02-17 22:35:45 -05:00
gihad 7c42e2e791 Added jedis instrumentation integration tests with embedded redis 2018-02-17 21:30:18 -05:00
Andrew Kent c118e1b73d Move SpringBootBasedTest to package folder. 2018-02-16 13:42:27 -08:00
Andrew Kent c6e883e042 Move bootstrap prefixes to classloader matcher 2018-02-15 19:17:19 -08:00
Andrew Kent 64e2173bf7 Set bootstrap delegation for osgi classloading 2018-02-15 19:17:19 -08:00
Andrew Kent 1820fbcbfd Bootstrap delegation for wildfly/jboss 2018-02-15 19:17:19 -08:00
Andrew Kent dd19b07017 Spock classloading tests 2018-02-15 19:17:19 -08:00
Andrew Kent a28a7abd4e Run api classes on bootstrap and core agent on custom classloader 2018-02-15 19:17:19 -08:00
Andrew Kent cfef64b026 Reorganize dd-java-agent subprojects 2018-02-15 18:55:02 -08:00
Tyler Benson c9da16f334 Add resource naming instrumentation for jax-rs 2018-02-14 19:18:01 +10:00
Gihad Murad fb7a81c2bd Removed unused tag, extended Instrumenter.Configurable (disabled by default) 2018-02-13 17:56:36 -05:00
Gihad Murad 7e82985d3c Merge branch 'master' into jedis 2018-02-13 11:58:14 -05:00
Tyler Benson 3ec70ac026 Add instrumentation for spring error handling
Also add additional tests for spring boot
2018-02-13 09:07:53 +10:00
Tyler Benson 1069922233 Add additional tags for aws requests 2018-02-08 15:12:17 +10:00
Tyler Benson 3e57a7a7ea Move servlet tests to individual modules. Fix servlet 2 instrumentation.
Turns out we weren’t actually servlet 2 compatible.  That should be fixed now.  Unfortunately it appears servlet 2 also doesn’t expose the http response code, so we aren’t able to set it as a tag without custom instrumentation for each framework.

I also removed our log4j2 stuff since we’re using logback.
2018-02-08 09:27:04 +10:00
Tyler Benson 1bfceb0d53 Use Field.ERROR_OBJECT instead of string 2018-02-07 12:02:10 +10:00
Andrew Kent b557776bcf
Merge pull request #217 from DataDog/tyler/ipv4-string
Use string instead of int representation for IPv4
2018-02-06 09:25:20 -08:00
Tyler Benson 0ca6082a6e Use string instead of int representation for IPv4 2018-02-06 17:30:44 +10:00
Tyler Benson a311d5f57d Change AWS instrumentation to use constructor
Instead of requiring the builder.
2018-02-06 15:01:50 +10:00
Tyler Benson 7d28a32fba Allow instrumentation to be disabled
By default, instrumentation is enabled, and can be disabled by default by overriding the `defaultEnabled` method. Instrumentation can also be disabled individually or enabled when default is disabled.
2018-02-06 11:20:05 +10:00
Gihad Murad 1d35938996 Merge branch 'master' into jedis 2018-02-05 13:00:13 -05:00
Gihad Murad cef86291e3 Added Redis instrumentation via Jedis client 2.9 and changed spring-boot-jdbc to spring-boot-jdbc-redis 2018-02-05 12:59:42 -05:00
Tyler Benson 4314f71ab7 Kafka and Kafka Streams instrumentation
This includes propagation and traces for producers and consumers.
2018-02-01 20:04:40 +10:00
Andrew Kent 8d53e4703d Set span.type for all integrations. 2018-01-31 16:13:41 -08:00
Andrew Kent 7920cc9d8e Set span.type tag 2018-01-31 12:22:43 -08:00
Tyler Benson 13c774e7ff Fix AWS integration
Handler was being added on builder return, which was too late.  It appears it would have also failed if an existing handler resulted in a unmodifiable list to be returned.
2018-01-31 10:18:51 +10:00
Tyler Benson 29ffdf7354 Change escape sequence since SQS doesn’t like $ characters. 2018-01-31 08:14:02 +10:00
Tyler Benson c1f73c194e Prevent headers from being added for AWS client calls 2018-01-30 11:20:17 +10:00
Andrew Kent 140c3add96
Merge pull request #205 from DataDog/ark/aws_base_instrumentation
aws base instrumentation
2018-01-25 17:55:41 -08:00
Andrew Kent d731789d38 Remove copy-paste from spring and trace instrumentation 2018-01-25 09:47:14 -08:00
Andrew Kent 839ed9f0cb Use a thread-safe synchronized weak hash map. 2018-01-25 09:47:14 -08:00
Andrew Kent f5d1eef72a Match All AWS Builder subclasses.
Match All AWS Builder subclasses. Also fix bug of potentially
replacing configure request handlers when we add the dd request handler.
2018-01-25 09:39:43 -08:00
Tyler Benson ce9e5dd3de Reenable java 7 and 9 CI
Also try to make it so builds can be rerun independently by not using the workspace.
2018-01-23 15:54:05 -05:00
Tyler Benson 6fbe494934 Exclude tests that are Java 9 incompatible. 2018-01-23 14:59:10 -05:00
Tyler Benson 9acbe5710e
Merge pull request #198 from DataDog/tyler/update
Update dependencies
2018-01-22 16:47:50 -05:00
Tyler Benson 53a575dc74 Update dependencies 2018-01-22 15:08:28 -05:00
Tyler Benson 64d39030e5 Use workflows in Circle to test Java 7 and 8
Java 9 is commented out because there are some test failures that will be investigated later.

Some tests had to be excluded from Java 7 because they don’t have a Java 7 compatible version.
2018-01-22 13:46:50 -05:00
Tyler Benson f0d333c2ec Defend against potential NPEs
If `HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE` happens to be missing.
2018-01-19 15:48:12 -05:00