Commit Graph

119 Commits

Author SHA1 Message Date
Tyler Benson 847484cd47 Use WeakConcurrentMap
Instead of `Collections.synchronizedMap(new WeakHashMap<>())`.
2018-08-06 14:14:57 +10:00
Tyler Benson 064ae4c238 Separate span for input and output streams. 2018-08-03 15:41:16 +10:00
Tyler Benson ff9ef671f3 Apply formatter on groovy files. 2018-07-31 12:09:28 +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
Nikolay Martynov 3f158bb47f Fix `SpockRunner` BootstrapJar creation under Java9+ 2018-07-26 10:01:55 -04:00
Gary Huang 6317b21d5c Fix merge conflicts with service mapping change 2018-07-26 09:16:41 -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 6932d581ed Add some helpful messages to AgentTestRunner assertions 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 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
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
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 12a2fce96d Upgrade java formatter version. 2018-07-19 14:10:53 +10:00
Andrew Kent 2925df8de5 Clean up and document 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 02a3e6a5d3 New Instrumentation API 2018-07-06 17:17:32 -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
Tyler Benson 43e31eae80 Separate out instrumentation for netty 4.0 from 4.1 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 5a77ac3749 akka-http sync and async tests 2018-06-15 12:48:57 -07:00
Andrew Kent f28445c45f CorrelationIdentifier for MDC frameworks. 2018-06-14 15:33:15 -07: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 2e5007fbd8 Fix function name in TagsAssert 2018-06-06 10:43:23 -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 de74eb1938 Add additional metadata to ES client calls. 2018-05-25 13:58:44 +10: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 dc814aeb6d Fix tests. 2018-05-11 15:19:30 +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 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 f35e2e6ebe Remove various warnings and other cleanup
Also upgrade some plugins.
2018-05-04 14:05:06 +10:00
Tyler Benson be34eaf032 Instrument HystrixCommand and HystrixThreadPool 2018-05-04 14:03:48 +10:00
Tyler Benson 84b7080860 Fix AgentInstaller ignores and @Trace naming 2018-05-03 13:03:53 +10:00
Tyler Benson 63d308e50d Misc cleanup/minor changes 2018-05-01 10:24:14 +10:00
Andrew Kent 5f8a83486a Play instrumentation cleanup
Simplify error collecting. Use slf4j to log. randomOpenPort util.
2018-04-02 17:54:22 -07:00
Andrew Kent a004337576 Remove opentracing from TestRunner fields to support single test run 2018-03-22 21:16:36 -07:00
Andrew Kent 123c5beab3 Enable instrumenting old java bytecode 2018-03-20 15:59:11 -07:00
Andrew Kent 714afba71b Akka actor instrumentation 2018-03-20 09:31:54 -07:00
Andrew Kent 84081dc980 Move logger to test bootstrap 2018-03-19 16:07:45 -07:00
Andrew Kent ce4dc58d7b Fix java9 test setup 2018-03-15 16:42:00 -07:00
Andrew Kent eac73467a7 Remove isolated agent test runner notes 2018-03-15 13:23:57 -07:00
Andrew Kent 28a350d7c1 Allow loading agent classes. 2018-03-15 12:17:03 -07:00
Andrew Kent 46a7c7c8c1 Run tests in a custom classloader with bootstrap classpath 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 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
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 6f088ddd53 Remove trace decorator yaml config 2018-01-31 16:13:41 -08:00
Andrew Kent 8d53e4703d Set span.type for all integrations. 2018-01-31 16:13:41 -08:00
Andrew Kent 13b0df8aca Apply default decorators in unit tests 2018-01-31 12:22:43 -08:00
Tyler Benson d68b9703fb Ensure helper classes are injected in a fixed order
This is important if they depend on each other. If the child loads first, the parent could get loaded on the wrong classloader before itself gets injected.
2018-01-16 15:12:34 -05:00
Tyler Benson b2b61e0c8c Changes required for supporting OT 0.31.0
Also updates all the contrib versions that we currently depend on to their 0.31.0 supporting versions.
2018-01-16 09:52:28 -05:00
Tyler Benson 6d3d88987b Rename dd-trace-annotations to dd-trace-api
And move DDTags over to it.
Move some `datadog.trace.api` classes over to `datadog.trace.common`.
Other misc renaming.
2018-01-09 10:07:36 +10:00
Tyler Benson becf2a5862 Lots of renaming
Module:
dd-trace -> dd-trace-ot

Packages:
Standardize on `datadog.trace` and `datadog.opentracing` as the package prefixes.
2018-01-09 10:02:06 +10:00
Andrew Kent d315f43dad Remove AgentTestRunner custom classloader.
BytebuddyAgent install already handles class retransformation, make
the custom classloader redundant.
2017-12-28 09:46:58 -08:00
Andrew Kent 1c08933bc7 AgentTestRunner doc 2017-12-28 09:46:58 -08:00
Andrew Kent ca574071ff New AgentTestRunner to auto-instrument spock tests 2017-12-28 09:46:58 -08:00
Andrew Kent 99442cdca7 Agent Testing Project 2017-12-28 09:46:08 -08:00