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
Tyler Benson
aa3fc0717e
Fix some formatting changes.
2018-07-20 10:31:14 +10:00
Nikolay Martynov
7c62e10542
Do not use advice class names in Lettuce instrumentation directly
...
Since this leads to Java8 code loaded into Java7 JVM in tests.
Insted reference class names by string.
2018-07-19 10:45:21 -04:00
Tyler Benson
12a2fce96d
Upgrade java formatter version.
2018-07-19 14:10:53 +10:00
Andrew Kent
46428dc6a3
Enable Lettuce instrumentation by default
2018-07-18 18:45:46 -07:00
Andrew Kent
23d0439b12
Remove muzzle dead code, doc cleanup, and better logging
2018-07-13 16:24:01 -07:00
Andrew Kent
2925df8de5
Clean up and document
2018-07-10 17:26:49 -04:00
Andrew Kent
8e182edc03
Replace BIPUSH with LDC to prevent overflow
2018-07-10 17:26:49 -04:00
Andrew Kent
33ec3f0304
Add missing ratpack helper
2018-07-10 17:26:49 -04:00
Andrew Kent
6faf63d6d8
Add missing memcached helper
2018-07-10 17:26:49 -04:00
Andrew Kent
ce73c403bf
Elasticsearch5 helpers
2018-07-10 17:26:49 -04:00
Andrew Kent
628f4929dc
Muzzle Assertions and gradle plugin
2018-07-10 17:26:49 -04:00