Andrew Kent
7aa86b8154
Merge pull request #475 from DataDog/ark/jax-muzzle
...
muzzle jax-rs instrumentation
2018-09-04 09:57:23 -07:00
Tyler Benson
96e02301f8
Merge pull request #473 from DataDog/tyler/combine-jms
...
Make JMS more resilent to property failure
2018-09-04 09:24:09 +10:00
Gary Huang
dff9e2ef43
Muzzle Lettuce 5 Instrumentation
...
Add muzzle block and remove class loader matcher methods.
2018-09-01 14:34:42 -04:00
Andrew Kent
b781c3163c
muzzle jax-rs instrumentation
2018-08-31 13:51:15 -07:00
Gary Huang
d152126558
refactor HandlerFunctionAdapterAdvice
2018-08-31 14:31:03 -04:00
Gary Huang
df2699afc8
Address comments & add better resource naming for webflux spans.
...
Spans will now be named with the controller class name and method for request mapping (annotation based API), and lambda functions will be named with target class.lambda.
2018-08-31 14:31:03 -04:00
Gary Huang
c87fec36ac
Spring webflux instrumentation
...
instruments spring webflux 5+
2018-08-31 14:31:03 -04:00
Andrew Kent
9c42087ec3
Merge pull request #472 from DataDog/ark/jsp-enable
...
Enable and muzzle jsp instrumentation
2018-08-31 10:43:48 -07:00
Nikolay Martynov
52af1a2893
Merge pull request #474 from DataDog/mar-kolya/fix-netty-version
...
Fix netty version in instrumentation name
2018-08-31 12:35:39 -04:00
Nikolay Martynov
2b1f6382d4
Fix netty version in instrumentation name
2018-08-31 10:58:17 -04:00
Tyler Benson
8061bd2471
Add comment.
2018-08-31 16:27:31 +10:00
Tyler Benson
9cf7b28e88
Make JMS more resilent to property failure
...
Combine into single module and add test.
Replace classLoaderMatcher with muzzle check.
Thanks for the tip @adriancole.
2018-08-31 16:10:14 +10:00
Tyler Benson
2d04ef292e
Merge pull request #468 from DataDog/tyler/evict-typepool
...
Add eviction to a TypePool.CacheProvider’s cache
2018-08-31 08:57:18 +10:00
Andrew Kent
b637f9ef91
Enable and muzzle jsp instrumentation
2018-08-30 15:56:59 -07:00
Andrew Kent
6755bcbbdf
Enable and muzzle elasticsearch instrumentation
2018-08-30 15:12:18 -07:00
Nikolay Martynov
8034fc2afd
Merge pull request #470 from DataDog/mar-kolya/improve-es-tests
...
Improve ES tests
2018-08-30 17:03:33 -04:00
Andrew Kent
18ed9ee151
netty-4.1 muzzle
2018-08-30 11:29:04 -07:00
Nikolay Martynov
1d6349bafd
Improve ES tests
...
* Account for the fact that IndexAction and PutMappingAction are not
ordered deterministically
* Account for a fact that waiting for ES startup may produce multiple spans
2018-08-30 11:54:21 -04:00
Tyler Benson
6b0f20fc05
Add eviction to a TypePool.CacheProvider’s cache
...
Most items loaded are probably not often used. Puts an upper limit on the size and evicts unused Resolution’s over time.
2018-08-30 11:56:53 +10:00
Andrew Kent
61aaebfc97
Create muzzle references from ldc instructions
2018-08-29 17:18:11 -07:00
Andrew Kent
c06983ef34
muzzle netty-4.0 instrumentation
2018-08-29 13:28:25 -07:00
Andrew Kent
f08a2025dd
Fix dd-trace-api tracer registration in test runner
2018-08-28 19:05:18 -07:00
Andrew Kent
7154b54e10
Rename TracerBridge and Provider
2018-08-27 12:04:26 -07:00
Andrew Kent
9f1d22ea6b
Register TracerBridge in TracerInstaller instead of DDTracer init
2018-08-27 12:04:26 -07:00
Andrew Kent
9338faa013
Muzzle inverse assertions
2018-08-24 10:47:37 -07:00
Andrew Kent
26705142bb
Muzzle pass and fail directives in the same collection
2018-08-24 10:47:37 -07:00
Andrew Kent
b6d1c18af9
Allow muzzle directives to have extra dependencies
2018-08-24 10:47:37 -07:00
Andrew Kent
f06eb57449
Convert apache-http, akka, and play to muzzle plugin
2018-08-24 10:47:37 -07:00
Andrew Kent
c6841c9d06
Add maven version scanning to muzzle
2018-08-24 10:47:37 -07:00
Tyler Benson
63bee3737c
Enable executor instrumentation for gRPC server calls
...
This might be more than is needed. Maybe cut back later.
2018-08-24 20:25:13 +10:00
Tyler Benson
51d74f6147
Begin 0.14.0
2018-08-24 11:35:47 +10:00
Tyler Benson
6b71340b5b
Enable new netty instrumentation by default
...
Enabled the others in a separate PR and forgot to come back and enable this.
2018-08-24 09:32:51 +10:00
Tyler Benson
5a6215971a
Merge pull request #455 from DataDog/tyler/enable-integrations
...
Enable netty by default
2018-08-23 16:04:23 +10:00
Tyler Benson
36b49c7de3
Merge pull request #451 from DataDog/tyler/netty-client-fixes
...
Allow trace to persist across netty connect.
2018-08-23 16:03:58 +10:00
Tyler Benson
69c04ea4c3
Enable netty instrumentation by default
2018-08-23 08:43:31 +10:00
Tyler Benson
898647e000
Allow trace to persist across netty connect.
...
Also create span with error on connection failure.
Add tests for connection failure.
2018-08-22 09:45:33 +10:00
Nikolay Martynov
c95baef487
Wait for given reference to get GCed in `waitGC`
...
This should help to make sure that object we are interested in
actually gets GCed.
This change also improves tests for PendingTrace and ScopeManager to
make sure that trace gets cleaned up.
2018-08-21 10:05:10 -04:00
Nikolay Martynov
520676538c
Merge pull request #449 from DataDog/mar-kolya/add-distributed-tracing-tests
...
Add some tests for distributed tracing in Tomcat and Jetty
2018-08-20 20:30:27 -04:00
Andrew Kent
e28ee5f9e8
Add timeout to datadog classloader test
2018-08-20 11:10:08 -07:00
Nikolay Martynov
a0036a76cc
Add `runFinalization` to `waitForGC`
2018-08-19 00:49:27 -04:00
Nikolay Martynov
a4cded9b4f
Add some tests for distributed tracing in Tomcat and Jetty
2018-08-18 13:38:06 -04:00
Andrew Kent
2d8102c8f5
Register Datadog classloader as parallel capable
2018-08-17 15:42:49 -07:00
Tyler Benson
f7407708a3
Merge pull request #444 from DataDog/tyler/test-http-server
...
Replace Ratpack test server with Jetty wrapped with groovy
2018-08-17 11:38:21 +10:00
Tyler Benson
f60d71f379
Fix ServerTest from messing up AgentTestRunnerTest if ran first.
2018-08-17 11:14:04 +10:00
Tyler Benson
0b289205f8
Add fixme to adapter.
2018-08-17 10:53:12 +10:00
Tyler Benson
3fc2738179
Improve test coverage and reduce duplication
2018-08-17 10:36:45 +10:00
Nikolay Martynov
138f78ce4b
Make Muzzle log class being instrumented
2018-08-16 17:28:32 -04:00
Tyler Benson
0b6c1bc3d3
Fix tests for Java 7, 9, and 10
2018-08-16 14:23:58 +10:00
Tyler Benson
20993e7e16
Allow tests to run on all JDKs
2018-08-16 14:23:58 +10:00
Tyler Benson
e07dfffe5f
Migrate tests to new TestHttpServer
2018-08-16 14:23:58 +10:00
Tyler Benson
63746907e4
Add TestHttpServer
2018-08-16 14:23:58 +10:00
Tyler Benson
3f2ec7dc48
Move to separate packages
2018-08-16 12:24:27 +10:00
Andrew Kent
3c1bf569ea
Add reference pretty-printer to muzzle plugin
2018-08-15 10:01:19 -07:00
Andrew Kent
c351a4825e
Regenerate muzzle bytecode when run multiple times
2018-08-15 09:49:50 -07:00
Nikolay Martynov
36ec5d51e5
SafeHasSuperTypeMatcher: handle exceptions when getting class erasure
2018-08-15 09:49:50 -07:00
Andrew Kent
a7c63b9261
Clarify comment for safe interface iteration.
2018-08-15 09:49:50 -07:00
Andrew Kent
57e85d4a13
Catch and log instrumentation matcher exception
...
Catching instrumentation matcher exceptions at the Instrumenter level
allows other, unrelated instrumentation to match.
2018-08-15 09:49:50 -07:00
Andrew Kent
d64b162539
Remove safeMatch from element matcher and document bb cache class
2018-08-15 09:49:50 -07:00
Andrew Kent
260e3520aa
Fix classloading integration tests
2018-08-15 09:49:50 -07:00
Andrew Kent
35c6fa2343
More error catching in safe matcher and reduce log level
2018-08-15 09:49:50 -07:00
Andrew Kent
75a6cee068
Add DDCachingPoolStrategy to reuse type descriptions
2018-08-15 09:49:50 -07:00
Ark
f01c8349cc
Deep-merge Reference fields and methods
...
Plus misc cleanup.
2018-08-15 09:49:50 -07:00
Andrew Kent
e7bb7cfb3e
Remove findLoadedClass
2018-08-15 09:49:50 -07:00
Andrew Kent
50c5a57c49
Replace UnloadedType with ByteBuddy TypeDescription
2018-08-15 09:49:50 -07:00
Andrew Kent
937e9a6cef
Add more methods to PatchLogger
2018-08-15 09:49:37 -07:00
Andrew Kent
27cade057c
Delegate bootstrap resource loading for unloaded types
2018-08-15 09:49:37 -07:00
Andrew Kent
f8f45d7f14
Muzzle field matching
2018-08-15 09:49:37 -07:00
Andrew Kent
c4daf007e3
Muzzle method and access matching
2018-08-15 09:49:37 -07:00
Andrew Kent
4887822eba
Muzzle method ref creation and matching
2018-08-15 09:46:30 -07:00
Andrew Kent
0f6761dd4b
Optimize Instrumenter logging
2018-08-15 09:46:30 -07:00
Andrew Kent
55a0abce68
Add notes of potential references to ReferenceCreator
2018-08-15 09:46:30 -07:00
Tyler Benson
2893eb6035
Merge pull request #435 from DataDog/tyler/jax-rs-improvements
...
Add span for jax-rs representing controller execution
2018-08-15 14:03:31 +10:00
Gary Huang
67c0f2fa03
Merge pull request #431 from DataDog/gary/okhttp-log
...
Remove Util Logger and Refactor test
2018-08-14 18:11:59 -04:00
Tyler Benson
84d38a8270
Merge pull request #439 from DataDog/tyler/method-signatures
...
Cleanup method signatures and servlet 2 instrumentation
2018-08-13 17:29:02 +10:00
Tyler Benson
f801cbd466
Merge pull request #428 from DataDog/tyler/use-WeakConcurrentMap
...
Use WeakConcurrentMap
2018-08-13 16:44:16 +10:00
Tyler Benson
dd11429575
Remove unused fields
2018-08-13 16:43:32 +10:00
Tyler Benson
232708e457
Prevent abstract classes from going through the muzzle plugin.
2018-08-13 15:35:46 +10:00
Tyler Benson
4583d12b31
Cleanup method signatures and servlet 2 instrumentation
...
adding the abstract servlet instrumentation reduces code duplication and makes it more similar to servlet 3 instrumentation.
2018-08-13 15:14:10 +10:00
Nikolay Martynov
44f501fa53
Fix resources directory name in lagom tests
2018-08-11 06:42:53 -07:00
Nikolay Martynov
fc8cc47f85
WeakMap improvements
...
* Improve tests to not depend on thread schedulting
* Test all underlying implementations
* Reduce number of static values
2018-08-10 22:16:21 -07:00
Tyler Benson
6cef9b89b0
Make some things non-static
2018-08-10 15:41:26 +10:00
Tyler Benson
b220309a68
PR review changes.
2018-08-10 12:23:13 +10:00
Tyler Benson
984bc7563d
Add span.origin.type for JSP too.
...
Might be slightly redundant given `jsp.requestURL` but consistent with other instrumentation.
2018-08-10 12:14:16 +10:00
Tyler Benson
d5cc84ea9f
Add span for jax-rs representing controller execution
...
Also add additional `span.origin.type` tags for better visibility.
2018-08-10 10:36:42 +10:00
Tyler Benson
a3875aff2c
Logging improvements and other misc
...
from reviewing a customer’s logs.
2018-08-09 15:59:59 +10:00
Tyler Benson
ae9d4619a4
Add instrumentation showing the rendering time
2018-08-09 13:10:45 +10:00
Tyler Benson
eacc2d6402
Restructure how WeakMap is implemented
...
Use an interface.
Use a provider/supplier to avoid loading more onto the bootstrap classpath.
2018-08-08 16:54:44 +10:00
Gary Huang
2041d56de8
use Slf4j annotation.
2018-08-07 18:29:55 -04:00
Gary Huang
abffe1779b
Remove Util Logger and Refactor test
...
OKHttp instrumentation will not be using the java util logger, also applies the string representaiton of ip address for IPV4/6 tags. Refactored test.
2018-08-07 18:29:22 -04:00
Tyler Benson
5e55defeb3
Fix bootstrap classpath.
2018-08-07 17:11:42 +10:00
Tyler Benson
d05e2cfe86
Add span for spring web controller.
2018-08-07 17:03:07 +10:00
Tyler Benson
fff3118dec
separate spring web and error instrumentation.
2018-08-07 16:33:51 +10:00
Tyler Benson
05dc51633a
Update Spring Tests
2018-08-07 16:04:28 +10:00
Tyler Benson
9b00a27dce
add javadoc and comparison
2018-08-07 12:42:14 +10:00
Tyler Benson
847484cd47
Use WeakConcurrentMap
...
Instead of `Collections.synchronizedMap(new WeakHashMap<>())`.
2018-08-06 14:14:57 +10:00
Tyler Benson
e7aa7c52b4
Improve comments and add synchronization.
2018-08-06 11:38:28 +10:00
Tyler Benson
064ae4c238
Separate span for input and output streams.
2018-08-03 15:41:16 +10:00
Nikolay Martynov
911ad5f231
Merge pull request #417 from DataDog/mar-kolya/apache-http-client-fix-exception-handling
...
Apache http client fix exception handling
2018-08-01 14:58:28 -04:00
Nikolay Martynov
7ad9305927
Add some integration tests to check ByteBuddy's behavoir on class loading and parsing
2018-08-01 14:17:12 -04:00
Tyler Benson
50fde4c382
Begin 0.13.0
2018-08-01 13:03:37 +10:00
Nikolay Martynov
bb2126bd9a
Improve ByteBuddyElementMatchers javadoc
2018-07-31 20:14:03 -04:00
Nikolay Martynov
2bfb7b93ec
Disable Lagom circuit breaker
...
It looks like they fail tests from time to time
2018-07-31 20:14:03 -04:00
Nikolay Martynov
78e6a9c336
Get rid of DDAdvice
...
Newer ByteBuddy api simplifies things.
2018-07-31 20:14:03 -04:00
Nikolay Martynov
c66bd24d3a
Use `safeHasSuperType` instead of `isSubType`
...
`isSubType` may fail on certain class lookup problems, even on classes
unrelated to given instrumentation, preventing instrumentation from
being applied.
2018-07-31 20:14:03 -04:00
Nikolay Martynov
6693a93485
Remove onInstrumentationError from LagomTest
...
We not longer need it since our instrumentation can handle underlying
loading problem.
2018-07-31 20:14:03 -04:00
Nikolay Martynov
6bc1d1ab8e
Implement `saveHasSuperType` and use it instead of `hasSuperType`
...
The idea is to just 'trim' type hierarchy 'up-trees' that we cannot
resolve dring instrumentation instead of failing to instrument completely.
2018-07-31 20:13:59 -04:00
Nikolay Martynov
deec4a795c
Improve Apache HTTP client
...
Properly open and close outer span in multi-request cases
2018-07-31 20:12:17 -04:00
Nikolay Martynov
1ebe4732f8
Stop using `failSafe` matcher
...
It should not be necessary after we jave fixed class location issue
for ByteBuddy
2018-07-31 20:12:17 -04:00
Nikolay Martynov
bae79514c0
Fix DDLocationStrategy to use DataDog ClassLoader
...
This allows ByteBuddy to properly find classes injected into the
agent.
Thanks @realark for providing a fix!
2018-07-31 20:12:17 -04:00
Nikolay Martynov
4ae9263e1c
Set POOL_ONLY DescriptionStrategy for ByteBuddy
...
This makes sure no classes are loaded during instrumentation
transformation which allows us to safely instrument depndent classes.
2018-07-31 20:12:17 -04:00
Nikolay Martynov
b6118f0397
Apache HTTP Client: add test for redirected request
2018-07-31 20:12:17 -04:00
Tyler Benson
9a6efe69f4
Fix netty dependency and class version checking
2018-07-31 17:42:40 +10:00
Tyler Benson
b1304b478a
Change http server span type back to `web`
2018-07-31 12:53:50 +10:00
Tyler Benson
e6da80bb12
datastores
2018-07-31 12:53:50 +10:00
Tyler Benson
00a2e891b0
http servers
2018-07-31 12:53:50 +10:00
Tyler Benson
3856e7fd1a
http clients
2018-07-31 12:53:50 +10:00
Tyler Benson
01d57fb497
elasticsearch
2018-07-31 12:53:50 +10:00
Tyler Benson
d3ce57d84f
mongo
2018-07-31 12:53:50 +10:00
Tyler Benson
094552cad3
memcache
2018-07-31 12:53:50 +10:00
Tyler Benson
2e7899b405
redis
2018-07-31 12:40:47 +10:00
Tyler Benson
ff9ef671f3
Apply formatter on groovy files.
2018-07-31 12:09:28 +10:00
Tyler Benson
51919a77bb
Apply formatter on java files.
2018-07-31 12:07:43 +10:00
Tyler Benson
bc3af56b08
Apply formatter on scala files.
2018-07-31 12:07:30 +10:00
Tyler Benson
b5c8a8b8fc
Apply formatter on gradle files.
2018-07-31 12:04:00 +10:00
Gary Huang
4c88e1a0a8
Merge pull request #392 from DataDog/gary/uint64-id-support
...
Change the internal storage and handling of trace ID, span ID, and pa…
2018-07-30 15:01:10 -04:00
Tyler Benson
4e60246e17
Merge pull request #405 from DataDog/tyler/servlet-async
...
Refactor servlet instrumentation and disable async on response.
2018-07-30 10:27:54 +10:00
Nikolay Martynov
f6edf913b7
Remove functions that do reflection which is not Java10 compliant
...
These functions are not used anylonger
2018-07-27 14:56:28 -04:00
Andrew Kent
b64be6228c
Don't check for helper classes in muzzle reference check
2018-07-27 11:03:02 -07:00
Nikolay Martynov
fadce5c6b3
Merge pull request #400 from DataDog/mar-kolya/java10-support
...
Java10 support
2018-07-27 13:38:39 -04:00
Andrew Kent
ee594f8567
Use connect operationName in httpurlconnection connect-first case
2018-07-26 15:34:27 -07:00
Andrew Kent
54485c3296
Don't trace httpurlconnection as a top-level trace
2018-07-26 15:34:27 -07:00
Andrew Kent
d598515d09
Handle cases where connect() is called first
2018-07-26 15:34:27 -07:00
Andrew Kent
df95af53a7
Remove getResponseCode() from httpurlconneciton instrumentation
2018-07-26 15:34:27 -07:00
Andrew Kent
2a35ecb497
Use connected field to determine io status of httpurlconnection
2018-07-26 15:34:27 -07:00
Gary Huang
2780ac7ac1
POC sun JDK http urlconnection instrumentation, currently creates one span.
2018-07-26 15:34:27 -07:00
Nikolay Martynov
0f80f7dd40
Remove old checks from HelperInjector
...
They are not really producing anything useful anf they depend on API
that is forbidden in Java9+
2018-07-26 10:11:24 -04:00
Nikolay Martynov
44b364332a
Remove unused field and method
2018-07-26 10:11:20 -04:00
Nikolay Martynov
3f158bb47f
Fix `SpockRunner` BootstrapJar creation under Java9+
2018-07-26 10:01:55 -04:00
Nikolay Martynov
8cc2f6cbb2
Skip `jdk.internal.reflect.DelegatingClassLoader` in `ClassLoaderMatcher`
...
This is the same thing as `sun.reflect.DelegatingClassLoader` in older JVMs
2018-07-26 10:01:55 -04:00
Gary Huang
6317b21d5c
Fix merge conflicts with service mapping change
2018-07-26 09:16:41 -04:00
Tyler Benson
1e36343485
Null or empty tags should remove previously set values.
...
Add context to servlet2 test.
Clean up some declared tracers that mess up the classpath.
2018-07-26 12:20:37 +10:00
Tyler Benson
fb2817a134
Refactor servlet instrumentation and disable async on response.
...
Separate out common advice between instrumentation.
2018-07-25 15:12:55 +10:00
Nikolay Martynov
b30ed0dfa0
Merge pull request #404 from DataDog/mar-kolya/fix-kafka-streaming-flaky-test
...
Fix flaky test in kafka streaming
2018-07-25 00:17:01 -04:00
Nikolay Martynov
5c1ac58c3f
Fix flaky test in kafka streaming
2018-07-24 23:41:01 -04:00
Nikolay Martynov
7b644161d3
Migrate ApacheHttpClientTest to use span assertion api
2018-07-24 23:28:37 -04:00
Nikolay Martynov
c98d5ef64b
Increase ElasticSearch timeout in tests
...
Hopefully this would improve build stability
2018-07-24 23:07:18 -04:00
Gary Huang
93e70dcef6
Address comments and add test case for extracting non numeric IDs
2018-07-24 14:04:52 -04:00
Nikolay Martynov
3d8e76c2a4
Get rid of `WRITER_PHASER`
...
We have alternative way of doing the same thing and `Phaser` seems to be
not very correct way of doing this anyway.
2018-07-24 11:41:48 -04:00
Nikolay Martynov
dcbf8d674a
Akka-http-client: handle `singleRquest` throwing an exception
2018-07-24 11:41:48 -04:00
Nikolay Martynov
642b862c13
Do not reference `AkkaHttpClientTransformFlow` in instrumentation code
...
to avoid class loader problems
2018-07-24 11:41:48 -04:00