Commit Graph

268 Commits

Author SHA1 Message Date
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
Tyler Benson 871ce37f80 Migrate JMS to Byte Buddy and add JMS 1 support
This does not yet include instrumentation for MessageListener.
I think there is actually no difference between the instrumentation so we should combine them.
I also added TEXT_MAP as a format that maps to the HTTP Codec.  There is some remapping inside the instrumentation to remove dashes before setting as a property.  This should also be changed when an official format is defined.

This also currently has a problem with Spring Boot applications as the JMS Util references classes not on the system classpath (it needs to be injected into the child classpath)
2017-11-17 12:06:30 -08:00
Andrew Kent b85b9b0c5d drop opentracing-mongo dependency 2017-11-13 10:34:07 -05:00
Andrew Kent dd8f71e164 MongoHelper query scrubber test 2017-11-13 10:34:07 -05:00
Andrew Kent 9cb097b783 Replace TracingCommandListener with DDTracingCommandListener 2017-11-13 10:34:07 -05:00
Tyler Benson ff4f39779e Fix transitive dependencies
New instrumentation was bringing in their dependencies into the jar, resulting in a much larger jar file.  This should resolve that.
2017-11-10 11:45:00 -05:00
Tyler Benson 66355feddb
Merge pull request #148 from DataDog/tyler/remove-super-matchers
Migrate expensive integrations using super matchers to byte buddy.
2017-11-10 09:42:48 -05:00
Tyler Benson 51f903acd6 Ensure helpers are injected on a classloader that has instrumented code. 2017-11-09 15:34:05 -05:00
Tyler Benson 294320acb5 Add exception handling and supression for advice.
Also centralize classloader matching.
2017-11-09 14:45:03 -05:00
Tyler Benson f61935452b Handle case where SQL is not saved in map properly.
Otherwise this could result in an NPE.
2017-11-08 14:54:32 -05:00
Tyler Benson e96c084b51 Migrate aws instrumentation to byte buddy. 2017-11-06 14:25:28 -08:00
Tyler Benson e5924b3fe9 Migrate servlet instrumentation to byte buddy. 2017-11-06 11:28:06 -08:00