Tyler Benson
eb8de0d3ab
Apply matcher if debug logging enabled to avoid confusing log output.
...
Otherwise it was "Skipping" every unrelated class.
2020-02-25 18:04:27 -08:00
Tyler Benson
c13cb2e60f
Move a few other classes.
2020-02-24 08:35:19 -08:00
Tyler Benson
3559ffb21c
Add unit tests for matchers
2020-02-24 08:35:19 -08:00
Tyler Benson
bd82166b58
Rename methods that don't require disambiguation.
2020-02-24 08:35:19 -08:00
Tyler Benson
f70c35842d
Move matchers to separate package and split matcher classes out
2020-02-24 08:31:12 -08:00
Nikolay Martynov
833f67816e
Merge pull request #1248 from DataDog/mar-kolya/reduce-superclass-matcher-exposure
...
Avoid calling superclass matcher where possible
2020-02-21 21:16:52 -05:00
Tyler Benson
b27b30d913
Merge pull request #1247 from DataDog/tyler/bb-raw
...
Set ByteBuddy raw setting at startup
2020-02-21 16:30:24 -08:00
Nikolay Martynov
b6d374e3a0
Avoid calling superclass matcher where possible
...
Saves about 100ms of startup time on test app
2020-02-21 15:08:39 -05:00
Tyler Benson
ecf9bcc655
Make sure CallDepthThreadLocalMap is always reset ( #1227 )
...
Make sure CallDepthThreadLocalMap is always reset
2020-02-21 11:03:51 -08:00
Tyler Benson
faccb0d483
Set ByteBuddy raw setting at startup
...
This reduces the complexity of TypeDefinitions.
```
Benchmark Mode Cnt Score Error Units
ClassRetransformingBenchmark.WithAgent.testTracedRetransform avgt 22.450 ms/op
ClassRetransformingBenchmark.WithAgent.testUntracedRetransform avgt 6.842 ms/op
ClassRetransformingBenchmark.WithAgentMaster.testTracedRetransform avgt 23.188 ms/op
ClassRetransformingBenchmark.WithAgentMaster.testUntracedRetransform avgt 7.009 ms/op
```
It also improved startup time by about 1 sec.
2020-02-21 10:35:20 -08:00
Nikolay Martynov
1f8acafc42
Merge pull request #1245 from DataDog/mar-kolya/single-ignores-matcher
...
Single ignores matcher
2020-02-21 12:42:18 -05:00
Tyler Benson
e4d29e37ef
Update JMH benchmarks ( #1242 )
...
Update JMH benchmarks
2020-02-21 09:38:34 -08:00
Nikolay Martynov
27842d8479
Ignore cglib packaged with springboot
2020-02-21 11:56:45 -05:00
Nikolay Martynov
0c659770cc
Collect all ignore matchers into one
...
This should allow us to optimize this as a single function later
2020-02-21 11:48:40 -05:00
Nikolay Martynov
b1d314aff1
Specify types in jaxrs mtcher to help Idea with type inference
2020-02-21 11:34:25 -05:00
Lev Priima
52e0eb9d37
SkipClassLoaderMatcher use str-switch in shouldSkipClass(ClassLoader)
2020-02-20 21:02:42 -08:00
Tyler Benson
a4f34f4088
Latest tomcat release seems to have some issues
...
Instrumentation muzzled: [jsp, jsp-compile] -- datadog.trace.instrumentation.jsp.JasperJSPCompilationContextInstrumentation on jdk.internal.loader.ClassLoaders$AppClassLoader@2c13da15
-- datadog.trace.instrumentation.jsp.JSPDecorator:39 Missing method getServletContext#()Ljavax/servlet/ServletContext;
2020-02-20 20:35:25 -08:00
Tyler Benson
5e37ca02f1
Merge pull request #1240 from DataDog/tyler/executor-matcher-reorder
...
Reorder java-concurrent matchers
2020-02-20 17:54:39 -08:00
Tyler Benson
660921517c
Remove costly matchers from ignore list ( #1233 )
...
Remove costly matchers from ignore list
2020-02-20 17:52:43 -08:00
Tyler Benson
e1964e526e
Update JMH benchmarks
...
Benchmark is run with `./gradlew :dd-java-agent:benchmark:jmh` -- after updating the absolute paths to the various agents in `ClassRetransformingBenchmark`. Unfortunately I was unable to have it launch correctly with a relative path.
2020-02-20 17:30:36 -08:00
Trask Stalnaker
8949d6c05f
Make sure CallDepthThreadLocalMap is always reset
2020-02-20 16:53:57 -08:00
heathkd
b7b46caaa8
create AgentBuilder instance with logging listeners only if debug mode is enabled
2020-02-20 16:29:27 -05:00
Tyler Benson
b80e9857d2
Reorder java-concurrent matchers
...
Move the expensive matcher to last.
In theory this should help, but did not seem to make a significant difference in basic startup benchmarks.
2020-02-20 11:34:39 -08:00
Tyler Benson
e4a454549d
Split interface and class "supertype matching" ( #1232 )
...
Split interface and class "supertype matching"
2020-02-20 11:08:39 -08:00
Nikolay Martynov
f4d8b6b1f2
Avoid creating context provider for intrumentations that do not need that
...
This should reduce number of allocations
2020-02-20 08:28:25 -05:00
Laplie Anderson
43487fcfb5
Fix the logic
2020-02-19 21:22:17 -05:00
Laplie Anderson
92b9c07018
Add interfaces only code
2020-02-19 21:22:17 -05:00
Laplie Anderson
147b4a64f1
Add matcher for only concrete classes
2020-02-19 21:22:17 -05:00
Laplie Anderson
d45ead1284
split matching into safeExtendsClass and safeHasInterface
2020-02-19 21:22:17 -05:00
Tyler Benson
6e4b55304e
Add special handling for ignoring `javax.decorator.Decorator` annotated classes.
2020-02-19 16:24:23 -08:00
Tyler Benson
88aa31b63e
Remove costly matchers from ignore list
...
Removing these matchers caused the time spent matching ignores to go from greater than 1 second to less than 100 ms.
2020-02-19 16:24:23 -08:00
Nikolay Martynov
d49c08691e
Merge pull request #1229 from DataDog/mar-kolya/fix-jaxrs-matching
...
Fix JaxRs matching
2020-02-19 07:01:21 -05:00
Nikolay Martynov
02fb8d8888
Fix JaxRs matching
...
Paranthesys was missplaced leading to more complicated matcher than needed
2020-02-18 18:42:36 -05:00
Heather D'Souza
a81f4dc223
Merge pull request #1192 from DataDog/heather.dsouza/scheduling_annotation
...
Add support for Spring Scheduling
2020-02-18 14:07:06 -05:00
Jean-Philippe Bempel
efe8ee375b
Merge pull request #1226 from jpbempel/jpbempel/reuseKeys
...
Enable reuseKeys on WeakConcurrentMap
2020-02-18 19:09:05 +01:00
heathkd
917deb19be
change imports to use bootstrap api package
2020-02-14 20:48:18 -05:00
heathkd
f3537e1665
change module and file names to match version of earliest supported version of spring-context
2020-02-14 20:47:16 -05:00
heathkd
9eb51248cd
address PR comments
2020-02-14 20:47:16 -05:00
heathkd
b21e361591
add test for interval task and trigger task
2020-02-14 20:46:26 -05:00
heathkd
cc1aaf5fc5
replace Trace annotation with regular API interaction
2020-02-14 20:46:26 -05:00
heathkd
68c323ac56
create ScheduledTasks bean and application context config
2020-02-14 20:46:00 -05:00
Nikolay Martynov
a04cc15ce8
Fix some tests
2020-02-14 12:59:30 -05:00
Nikolay Martynov
fd75575796
Disable peer hostname tag for http servers
...
Getting peer hostname makes DNS request
2020-02-14 11:25:07 -05:00
jean-philippe bempel
58b1cff62e
Enable reuseKeys on WeakConcurrentMap
...
for each call to get method in WeakConcurrentMap, a LatentKey is
created. Considering the frequency of call it's significant.
Also, the classloader of the tracer can be considered as permanent
through the lifecycle of the JVM which is a prerequisite to be able
to reuse keys (otherwise classloader leak).
2020-02-14 14:52:59 +01:00
Tyler Benson
618780b62f
More general class loading instrumentation ( #1218 )
...
More general class loading instrumentation
2020-02-13 11:54:25 -08:00
Trask Stalnaker
94dd781e50
Better naming
2020-02-13 11:31:47 -08:00
Trask Stalnaker
4dfd9534e8
Add optimization for IBM JVM
2020-02-13 11:31:47 -08:00
Trask Stalnaker
a0224e2ad7
Fix for test failure on IBM JVM
2020-02-13 11:31:47 -08:00
Trask Stalnaker
bfc7a0de55
More general class loading instrumentation
2020-02-13 11:31:45 -08:00
Giuseppe Cafarelli
f94f76488f
Add test for elasticsearch 2 TransportActionListener
2020-02-13 14:34:21 +01:00