Commit Graph

279 Commits

Author SHA1 Message Date
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
Andrew Kent b231306f57 init global tracer in premain 2017-12-08 16:56:43 -08:00
Andrew Kent 394f36d700 Fix idea compile for mongo modules 2017-12-08 14:15:36 -08:00
Tyler Benson 003b7d1caf Extract test classes for benchmark testing. 2017-12-08 12:58:46 -08:00
Andrew Kent 42832e77f5 Add agent's classloader to default instrumentation location strategy
The transformer needs the agent's classloader to resolve advice
classes at transform time. Also stop using reflection to register classloads.
2017-12-08 09:40:14 -08:00
Andrew Kent 6a646009fa Test system class sibling classloader
Test cases where the classloader of the instrumented class cannot
resolve agent advice classes.
2017-12-08 09:34:16 -08:00
Andrew Kent 34791bbdbf Move common instrumentation advice settings into DDAdvice 2017-12-08 09:34:16 -08:00
Tyler Benson 6f985c15bf Remove Byteman now that instrumentation is migrated
At some point, we should refactor the managers since this leaves them in an awkward state.
2017-12-07 13:11:26 -08:00
Tyler Benson 2e6ff44976 misc cleanup 2017-12-07 12:06:58 -08:00
Tyler Benson d933a4049a Move OkHttp instrumentation to byte buddy 2017-12-06 18:07:17 -08:00
Tyler Benson f807a5da18
Merge pull request #163 from DataDog/tyler/jmh-retransform
Add JMH Benchmarks
2017-12-06 08:04:07 -08:00
Tyler Benson 78210d6e42 Add additional cases for benchmarking. 2017-12-05 16:10:29 -08:00
Tyler Benson caf3953360 Add JMH Benchmarks 2017-12-04 17:30:54 -08:00
Andrew Kent 6fa303058f ApacheHttpClient bytebuddy instrumentation and tests. 2017-12-01 10:54:32 -08:00
Andrew Kent b6d9c13d0c Make cassandra matching stricter 2017-11-29 09:11:31 -08:00
Tyler Benson 3ea7ad73ed Fix version scan plugin
Now you can run `./gradlew :dd-java-agent:integrations:datastax-cassandra-3.2::scanVersionsReport -PshowClasses` to show you the classes you can use for that version range.
2017-11-28 18:34:56 -08:00
Andrew Kent 7298b0a31a Convert datastax cassandra instrumentation to bytebuddy 2017-11-28 17:01:04 -08:00
Andrew Kent 47b1eec6da Mongo Async Instrumentation and embedded mongo tests. 2017-11-27 09:18:49 -08:00
Andrew Kent 86a76ec588 Convert Mongo instrumentation to ByteBuddy 2017-11-27 09:18:49 -08:00
Tyler Benson 9ba647a2ac Add instrumentation for MessageListener 2017-11-17 16:02:09 -08:00