Andrew Kent
c6841c9d06
Add maven version scanning to muzzle
2018-08-24 10:47:37 -07:00
Tyler Benson
36b49c7de3
Merge pull request #451 from DataDog/tyler/netty-client-fixes
...
Allow trace to persist across netty connect.
2018-08-23 16:03:58 +10:00
Tyler Benson
898647e000
Allow trace to persist across netty connect.
...
Also create span with error on connection failure.
Add tests for connection failure.
2018-08-22 09:45:33 +10:00
Nikolay Martynov
c95baef487
Wait for given reference to get GCed in `waitGC`
...
This should help to make sure that object we are interested in
actually gets GCed.
This change also improves tests for PendingTrace and ScopeManager to
make sure that trace gets cleaned up.
2018-08-21 10:05:10 -04:00
Nikolay Martynov
138f78ce4b
Make Muzzle log class being instrumented
2018-08-16 17:28:32 -04:00
Andrew Kent
3c1bf569ea
Add reference pretty-printer to muzzle plugin
2018-08-15 10:01:19 -07:00
Andrew Kent
c351a4825e
Regenerate muzzle bytecode when run multiple times
2018-08-15 09:49:50 -07:00
Nikolay Martynov
36ec5d51e5
SafeHasSuperTypeMatcher: handle exceptions when getting class erasure
2018-08-15 09:49:50 -07:00
Andrew Kent
a7c63b9261
Clarify comment for safe interface iteration.
2018-08-15 09:49:50 -07:00
Andrew Kent
57e85d4a13
Catch and log instrumentation matcher exception
...
Catching instrumentation matcher exceptions at the Instrumenter level
allows other, unrelated instrumentation to match.
2018-08-15 09:49:50 -07:00
Andrew Kent
d64b162539
Remove safeMatch from element matcher and document bb cache class
2018-08-15 09:49:50 -07:00
Andrew Kent
260e3520aa
Fix classloading integration tests
2018-08-15 09:49:50 -07:00
Andrew Kent
35c6fa2343
More error catching in safe matcher and reduce log level
2018-08-15 09:49:50 -07:00
Andrew Kent
75a6cee068
Add DDCachingPoolStrategy to reuse type descriptions
2018-08-15 09:49:50 -07:00
Ark
f01c8349cc
Deep-merge Reference fields and methods
...
Plus misc cleanup.
2018-08-15 09:49:50 -07:00
Andrew Kent
e7bb7cfb3e
Remove findLoadedClass
2018-08-15 09:49:50 -07:00
Andrew Kent
50c5a57c49
Replace UnloadedType with ByteBuddy TypeDescription
2018-08-15 09:49:50 -07:00
Andrew Kent
27cade057c
Delegate bootstrap resource loading for unloaded types
2018-08-15 09:49:37 -07:00
Andrew Kent
f8f45d7f14
Muzzle field matching
2018-08-15 09:49:37 -07:00
Andrew Kent
c4daf007e3
Muzzle method and access matching
2018-08-15 09:49:37 -07:00
Andrew Kent
4887822eba
Muzzle method ref creation and matching
2018-08-15 09:46:30 -07:00
Andrew Kent
0f6761dd4b
Optimize Instrumenter logging
2018-08-15 09:46:30 -07:00
Andrew Kent
55a0abce68
Add notes of potential references to ReferenceCreator
2018-08-15 09:46:30 -07:00
Tyler Benson
84d38a8270
Merge pull request #439 from DataDog/tyler/method-signatures
...
Cleanup method signatures and servlet 2 instrumentation
2018-08-13 17:29:02 +10:00
Tyler Benson
f801cbd466
Merge pull request #428 from DataDog/tyler/use-WeakConcurrentMap
...
Use WeakConcurrentMap
2018-08-13 16:44:16 +10:00
Tyler Benson
232708e457
Prevent abstract classes from going through the muzzle plugin.
2018-08-13 15:35:46 +10:00
Tyler Benson
4583d12b31
Cleanup method signatures and servlet 2 instrumentation
...
adding the abstract servlet instrumentation reduces code duplication and makes it more similar to servlet 3 instrumentation.
2018-08-13 15:14:10 +10:00
Nikolay Martynov
fc8cc47f85
WeakMap improvements
...
* Improve tests to not depend on thread schedulting
* Test all underlying implementations
* Reduce number of static values
2018-08-10 22:16:21 -07:00
Tyler Benson
6cef9b89b0
Make some things non-static
2018-08-10 15:41:26 +10:00
Tyler Benson
b220309a68
PR review changes.
2018-08-10 12:23:13 +10:00
Tyler Benson
a3875aff2c
Logging improvements and other misc
...
from reviewing a customer’s logs.
2018-08-09 15:59:59 +10:00
Tyler Benson
eacc2d6402
Restructure how WeakMap is implemented
...
Use an interface.
Use a provider/supplier to avoid loading more onto the bootstrap classpath.
2018-08-08 16:54:44 +10:00
Tyler Benson
5e55defeb3
Fix bootstrap classpath.
2018-08-07 17:11:42 +10:00
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
Nikolay Martynov
7ad9305927
Add some integration tests to check ByteBuddy's behavoir on class loading and parsing
2018-08-01 14:17:12 -04:00
Nikolay Martynov
bb2126bd9a
Improve ByteBuddyElementMatchers javadoc
2018-07-31 20:14:03 -04:00
Nikolay Martynov
78e6a9c336
Get rid of DDAdvice
...
Newer ByteBuddy api simplifies things.
2018-07-31 20:14:03 -04:00
Nikolay Martynov
6bc1d1ab8e
Implement `saveHasSuperType` and use it instead of `hasSuperType`
...
The idea is to just 'trim' type hierarchy 'up-trees' that we cannot
resolve dring instrumentation instead of failing to instrument completely.
2018-07-31 20:13:59 -04:00
Nikolay Martynov
bae79514c0
Fix DDLocationStrategy to use DataDog ClassLoader
...
This allows ByteBuddy to properly find classes injected into the
agent.
Thanks @realark for providing a fix!
2018-07-31 20:12:17 -04:00
Nikolay Martynov
4ae9263e1c
Set POOL_ONLY DescriptionStrategy for ByteBuddy
...
This makes sure no classes are loaded during instrumentation
transformation which allows us to safely instrument depndent classes.
2018-07-31 20:12:17 -04:00
Tyler Benson
ff9ef671f3
Apply formatter on groovy files.
2018-07-31 12:09:28 +10:00
Tyler Benson
51919a77bb
Apply formatter on java files.
2018-07-31 12:07:43 +10:00
Tyler Benson
b5c8a8b8fc
Apply formatter on gradle files.
2018-07-31 12:04:00 +10:00
Nikolay Martynov
f6edf913b7
Remove functions that do reflection which is not Java10 compliant
...
These functions are not used anylonger
2018-07-27 14:56:28 -04:00
Andrew Kent
b64be6228c
Don't check for helper classes in muzzle reference check
2018-07-27 11:03:02 -07:00
Nikolay Martynov
0f80f7dd40
Remove old checks from HelperInjector
...
They are not really producing anything useful anf they depend on API
that is forbidden in Java9+
2018-07-26 10:11:24 -04:00
Nikolay Martynov
8cc2f6cbb2
Skip `jdk.internal.reflect.DelegatingClassLoader` in `ClassLoaderMatcher`
...
This is the same thing as `sun.reflect.DelegatingClassLoader` in older JVMs
2018-07-26 10:01:55 -04:00
Tyler Benson
aa3fc0717e
Fix some formatting changes.
2018-07-20 10:31:14 +10:00
Tyler Benson
12a2fce96d
Upgrade java formatter version.
2018-07-19 14:10:53 +10:00