Commit Graph

398 Commits

Author SHA1 Message Date
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 d0982ada9d Skip unsafe classloaders. 2018-02-15 19:17:19 -08:00
Andrew Kent 4a1db505db Enhance logging and cleanup. 2018-02-15 19:17:19 -08:00
Andrew Kent dd19b07017 Spock classloading tests 2018-02-15 19:17:19 -08:00
Andrew Kent a692d42d3c Move DatadogClassloader to bootstrap 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
Andrew Kent bff9ae2f4e Disable Kafka Instrumentation 2018-02-05 10:42:48 -08: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
Andrew Kent d703095717 Patch getLogger calls to safe logger. 2018-02-04 12:09:11 -08: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 228f896bb6 Move default decorators to code 2018-01-31 13:18:28 -08:00
Andrew Kent 13b0df8aca Apply default decorators in unit tests 2018-01-31 12:22:43 -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
Andrew Kent 09d4cc4f6d Use datadog prefix to configure test logger. 2018-01-24 14:01:23 -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
Andrew Kent c056a910c2
Merge pull request #199 from DataDog/ark/fix_perftest
Perf test main class rename
2018-01-23 08:58:23 -08:00
Andrew Kent 255309791d Perf test main class rename 2018-01-22 17:54:11 -08:00
Tyler Benson 9acbe5710e
Merge pull request #198 from DataDog/tyler/update
Update dependencies
2018-01-22 16:47:50 -05:00
Andrew Kent b0737e6a88
Merge pull request #196 from DataDog/ark/log_exception_handler
log exception handler
2018-01-22 12:52:57 -08:00
Ark 2d937d89c8 Exception Handler Tests 2018-01-22 12:19:55 -08:00
Ark 157801d742 Custom ByteBuddy advice exception handler 2018-01-22 12:19:55 -08: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
Tyler Benson 111c5ee689 Fix wrong class name being injected 2018-01-17 15:09:42 -05:00
Andrew Kent 11a2d3bdd4 Fix helpers for httpclient, and servlet3 2018-01-16 16:10:28 -05: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
Tyler Benson eeb17c4522 Move @Trace and JDBC instrumentation to individual modules 2018-01-04 16:20:26 +10:00
Andrew Kent f1fa1370f9
Merge pull request #180 from DataDog/ark/macro-benchmarks
macro benchmarks
2018-01-02 14:04:13 -08:00
Tyler Benson 596a1abc65 Fix types for Intellij
Idea doesn’t like the vararg representation of `TypeDescription.Latent`.  Using an empty list is the same behavior and doesn’t get the errors.
2018-01-03 07:27:46 +10:00
Andrew Kent 905bdb1cc1 sleepTimeMS -> workTimeMS 2018-01-02 12:17:18 -08:00
Andrew Kent 9de6417f87 Allow for run-perf-test.sh custom settings. 2018-01-02 12:17:18 -08:00
Andrew Kent feab10ad9f Update benchmark-integration instructions 2018-01-02 12:17:18 -08:00
Andrew Kent ef3ba8be60 Move dd-java-agent-perftest to dd-java-agent subproject. 2018-01-02 12:17:18 -08:00
Andrew Kent 1a80e4457d Remove unused listener option 2017-12-28 09:46:58 -08: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 d0658085bf Convert Cassandra IntegrationTest to AgentTestRunner+spock 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 9d79531f59 Move bytebuddy agent setup into tooling 2017-12-28 09:46:08 -08:00
Andrew Kent 99442cdca7 Agent Testing Project 2017-12-28 09:46:08 -08:00
Andrew Kent 981e660b5e Only add integration dependencies when building agent shadowJar 2017-12-28 09:46:08 -08:00
Andrew Kent 5701601ad9 Fix potential flicker for jms2 test 2017-12-27 18:01:11 -08:00
Tyler Benson eca6d89591 Fix flickering test. 2017-12-26 12:39:09 -08:00
Tyler Benson 5dda6844a5 Change point where servlet instrumentation is applied
This new point will capture responses returned by filters, not just the servlet target.
2017-12-26 12:27:39 -08:00
Tyler Benson 02460060bc Misc cleanup
Remove out of date “async-tracing” example since it’s more about byteman and no longer relevant.

Minor changes to improve the code test coverage…
2017-12-21 16:31:03 -08:00
Tyler Benson 4822c19c5d Remove legacy config references. 2017-12-21 16:28:18 -08:00
Andrew Kent 5acd650efe
Merge pull request #174 from DataDog/ark/instrumentation_modules
Move Helper Classes into their specific instrumentation modules
2017-12-19 17:24:19 -08:00
Tyler Benson d6056a3c27 Fix jersey servlet instrumentation which overrides method
Jersey doesn’t seem to delegate to the original method on HttpServlet, which causes those methods to not be traced properly.

This is impacting dropwizard applications which uses Jersey with embedded Jetty.
2017-12-19 16:53:58 -08:00
Andrew Kent faf63bac9d Don't load classes on agent classloader during injection 2017-12-19 16:52:10 -08:00
Andrew Kent 75edd2bee4 Initialize AgentVersion classes in global tracer init 2017-12-19 16:00:03 -08:00
Andrew Kent f5ecd47379 Remove dead code 2017-12-19 09:06:38 -08:00
Andrew Kent e9b6f5278d Initialize GlobalTracer in TracingAgent 2017-12-19 09:06:38 -08:00
Andrew Kent 069f481884 Don't inject helpers into the same classloader twice 2017-12-18 16:44:12 -08:00
Andrew Kent 887a864118 Automatically pull integrations into the agent 2017-12-18 16:44:12 -08:00
Andrew Kent f68406113a Remove helpers from agent 2017-12-18 16:44:12 -08:00
Andrew Kent 0abf3f342d Use HelperInjector to include instrumentation helper classes.
Move instrumentation helpers out of helpers subproject and into the
appropriate instrumentation module.
2017-12-18 16:44:12 -08:00
Andrew Kent 876ea794e9 Helper Injector Transformer 2017-12-14 18:40:40 -08:00
Andrew Kent 5a57623fb6 Helper Injection test 2017-12-14 18:40:40 -08:00
Andrew Kent b5c2a3af63 reuse class file locator for DDAdvice 2017-12-14 18:40:40 -08:00
Andrew Kent 7f643ab680 Move jar utils to TestUtils 2017-12-14 18:40:40 -08:00
Andrew Kent 9d933d2109 Skip c3p0 proxy classes. 2017-12-11 08:17:59 -08:00
Andrew Kent 95550ac9d6 Save connection info after connection construction. 2017-12-11 08:17:59 -08:00
Andrew Kent 28bc1e703e
Merge pull request #172 from DataDog/tyler/benchmark
Improve benchmarks to highlight more interesting differences
2017-12-10 08:20:37 -08:00
Andrew Kent 9fbe70228f
Merge pull request #171 from DataDog/ark/tracer_init
init global tracer in premain
2017-12-10 08:09:04 -08:00
Tyler Benson e6895e4f6c Improve benchmark and caching optimizations. 2017-12-08 19:17:59 -08:00