Commit Graph

2143 Commits

Author SHA1 Message Date
Nikolay Martynov f736c425ff TypeCacheKey are different if hash codes are different
And this is very easy to check
2020-02-21 12:23:41 -05:00
Nikolay Martynov 9d7682f776 Fix hashcode calculation in TypeCacheKey
Using potentially very large number for a mod is probably not very effective
2020-02-21 12:22:51 -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
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
Giuseppe Cafarelli 8f552993a6 Fix NPE on TransportActionListener for elasticsearch 2 2020-02-12 12:14:57 +01:00
Nikolay Martynov fd58187994 Support JFR profiling 2020-02-11 14:55:19 -05:00
Laplie Anderson 9023c6e1c7 Fix a couple tests using the wrong arguments 2020-02-11 11:44:46 -05:00
Laplie Anderson 01b0bebc93 minor formatting 2020-02-11 11:44:46 -05:00
Laplie Anderson 0cb0ae0a48 Less repetition in gradle files 2020-02-11 11:44:46 -05:00
Laplie Anderson c79fe3a459 Create shared internal jar 2020-02-11 11:44:46 -05:00
Laplie Anderson 3c0877e38a Create a shared parent classloader 2020-02-11 11:42:39 -05:00
Tyler Benson 032f22f5a6
Reduce tracer thread count by combining scheduled executors int… (#1200)
Reduce tracer thread count by combining scheduled executors into a single executor.
2020-02-11 08:18:59 -08:00
Tyler Benson 51bffa2e8a Move agent api classes to bootstrap package so they're not analyzed by muzzle
Also move jdbc classes to bootstrap to reduce size and complexity of those reference checkers.

These changes reduce the total file size of these instrumentation classes by 635k, which should also result in decent memory savings.
2020-02-10 15:09:15 -08:00
Tyler Benson 486d98135e Code review changes 2020-02-10 11:37:36 -08:00
Tyler Benson e5980d4812 Fix muzzle 2020-02-10 10:45:58 -08:00
Tyler Benson 75c7769192 Reduce tracer thread count by combining scheduled executors into a single executor.
Pulls out utility classes for reuse by other projects.

This also meant the dependency had to be bundled with dd-trace-ot since it isn't published as a separate dependency.
2020-02-10 10:45:58 -08:00
heathkd 7e62bca7fe limit hibernate latest dependency test to 5.x 2020-02-07 17:57:34 -05:00
Lev Priima 5265a43c6d Reduce use of Thread::setContextClassLoader 2020-02-06 22:53:04 -05:00
Tyler Benson 14b5576cd8
Merge pull request #1201 from DataDog/tyler/upgrade-okhttp
Upgrade OkHttp client to 3.12.8
2020-02-04 15:55:36 -08:00