Nikolay Martynov
950389587c
Simplify groovy/scala/kotlin compile dependency hack
2020-01-23 09:40:15 -05:00
Laplie Anderson
4e58643bd0
Initial finatra instrumentation
2020-01-22 18:09:10 -05:00
Tyler Benson
f9e43516ad
Set timeouts on individual tests and increase overall test timeout.
2020-01-22 09:06:03 -08:00
Laplie Anderson
64ed09d76c
Merge pull request #1179 from DataDog/landerson/internal-jar-memory
...
Use streams directly in DatadogClassLoader
2020-01-16 10:51:42 -05:00
Laplie Anderson
6766e12597
Merge pull request #1173 from DataDog/landerson/weakmap-computeifabsent
...
Synchronized audit: WeakMap computeIfAbsent
2020-01-15 14:51:29 -05:00
Laplie Anderson
607c8f277e
Don't copy to byte[], return input stream directly
2020-01-15 13:38:44 -05:00
Laplie Anderson
68ed1da9c6
Don't call `map.get()` in the `put(..)` case
2020-01-15 12:41:01 -05:00
Laplie Anderson
a0b1cd4a75
WeakMap computeIfAbsent
2020-01-15 12:26:15 -05:00
Tyler Benson
e31cbd6c89
Add Builder to DDTracer
...
Deprecate previous constructors.
2020-01-14 17:44:34 -08:00
Tyler Benson
a52a1420db
Merge pull request #1165 from DataDog/tyler/servlet
...
Add servlet integrations for request and response dispatch back in.
2020-01-13 13:17:29 -08:00
Tyler Benson
d42e72b683
Merge pull request #1171 from DataDog/tyler/bb-filter
...
Remove more declared method filtering for optimization
2020-01-13 13:05:28 -08:00
Tyler Benson
ef6cd9c52c
Merge pull request #1170 from DataDog/tyler/couchbase
...
Adjust version compatibility to only 2.x
2020-01-13 13:04:57 -08:00
Tyler Benson
5fe26f004b
Remove more declared method filtering for optimization
...
Same logic that was applied in #1169
2020-01-13 12:52:41 -08:00
Nikolay Martynov
6bf1e159b0
Merge pull request #1167 from DataDog/mar-kolya/upgrade-jmxfetch
...
Upgrade jmxfetch to latest version
2020-01-13 15:45:12 -05:00
Tyler Benson
77cdd210c6
Also update latestDepTest ranges.
2020-01-13 12:31:38 -08:00
Nikolay Martynov
cb7faee63f
Remove logging config from jmxfetch setup
...
It already uses slf4j
2020-01-13 15:23:04 -05:00
Tyler Benson
603155f56f
Merge pull request #1169 from DataDog/tyler/remove-filter
...
Optimize HasSuperMethodMatcher logic
2020-01-13 12:11:27 -08:00
Tyler Benson
a0f0d45c74
Adjust version compatibility to only 2.x
...
They recently released 3.0.0 which is not compatible with our instrumentation.
2020-01-13 12:10:57 -08:00
Nikolay Martynov
dcc5726797
Fix jmxfetch log level and log location config
...
Looks like this got lost in b505c60543
2020-01-13 15:05:45 -05:00
Nikolay Martynov
d55d13e239
Exclude some dependencies from jmxfetch
2020-01-13 14:45:19 -05:00
Nikolay Martynov
8b5d89501b
Upgrade jmxfetch to latest version
2020-01-13 14:19:03 -05:00
Tyler Benson
25397fd128
Fix formatting and add test.
2020-01-13 11:18:45 -08:00
Bruce Yu
13b84416b9
Blacklisting headers with -bin suffixes in GrpcExtractAdapter
2020-01-13 11:18:45 -08:00
Tyler Benson
49425e9963
Move request-response linking to main servlet advice
...
servlet-service is off by default, so we can't rely on it being called there.
2020-01-13 10:48:35 -08:00
Tyler Benson
e440eba9a1
Enable Servlet request and response dispatcher instrumentation by default.
...
Change config for Servlet Filter and Service and JDBC DataSource instrumentation so it must be explicitly enabled (won't be enabled by accident if all of servlet is enabled).
2020-01-10 13:51:21 -08:00
Tyler Benson
43fbf28035
Revert "Remove experimental jdbc and servlet integrations until further evaluation"
...
This reverts commit 2432a92230
.
2020-01-10 12:53:24 -08:00
Tyler Benson
7cb24f35c0
Better error handling for getClientInfo in JDBCDecorator
...
An exception there caused a span to be created but then never finished.
2020-01-08 15:10:54 -08:00
Tyler Benson
5e8af8439a
Optimize HasSuperMethodMatcher logic
...
Instead of filtering then iterating, just iterate through everything and apply filter inline.
This will help avoid allocation for filter iterator and improve if early match is found.
2020-01-07 17:10:01 -08:00
Tyler Benson
03dd908fdb
Merge pull request #1158 from DataDog/tyler/aws-1-tagging
...
Add various tags for AWS SDK v1.x
2020-01-03 08:38:56 -08:00
Tyler Benson
4947dc3bd3
Add various tags for AWS SDK v1.x
...
This brings it inline with the v2 instrumentation.
2020-01-02 13:23:30 -08:00
Tyler Benson
dacafe4217
Merge pull request #1157 from DataDog/pawel/rmi-add-client-and-server-info-to-decorators
...
[rmi] add instrumentation names to client and server decorators, remove default client service name
2020-01-02 11:41:40 -08:00
Laplie Anderson
6b6554996a
Merge pull request #1155 from DataDog/landerson/muzzle-scan-classloader-matcher
...
Add classloader matcher to muzzle scan
2019-12-30 10:12:59 -05:00
Pawel Chojnacki
bbaf7278a6
[rmi] remove rmi client service name
2019-12-24 11:59:29 +01:00
Pawel Chojnacki
a4b0dcbc9f
[rmi] add instrumentation names to client and server decorators
2019-12-23 19:05:34 +01:00
Pawel Chojnacki
65c701dd51
Merge pull request #1128 from DataDog/pawel/add_rmi_support
...
Add RMI support
2019-12-23 14:38:46 +01:00
Pawel Chojnacki
f71ba14016
[rmi] use simple thread local for propagating context
...
+ add more documentation
2019-12-23 13:25:14 +01:00
Tyler Benson
9020b74128
Merge pull request #1147 from DataDog/tyler/kafka-async
...
Add async propagation flags for kafka consumer.
2019-12-20 14:55:36 -08:00
Laplie Anderson
f181fa721f
Add classloader matcher to muzzle scan
2019-12-20 16:17:08 -05:00
Laplie Anderson
97b947919f
Add a comment
2019-12-20 15:27:32 -05:00
Laplie Anderson
7338bbdd06
Register on JAX-RS client instead of builder
2019-12-20 13:15:04 -05:00
Pawel Chojnacki
3f21f6419d
[rmi] Split context propagation to server and client instrumentation
...
+ Separate extra code from advices
+ cleanup helper definitions
2019-12-20 16:16:53 +01:00
Pawel Chojnacki
c3308042d3
[rmi] use ObjectEndpoint#toString() to avoid need for reflection to be able to compare object identifiers.
2019-12-20 12:10:35 +01:00
Tyler Benson
32db01200c
Merge pull request #1131 from fujigon/feature/debugging
...
apply comma split logic to servlet request extract adapter
2019-12-19 09:06:12 -08:00
Pawel Chojnacki
bb05700806
[rmi] Improve connection overhead and add additional metadata
...
- Cache response per connection to ensure as little communication overhead as possible is needed
- change context payload serialization to use plain hashmap
+ add more logging
- only set parent context on root entry point
+ use decorator to create spans
- Use Instrumentation context to avoid reflection
- separate integration parts into packages
2019-12-19 17:21:16 +01:00
Pawel Chojnacki
832605a01a
[rmi] Add distributed context propagation
...
The flow for context propagation is as follows.
* <p>We inject into StreamRemoteCall constructor used for invoking remote tasks and performs a
* backwards compatible check to ensure if the other side is prepared to receive context propagation
* messages then if successful sends a context propagation message
*
* <p>Context propagation consist of a Serialized HashMap with all data set by usual context
* injection, which includes things like sampling priority, trace and parent id
*
* <p>As well as optional baggage items
*
* <p>On the other side of the communication a special Dispatcher is created when a message with
* DD_CONTEXT_CALL_ID is received.
*
* <p>If the server is not instrumented first call will gracefully fail just like any other unknown
* call. With small caveat that this first call needs to *not* have any parameters, since those will
* not be read from connection and instead will be interpreted as another remote instruction, but
* that instruction will essentially be garbage data and will cause the parsing loop to throw exception
* and shutdown the connection which we do not want
2019-12-19 17:21:07 +01:00
Pawel Chojnacki
0ee80a0b95
[rmi] Instrumentation for RMI 1.2 and later
...
includes instrumentation of client and server endpoints
currently missing passing of execution context from client to server
2019-12-19 17:20:50 +01:00
Tyler Benson
fb8f7af342
Merge pull request #1149 from DataDog/tyler/jdk-muzzle
...
Add option for muzzle validation on the specific JDK version
2019-12-19 08:14:54 -08:00
kfujita
b707a3aab9
move multi-value aware logic to Extractor.
2019-12-19 13:33:08 +09:00
kfujita
0f3125498c
add test case
2019-12-19 13:33:03 +09:00
kfujita
a5e693bb92
assert fix same as JettyServlet3Test
2019-12-19 13:32:09 +09:00
Laplie Anderson
dc0cbeb95d
apply comma split logic to servlet request extract adapter
2019-12-19 13:32:09 +09:00
Tyler Benson
31b77cbd7b
Capture error message even if no exception object provided.
...
This is currently only used by the GoogleHttpClient instrumentation, but may be used by customers too.
2019-12-18 13:49:24 -08:00
Tyler Benson
ded28674d3
Add option for muzzle validation on the specific JDK version
...
This is still useful to validate various aspects of the integrations even if it doesn't need to check against maven.
2019-12-18 13:40:19 -08:00
Tyler Benson
7095ea3426
Add async propagation flags for kafka consumer.
2019-12-18 10:40:54 -08:00
Tyler Benson
96edbe8b8a
Add better exception handling in Agent initialization
...
An invalid statsd hostname causes an exception for jmxfetch. This should be an error, but not prevent the app from starting.
Also improved log variable name consistency.
2019-12-17 14:15:42 -08:00
Tyler Benson
99992df998
Fix tagging query string for additional servers
...
Add test to common test suite and adapt each test.
2019-12-17 09:33:27 -08:00
Tyler Benson
a2b86e6b96
Pin kafka latestDepTest version to 2.3.x
...
2.4.0 introduces test failures:
```
Caused by: java.lang.NoClassDefFoundError: org.I0Itec.zkclient.ZkClient
```
when executing `compileLatestDepTestGroovy`.
2019-12-16 08:51:30 -08:00
Tyler Benson
839de614a5
Merge pull request #1136 from DataDog/tyler/tag-query
...
Capture full servlet URL in decorator
2019-12-12 15:16:38 -08:00
Laplie Anderson
86c3e80121
End Play 2.6 muzzle at 2.8 because its breaking
2019-12-12 17:47:21 -05:00
Tyler Benson
b00cdee54a
Capture full servlet URL in decorator
...
This is needed in order to tag the query string (when configured).
Full test suite will follow in future PR.
2019-12-12 13:47:40 -08:00
Brian Devins-Suresh
cf3f04f509
Merge pull request #1129 from DataDog/brian.devinssuresh/jedis-3.0
...
Add support for jedis 3.0+
2019-12-11 11:22:16 -05:00
Laplie Anderson
8cae56219b
Adding some implementation comments
2019-12-10 18:28:21 -05:00
Laplie Anderson
f836f8976a
Combine onControllerStart and onAbort
2019-12-10 18:07:26 -05:00
Laplie Anderson
73062199b0
Move constants to decorator
2019-12-10 14:00:31 -05:00
Laplie Anderson
5d2d19af75
Rename class since they instrument the context
2019-12-10 14:00:31 -05:00
Laplie Anderson
54ba905224
Add a Resteasy 3.1 test set
2019-12-10 14:00:31 -05:00
Laplie Anderson
498d2bd461
Add ContextRequestFilter instrumentation to JAX-RS
2019-12-10 14:00:31 -05:00
Tyler Benson
307e56714e
Merge pull request #1133 from DataDog/tyler/move-dropwizard-tests
...
Move dropwizard tests to dropwizard project
2019-12-10 10:51:42 -08:00
Tyler Benson
55fe3ba228
Move dropwizard tests to dropwizard project
...
This separate directory helps to avoid conflicts with JerseyTest.
ResourceTestRule usage in JerseyTest was causing some odd interactions which resulted in traces not being reported.
2019-12-10 10:08:04 -08:00
Laplie Anderson
7717dbf5d8
Merge pull request #1115 from trask/fix-sporadic-test-failure
...
Fix sporadic test failure in Elasticsearch53SpringRepositoryTest
2019-12-10 12:58:25 -05:00
Laplie Anderson
fa14af40c3
Fix muzzle issue with async instrumentation
2019-12-06 18:18:34 -05:00
Brian Devins-Suresh
c7329e4b6b
Work around muzzle feature missing
2019-12-06 14:12:46 -05:00
Laplie Anderson
d2db6b6fd9
Merge pull request #1098 from DataDog/tyler/jax-rs-annotation-inheritance
...
Support JAX-RS Annotation Inheritance
2019-12-06 13:49:46 -05:00
Brian Devins-Suresh
c72f2d3b45
Fix muzzle test for 3.0
2019-12-06 13:45:05 -05:00
Brian Devins-Suresh
73eb217721
Make matchers more strict
2019-12-05 17:02:39 -05:00
Brian Devins-Suresh
2e5aff391d
Use random ports for embedded redis
2019-12-05 16:23:22 -05:00
Brian Devins-Suresh
00fb29f528
Some clean up
2019-12-05 15:59:12 -05:00
Brian Devins-Suresh
7b92c40cbc
Add support for jedis 3.0+
2019-12-05 15:09:58 -05:00
Laplie Anderson
42ac5fc024
Remove synchronization and static helper map
2019-12-04 15:43:28 -05:00
Tyler Benson
57c3ec196f
Merge pull request #1104 from trask/normalize-tag-verification
...
Normalize tag verification
2019-12-02 10:58:03 -08:00
Trask Stalnaker
ae0eb52cd7
Fix sporadic test failure
2019-11-27 10:31:59 -08:00
Trask Stalnaker
847a76cb04
Add missing tag verification
2019-11-22 10:59:47 -08:00
Trask Stalnaker
1987e86ebf
Normalize tag verification order
2019-11-22 10:59:45 -08:00
Douglas Q Hawkins
2d87882724
Merge pull request #1112 from DataDog/dougqh/jmxfetch-config-resource-leak
...
Closing metricconfigs.txt
2019-11-22 13:51:50 -05:00
dougqh
75727840df
Closing metricsconfigs.txt
2019-11-22 13:08:56 -05:00
Tyler Benson
10b0f35235
Merge pull request #1090 from DataDog/tyler/servlet-path
...
Add servlet.path tag
2019-11-22 09:18:14 -08:00
dougqh
be9743b86b
Eliminate class expression to Advice class
...
Changing Jasper instrumentation to not load the advice class.
This class was missed originally because it doesn't end in Advice.
2019-11-22 09:51:05 -05:00
Laplie Anderson
f0bbd46097
Typo in merge conflict resolution
2019-11-21 13:07:02 -05:00
Laplie Anderson
f1362a7d57
Merge branch 'master' into tyler/jax-rs-annotation-inheritance
2019-11-21 12:51:01 -05:00
Laplie Anderson
45c16a1c55
Create Play WS 2.1 Project
2019-11-20 18:13:41 -05:00
Zachary Groves
c4cebc30c8
Merge pull request #1097 from DataDog/ZStriker19/remove_duplicate_okhttp_span_and_okhttp_separate_service
...
Remove duplicate Okhttp span and stop separate service creation of ok…
2019-11-20 17:01:18 -06:00
Laplie Anderson
aa46e81e19
Copy instrumentation to jax-rs2
2019-11-20 15:38:17 -05:00
Laplie Anderson
75d66dee21
clean and fix tests
2019-11-20 13:14:35 -05:00
Laplie Anderson
7640e68337
The same classwalking is necessary for @Path
2019-11-20 13:07:04 -05:00
Laplie Anderson
fd4e2d09e1
Fix method iterable logic. methodPath, httpMethod working
2019-11-20 10:18:00 -05:00
Laplie Anderson
99acb52589
Merge pull request #1103 from DataDog/landerson/load-generator
...
Simple load generator tool
2019-11-19 10:19:14 -05:00
dougqh
6b096c2240
Replacing Advice.class references
...
Replacing Advice.class references with string construction.
This stops the JVM from loading the Advice classes which are used as templates for byte buddy and doesn't ever need to be run directly.
This eliminates ~130 class loads at start-up -- and saves 0.5MiB in metaspace
2019-11-18 16:09:30 -05:00
dougqh
022257ee55
Fixing resource leak
...
To check for existence, switching from getResourceAsStream to getResource
2019-11-18 10:52:23 -05:00
ZStriker19
caaff02c87
Needed to run Java google format.
2019-11-15 15:30:39 -05:00
Tyler Benson
393a88585a
First pass at supporting annotations inheritance for JAX-RS
...
[skip ci]
2019-11-15 11:53:16 -08:00