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
Nikolay Martynov
35b980ea89
Fix ElasticSearch config for 2.x client
2018-07-24 11:41:45 -04:00
Nikolay Martynov
732bce82d0
Fix typo
2018-07-23 10:04:53 -04:00
Nikolay Martynov
7794eacc91
Increase Cassandra request timeout in tests
2018-07-23 10:04:53 -04:00
Nikolay Martynov
b4b99d991c
Move AkkaHttpServerInstrumentation into Scala compilation
...
This is a hack to work around the problem of `auto-service` annotation
processing creating files with same name in `java` and `scala`
directories. This results in Jar having two files with the same name
instead of one concatenated file.
2018-07-23 10:04:53 -04:00
Nikolay Martynov
68ce09b461
Add missing Scala classes to list in injection classes
2018-07-23 10:04:53 -04:00
Nikolay Martynov
fd5d80ba86
Make muzzle plugin apply to Scala code
2018-07-23 10:04:53 -04:00
Nikolay Martynov
161847752f
Pass Span instead of Scope
2018-07-23 10:04:53 -04:00
Nikolay Martynov
5e67e6e5ba
Migrate to new instrumentation API
2018-07-23 10:04:53 -04:00
Nikolay Martynov
277e7a1a3c
Typo fix
2018-07-23 10:04:53 -04:00
Nikolay Martynov
db895f2e34
Remove redundant plugin from akka gradle file
2018-07-23 10:04:53 -04:00
Nikolay Martynov
ae37ca4b02
Add akka-http-client instrumentation: superPool
2018-07-23 10:04:53 -04:00
Nikolay Martynov
2b25de966a
Add akka-http-client instrumentation
...
This is a very-very first pass: instrument single request
2018-07-23 10:04:53 -04:00
Nikolay Martynov
6932d581ed
Add some helpful messages to AgentTestRunner assertions
2018-07-23 10:04:53 -04:00
Nikolay Martynov
f9f135cbd6
Do not run Spymemcached tests locally under Java7
...
since it requires external Memcached container running because
testcontainers doesn't work on Java7.
2018-07-23 10:04:53 -04:00
Nikolay Martynov
c844501bc5
Fixes for some minor checkstyle complaints
2018-07-23 10:04:53 -04:00
Nikolay Martynov
ce7866d018
Use `io.opentracing.log.Fields.*` instead of hardcoded strings
2018-07-23 10:04:53 -04:00
Nikolay Martynov
d4d770fe42
Pull out ratpack helper into seprate class to avoid copy-paste
2018-07-23 10:04:53 -04:00
Nikolay Martynov
a882a5439c
OkHttp instumentation: simplify error case
2018-07-23 10:04:53 -04:00
Nikolay Martynov
9d2755be17
Fix Google Java Formater violations
...
Some changes landed on master that do not comply with new formatter rules
2018-07-23 13:43:29 +10:00
Nikolay Martynov
4283e3acb1
Merge pull request #396 from DataDog/mar-kolya/test-http-client-timeout-increase
...
Increase build stability by increasing some http client timeouts
2018-07-22 21:35:32 -04:00
Tyler Benson
9988c8775f
Merge pull request #388 from DataDog/tyler/grpc
...
Instrument gRPC 1.5.0+
2018-07-23 11:19:48 +10:00
Nikolay Martynov
564b4e9dc3
Increase build stability by increasing some http client timeouts
...
This makes build more resilient to slow boxes and high parallelism
2018-07-22 00:41:37 -04:00
Nikolay Martynov
f1466304e8
Move random port generation to actual usage in tests using listening ports
2018-07-20 11:57:37 -04:00
Nikolay Martynov
c3825d9d52
Improve tmp dir handling in ES tests
...
Also make sure ES ports are allocated right before ES is started
2018-07-20 11:53:33 -04:00
Tyler Benson
a34f7b849b
Instrument gRPC
...
Adds spans for the duration of the connection and child spans for each message.
Also propagates the trace using the metadata object.
2018-07-20 12:25:04 +10:00