Commit Graph

663 Commits

Author SHA1 Message Date
Nikolay Martynov bae2d7dde8 Allow non-wrapped tasks in disabled executors
Some executors cannot handle tasks that have been wrapped into
`{Runnable,Callable}Wrapper` because they require certain subclass of
`{Callable,Runnable}` in order to work. We have a test that
effectively disables instrumentation for such executors.

This change makes sure that tasks that do not need to be
wrapped (which essentially means anything that is not lambda) still
get traced in such executors. One notable example of affected executor
type is `ScheduledThreadPoolExecutor`.
2019-02-11 11:47:34 -05:00
Nikolay Martynov 3a0a471dd5 Close future's continuation on cancel even if future itself was not cancelled 2019-02-08 20:13:32 -05:00
Nikolay Martynov 931e6ff8af
Merge pull request #688 from DataDog/mar-kolya/webflux-fixes
Fix webflux integration to not rely in active span
2019-02-07 12:45:50 -05:00
Nikolay Martynov a46d6a2e8f Use config inheritance in `withConfigOverride`.
This moves us forward to abstract 'Config' and away from depending in
specific config data source (e.g. system properties).
2019-02-05 15:51:05 -05:00
Tyler Benson 12e7efc0b9 Review fixes 2019-02-05 11:58:36 -08:00
Tyler Benson bbcd2f6949 Move other Utils to utils package 2019-02-05 11:43:05 -08:00
Tyler Benson 6aa371d790 Encapsulate config override reflection 2019-02-05 11:30:07 -08:00
Tyler Benson 6cebabbada Move integrations config to Config class. 2019-02-05 08:20:49 -08:00
Tyler Benson 1a54e8179a Add setting to set service name by domain for http clients
This will allow better metric collection and identification of trends for individual services/hosts.

This is not enabled by default because it can result in a high cardinality of services.
2019-02-05 08:20:49 -08:00
Nikolay Martynov a086f38f2f Fix webflux integration to not rely in active span
Netty event loop instrumentation doesn't allow us to attribute work to
correct span so we have to maintain that manually.
2019-02-05 10:38:21 -05:00
Nikolay Martynov f84e510f3e Increase timeouts in JMS test to try to make it more stable 2019-02-05 10:10:49 -05:00
Nikolay Martynov b25784e7a2 Make test results in netty-4.0 client tests more readable 2019-02-04 15:39:42 -05:00
Will Gittoes 99e4e52600
Fix style 2019-02-01 09:29:05 +11:00
Will Gittoes a44b59bb14
Hard-code Hystrix operation (span) name, leaving the resource name dynamic 2019-01-31 14:30:08 +11:00
Will Gittoes 57bae1688e
Review comments 2019-01-31 09:15:30 +11:00
Will Gittoes 56aaccb0c2
Remove commented code 2019-01-30 17:42:41 +11:00
Will Gittoes f15a2ffd79
Add support for ES rest client 6.3 and above 2019-01-30 17:39:20 +11:00
Nikolay Martynov ee3788bfdc
Merge pull request #672 from DataDog/mar-kolya/more-forkjoin-instrumentations
More ForkJoin instrumentations
2019-01-28 14:01:03 -05:00
Nikolay Martynov f8aed7aec7 Provide seprate instrumentation names for Akka and Scala ForkJoin instrumentations 2019-01-28 11:29:59 -05:00
Nikolay Martynov f7844f763c Instrument Akka and Scala ForkJoinTask and ForkJoinPool 2019-01-25 16:15:48 -05:00
Nikolay Martynov a3219639a0 netty 4.0: improve request uri parsing 2019-01-25 15:58:25 -05:00
Nikolay Martynov d4943eb2b6 netty 4.0: do not modify headers in aws request 2019-01-25 15:58:22 -05:00
Nikolay Martynov 5029660418 netty 4.0: consolidate netty config names 2019-01-25 15:50:28 -05:00
Nikolay Martynov b3ad700b34
Merge pull request #666 from DataDog/mar-kolya/aws-sdk2
Initial AWS2 SDK instrumentation
2019-01-25 13:01:32 -05:00
Nikolay Martynov a0dee2cd88
Merge pull request #674 from DataDog/mar-kolya/catch-exception-in-servlet-context-getter
Catch exception in servlet context getter.
2019-01-25 12:55:32 -05:00
Nikolay Martynov 4fb94b8368 AWS2 SDK: Remove class loader matcher that is no longer needed 2019-01-25 12:53:00 -05:00
Nikolay Martynov 4ba0adfab3 Catch exception in servlet context getter.
Request may finish after check has been perform but before context has
been read leading to exception in some implementations.
2019-01-25 12:28:58 -05:00
Nikolay Martynov 62402a6426 AWS SDK2 instrumentation 2019-01-25 12:02:31 -05:00
Nikolay Martynov 04fbb5085f Improve OSGi class loader instrumentation
It turns out that Eclipse's OSGi implementation has two problems:
* It doesn't respect system properties by default
* It has tricky classloader implementation that loads bootstrap
  classes from the classloader-has-delegation-to-bootstrap check but
  doesn't load bootstrap classes from 'normal' code.

This should address second problem and make Eclipse's OSGi
implementation 'safe' by default.
2019-01-25 08:52:07 -05:00
Nikolay Martynov 76999fc9f9 Improve AWS1.x SDK integration
For AWS11.x SDK make sure that http client span is actually a child of
aws span.
2019-01-24 17:28:03 -05:00
Nikolay Martynov 7b0e3ffd1c netty 4.1: consolidate netty config names 2019-01-24 17:28:03 -05:00
Nikolay Martynov cb1313ea9a netty 4.1: do not modify headers in aws request 2019-01-24 17:28:03 -05:00
Nikolay Martynov 07d10e2374 netty 4.1: improve request uri parsing 2019-01-24 17:28:03 -05:00
Nikolay Martynov 6ab5b121f5 Handle ForkJoinTask in concurrent instrumentation 2019-01-24 17:28:00 -05:00
Nikolay Martynov af15b17f1c Remove unnecessary helper from FutureInstrumentation 2019-01-23 22:31:59 -05:00
Tyler Benson 0a89074f60
Merge pull request #653 from marcoferrer/instrument-kt-coroutine-scheduler
Add support for instrumenting kotlin coroutine schedulers
2019-01-22 10:31:32 -08:00
Marco Ferrer 5096ac35b6 address ci errors 2019-01-21 14:12:44 -05:00
Marco Ferrer 7819430620 add mavenCentral to plugin repos 2019-01-21 12:26:46 -05:00
Marco Ferrer d7319cd76d add tests for kt cancellation and channels 2019-01-21 11:59:54 -05:00
Andrew Kent 5f70ebfec5
Merge pull request #657 from DataDog/ark/fix-log-manager-test-race-condition
Play nice with Java's LogManager across all JVMs
2019-01-18 19:50:12 +00:00
Tyler Benson fe3ebceba9 Add jackson smile dep for old ES tests. 2019-01-16 13:27:04 -05:00
Andrew Kent 6ffaa9e04f Remove jre logging integration 2019-01-16 08:59:10 -08:00
Nikolay Martynov 1b1f620318 Improve Vertx test stability
By actiually waiting for test server to start listening.
2019-01-11 12:14:17 -05:00
Marco Ferrer 63c28cef31 add kotlin test config to java-concurrent project 2019-01-09 19:20:31 -05:00
Marco Ferrer a31abc67e9 add support for instrumenting kotlin coroutine schedulers 2019-01-09 19:04:42 -05:00
Nikolay Martynov 354cbfcb2d Concurent instrumentation tests: block thread before starting tracing
Otherwise blocking thread is pretty much useless since we may still
get spans if threads are executed quickly enough.
2019-01-08 12:30:18 -05:00
Nikolay Martynov 06bd670f0a Remove unused class 2019-01-08 12:30:10 -05:00
Nikolay Martynov 93b018b4cc Use port 61 for unused port in akka tests
This port is in low range and is not assigned so nothing should really
be listening on it on any host.
2019-01-08 12:04:50 -05:00
Tyler Benson 7da0cc7f50
Merge pull request #645 from DataDog/tyler/instrumenter-signature
Apply proper generic signature for Instrumenter.Default transformers()
2019-01-07 14:18:52 -08:00
Tyler Benson c18b299606 Also exclude test coverage from instrumentation 2019-01-04 15:25:36 -08:00