Commit Graph

677 Commits

Author SHA1 Message Date
Tyler Benson db47fde8d1 Group Elasticsearch instrumentation into common folder
Also migrate to decorator.
2019-02-22 13:28:11 -08:00
Tyler Benson f04d113ecb Make decorators public and add tests 2019-02-22 09:42:53 -08:00
Tyler Benson dd35372a72 Add Cassandra decorator 2019-02-21 15:43:12 -08:00
Tyler Benson 9c8e689b6d Add decorator for couchbase instrumentation 2019-02-21 15:27:26 -08:00
Tyler Benson 8f9ea87ef6
Merge pull request #723 from DataDog/tyler/aws-decorators
Migrate AWS SDK instrumentation to decorators
2019-02-21 12:37:05 -08:00
Tyler Benson 0d9e6ad97a
Merge pull request #722 from DataDog/tyler/akka-apache-decorators
Akka and Apache HttpClient migrate to decorators
2019-02-21 12:27:53 -08:00
Tyler Benson fb304a110d Migrate AWS SDK instrumentation to decorators 2019-02-21 12:11:42 -08:00
Tyler Benson dfe5cb57b2 Servlet migrate to decorators 2019-02-20 17:35:41 -08:00
Tyler Benson 13e708ec42 Akka and Apache HttpClient migrate to decorators 2019-02-20 17:02:05 -08:00
Tyler Benson a98c22ac3a Introduce base decorators 2019-02-20 16:11:18 -08:00
Tyler Benson a7ebc9b3db Deprecate WEB_SERVLET type 2019-02-20 08:42:39 -08:00
Nikolay Martynov dd7981871f Limit ES-rest tests to 6.x.x versions
It looks like beta 7.x.x was released and our instrumentation doesn't
work with it at the moment.
2019-02-14 17:43:44 -05:00
Nikolay Martynov 8e1382b4e4 Improve webflux integration
Add support for tracing Mono/Flux
2019-02-14 16:59:59 -05:00
Nikolay Martynov 13005d72cb Add reactor-core instrumentation 2019-02-14 16:59:56 -05:00
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