Tyler Benson
03bcdc97cc
Move awaitGC to common utility package
2019-01-25 10:32:09 -08:00
Nikolay Martynov
b3ad700b34
Merge pull request #666 from DataDog/mar-kolya/aws-sdk2
...
Initial AWS2 SDK instrumentation
2019-01-25 13:01:32 -05:00
Nikolay Martynov
6563a711c2
Merge pull request #671 from DataDog/osgi-fix
...
Improve OSGi class loader instrumentation
2019-01-25 12:48:45 -05:00
Nikolay Martynov
04fbb5085f
Improve OSGi class loader instrumentation
...
It turns out that Eclipse's OSGi implementation has two problems:
* It doesn't respect system properties by default
* It has tricky classloader implementation that loads bootstrap
classes from the classloader-has-delegation-to-bootstrap check but
doesn't load bootstrap classes from 'normal' code.
This should address second problem and make Eclipse's OSGi
implementation 'safe' by default.
2019-01-25 08:52:07 -05:00
Tyler Benson
146a16df25
Upgrade weak-lock-free to 0.15
2019-01-24 11:44:28 -08:00
Nikolay Martynov
6471a1a81e
Add $ separate to state field name
2019-01-23 22:32:00 -05:00
Andrew Kent
097c557651
Delay jmxfetch init when custom log manager is used by client's app
2019-01-16 12:18:29 -08:00
Andrew Kent
cc8db0b11f
Workaround module bug by skipping LogManager$Cleaner instrumentation
2019-01-09 15:03:43 -08:00
Tyler Benson
fe52180bfc
Apply proper generic signature for Instrumenter.Default transformers()
...
Previously it was missing the MethodDescription portion.
2019-01-04 15:25:12 -08:00
Andrew Kent
2861d87071
slf4j MDC autoinjection integration
2018-12-19 17:09:00 -08:00
Andrew Kent
4dc3528097
Add post-match hook to default instrumenter api
2018-12-19 17:07:43 -08:00
Andrew Kent
d0f3cfa3d6
Use asm bundled by bytebuddy in field-backed provider
...
JVM's ASM is not bundled with the agent and may not be present at runtime.
2018-12-19 12:37:47 -08:00
Andrew Kent
0b92413d4a
Move JvmBootstrapTest into a fork inside a groovy test
2018-12-12 20:17:48 -08:00
Andrew Kent
0240ad5154
Move default instrumentation declarations to Instrumenter.Default
2018-12-11 18:01:40 -08:00
Andrew Kent
1004ee4ef7
Patch java.util.logging.Logger for safe use with jmxfetch
2018-12-11 17:26:02 -08:00
Nikolay Martynov
3225c8fd03
Fix wildfly startup by injecting context classes into bootstrap package
2018-12-07 09:56:04 -05:00
Nikolay Martynov
600674b03a
Put back muzzle check for 'dd-' threads
2018-12-05 17:20:50 -05:00
Nikolay Martynov
4deb68bfd7
Fix memory leak in WeakMapSuppliers.WeakConcurrent
...
The problem there is that it references JVM shutdown hook that keeps
reference to cleanup executor which potentially can keep references to
all sort of things - and this doesn't get cleaned up untill JVM
shutdown.
Solution is to remove shutdown hook when supplier is being GCed.
2018-12-05 15:02:40 -05:00
Nikolay Martynov
ad98ebc01f
Add some comments and some other minor CR tweaks
2018-11-29 15:18:46 -08:00
Nikolay Martynov
1509286b15
Remove MapBackedProvider
2018-11-29 15:18:46 -08:00
Nikolay Martynov
118a61cc67
Add field backed context provider
2018-11-29 15:18:46 -08:00
Nikolay Martynov
b89e73b3c0
Switch executor instrumentation to use context storage
2018-11-29 15:18:46 -08:00
Andrew Kent
3c4b480a18
Share tooling loader across muzzle runs
2018-11-28 13:01:01 -08:00
Andrew Kent
6ee5fd27b0
Guard against invoking WeakConcurrent constructor
2018-11-28 12:05:47 -08:00
Gary
50c2af9abb
remove classloader matcher
2018-11-26 16:57:12 -05:00
Gary
bf30d73746
remove skipping of ratpack helper checks
2018-11-26 16:55:36 -05:00
Andrew Kent
1667e590b9
Log Java and JVM version info.
2018-11-02 17:12:00 -07:00
Nikolay Martynov
3c0ba56d2c
Make context maps 'global' for a given key class name
...
This ensures that different instrumenters using same key class can see
each others state
2018-11-02 12:59:30 -04:00
Nikolay Martynov
98df97af3e
First iteration on a better context store api
...
Separate context storage from actual fetching/putting
2018-11-02 10:46:57 -04:00
Andrew Kent
d0b00e0dc0
Inject all map holder classes into the bootstrap
2018-11-01 15:05:20 -07:00
Andrew Kent
5f0f6f1474
Inject dynamic classes into topmost class loader
2018-10-31 16:11:52 -07:00
Andrew Kent
5824eb83b8
Merge pull request #537 from DataDog/ark/instrumentation-context-outline
...
instrumentation context map-backed impl
2018-10-29 18:48:23 +00:00
Andrew Kent
b89aa54a93
Move ASM visiting method into context-store impl
2018-10-26 14:06:57 -07:00
Andrew Kent
cc27f1507e
Javadoc for map-backed context store. Type info on context store api
2018-10-26 13:41:24 -07:00
Nikolay Martynov
fc13d7db2b
Reorganize WeakConcurrent implementation to allow cleanup thread GC when map is out of scope
2018-10-23 16:30:51 -04:00
Tyler Benson
13c91d11e5
Upgrade shadow to 4.0.1 and exclude module-info.class files.
2018-10-22 10:44:04 +10:00
Tyler Benson
192b0fd478
misc minor changes
2018-10-22 10:44:04 +10:00
Andrew Kent
7547e0fc5e
Cleanup and javadoc
2018-10-19 13:07:11 -07:00
Andrew Kent
131074c255
Move InstrumentationContext api to bootstrap
2018-10-18 10:16:15 -07:00
Andrew Kent
b02ed4e813
Initial Map-backed implementation and test
2018-10-17 15:29:59 -07:00
Andrew Kent
f098b8027e
Basic implementation outline and happy-path test
2018-10-16 10:22:36 -07:00
Andrew Kent
7330ceaf4e
Instrumentation Context outline for HttpURLConnection as an example
2018-10-15 11:05:23 -07:00
Andrew Kent
13c96bba33
Additional test for shared field
2018-10-10 10:40:04 -07:00
Tyler Benson
330e09d0b3
Merge pull request #477 from DataDog/tyler/bb-upgrade
...
Upgrade Byte Buddy to 1.9.0
2018-10-02 11:31:11 -04:00
Tyler Benson
6b8eb60ca2
Upgrade Byte Buddy to 1.9.0
2018-10-01 13:31:03 -04:00
Andrew Kent
5864dd90e7
Allow instrumenting com.sun.messaging. namespace
2018-09-28 14:37:32 -07:00
Tyler Benson
3d78afbc2c
Disable Executor instrumentation ThreadPoolExecutor instances
...
If we can’t add generic runnables to the queue.
This won’t solve the problem for all cases, but it will help with some.
Tests forthcoming.
2018-09-20 16:06:01 +10:00
Tyler Benson
f9f0438e85
Initialize WeakMapProvider even earlier
...
It is used by classes delcared as static fields in AgentInstaller, so there were some cases where the fallback is being used.
2018-09-19 08:37:08 +10:00
Tyler Benson
296f9adfc2
Ignore byte buddy classes
...
not having this produced the following error on startup:
```
Cannot resolve type description for net.bytebuddy.dynamic.Nexus
```
2018-09-18 17:20:36 +10:00
Tyler Benson
8061bd2471
Add comment.
2018-08-31 16:27:31 +10:00