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
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
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
Tyler Benson
4199d123c2
Better null handling for JDBC instrumentation
...
This also reduces the log noise for transformation issues around synthesized classes.
2017-11-01 11:30:05 -07:00
Tyler Benson
e8bbc849bb
Set resource name using the route pattern from spring.
...
This provides a better static resorce name than trying to conjure one out of the original URL.
2017-10-30 13:24:18 -07:00
Tyler Benson
cacba43435
Use byte buddy for @Trace instead of byteman.
2017-10-26 14:45:16 -07:00
Tyler Benson
25029b4109
Add integration tests for in-memory jdbc drivers.
2017-10-25 10:37:37 -07:00
Tyler Benson
14b834a358
Ignore generic classes and proxy classes
2017-10-25 10:36:37 -07:00
Tyler Benson
0d64192d91
Set resource name and span type correctly.
2017-10-24 10:28:53 -07:00
Tyler Benson
ef5481cc27
Change operation name and set service name.
2017-10-24 10:28:53 -07:00
Tyler Benson
b40bcf9973
Add automatic instrumentation for JDBC
...
This instrumentation creates spans for Statements and PreparedStatements. It also captures the corresponding SQL and additional connection info. ResultSet could be considered for future instrumentation to capture even more of the DB interaction time.
This integration uses Bytebuddy instead of Byteman as the many methods to instrument would have been messy in Byteman.
2017-10-24 10:28:53 -07:00
Tyler Benson
423b701049
Downgrade byteman library to non-beta version.
...
This is in effort to reduce some performance problems.
2017-10-24 08:15:37 -07:00
Tyler Benson
f2d1f0c209
Capture and report errors and stacktraces
2017-10-13 16:32:13 +02:00
Tyler Benson
af5ef5e624
Fix name overloading confusion.
...
references to entries below were using the wrong instance and thus not being cleaned properly.
2017-10-13 14:08:03 +02:00
Tyler Benson
33308eff80
Change visibility to protected
...
This should bypass an issue with the parent class being loaded on a different classloader, resulting in an IllegalAccessError.
2017-10-10 16:02:43 -04:00
Tyler Benson
cfe36d03a8
Fix headers to match standard DD trace headers
...
Also prevent NullPointerExceptions in servlet handler if active span somehow missing.
2017-09-27 07:44:43 -07:00
Tyler Benson
cffde51b9e
Add funky locking to ensure consistent execution for jetty test.
2017-09-21 13:47:28 -07:00
Tyler Benson
fb133c8905
Update servlet operation name.
2017-09-21 08:12:44 -07:00
Tyler Benson
30721d00dc
Replace tomcat/jetty specific integ with generic servlet integ.
...
This should also work with things like Weblogic and Websphere with the main requirement being Servlet 2.3 or above compatibility.
2017-09-20 16:39:43 -07:00
Tyler Benson
19af7840fb
Adjust logging a bit more.
2017-09-19 10:53:14 -07:00
Tyler Benson
9c39bb64ae
Fix aws version in readme, add finals and reformatting
2017-09-18 10:49:08 -07:00
Tyler Benson
4b26b787b8
Improve error logging for defineClass
2017-09-18 10:33:25 -07:00
Tyler Benson
b430eedb27
Prevent NPE for double registrations
...
When using jetty with spring boot, the helper is being called more than once, the second time resulting in null being returned by `addFilter`. This should prevent an error from being thrown.
2017-09-13 13:00:25 -07:00