Tyler Benson
133460a79a
Stop making hard references in HelperInjector
...
Also make awaitGC interruptable.
2019-02-27 19:09:01 -08:00
Tyler Benson
f7e8980d08
Add null check on span type
...
Null spanTypes cause the tag to be removed.
2019-02-27 15:35:15 -08:00
Tyler Benson
a413b0d08d
Review changes.
2019-02-27 12:39:03 -08:00
Tyler Benson
4e9449db81
Migrate Jax-rs annotation instrumentation to Decorator
2019-02-27 09:40:08 -08:00
Tyler Benson
34242e4849
Migrate method tracing instrumentation to Decorator
2019-02-27 09:40:08 -08:00
Tyler Benson
9e81bba3fa
Review comments
2019-02-27 08:41:32 -08:00
Tyler Benson
c46909e59f
Migrate JDBC instrumentation to Decorator
2019-02-26 11:16:35 -08:00
Tyler Benson
93e38f6f0d
Rename and static import decorators instance
...
In the instrumentation it reads better.
2019-02-22 13:44:34 -08:00
Tyler Benson
f04d113ecb
Make decorators public and add tests
2019-02-22 09:42:53 -08:00
Tyler Benson
9c8e689b6d
Add decorator for couchbase instrumentation
2019-02-21 15:27:26 -08:00
Tyler Benson
49faeca145
Exclude groovy macro package from instrumentation
...
It generates a lot of noise when running tests and likely shouldn’t be instrumented.
2019-02-21 11:35:21 -08:00
Tyler Benson
a98c22ac3a
Introduce base decorators
2019-02-20 16:11:18 -08:00
Tyler Benson
4dd4ee0c05
Trace Analytics Config
...
Also make the instrumentation names a sorted list so the evaluation order is consistent.
2019-02-20 10:56:14 -08:00
Tyler Benson
c65c79207a
Remove `isSynthetic()` ignore
...
There’s concern that this will cause classes to be skipped that we do want to instrument.
2019-02-14 08:45:02 -08:00
Tyler Benson
ccee63574d
Exclude several type identifications from instrumentation
...
I considered excluding Interfaces too, but that would break people that added `@Trace` to their default methods.
Just a hunch, but I don’t think we want to instrument classes marked as synthetic, for example proxies. We may want to extend this to our method matchers (and maybe exclude native methods too).
We might want to instrument enums/annotations, but that seems unlikely.
2019-02-11 16:23:08 -08:00
Tyler Benson
0802bb864c
Merge pull request #696 from DataDog/tyler/jmxfetch-config
...
JMXFetch bundled integrations disabled by default
2019-02-07 09:48:32 -08:00
Nikolay Martynov
931e6ff8af
Merge pull request #688 from DataDog/mar-kolya/webflux-fixes
...
Fix webflux integration to not rely in active span
2019-02-07 12:45:50 -05:00
Tyler Benson
4414dc2ad5
JMXFetch bundled integrations disabled by default
...
Enable each individually by setting `-Ddd.integration.<integration_name>.enabled=true`.
2019-02-06 13:00:52 -08:00
Tyler Benson
6cebabbada
Move integrations config to Config class.
2019-02-05 08:20:49 -08:00
Nikolay Martynov
a086f38f2f
Fix webflux integration to not rely in active span
...
Netty event loop instrumentation doesn't allow us to attribute work to
correct span so we have to maintain that manually.
2019-02-05 10:38:21 -05:00
Daniel Solano Gómez
4953a6c417
Skip clojure.lang.DynamicClassLoader
...
Not doing this seems to cause issues with Clojure protocols.
An application instrumented with the dd-java-agent that will
otherwise run fine will fail with ClassNotFoundException for
classes pertaining to Clojure protocols.
2019-02-04 07:12:29 -06:00
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