Marco Ferrer
bcfb2ac3e7
run formatter
2019-09-06 19:58:57 -04:00
Marco Ferrer
8ee5d8ddc0
assert status code tag in streaming tests
2019-09-06 19:17:36 -04:00
Marco Ferrer
f587011238
add TracingServerCall to helper class names
2019-09-06 18:48:44 -04:00
Marco Ferrer
57e03cc9ea
update tests for new tags
2019-09-06 18:42:40 -04:00
Marco Ferrer
61d85d997a
add comments for tracing call forwarder
2019-09-06 18:42:11 -04:00
Marco Ferrer
b0074495f9
update tests for server error tag
2019-09-06 16:35:19 -04:00
Marco Ferrer
b547886a0d
introduce tracing call forwarder
2019-09-06 14:58:58 -04:00
Marco Ferrer
6ac07abe2b
fix span error tagging in grpc server interceptor
2019-09-06 12:25:31 -04:00
Tyler Benson
cd6dcf393b
Apply fixed default operation name for @Trace generated spans
...
This should help reduce issues with multiple top level spans.
2019-09-05 16:21:27 -07:00
Tyler Benson
c410f5b78b
Add additional tags for aws-sdk spans
...
s3 -> bucket name
dynamodb -> table name
sqs -> queue name/url
kinesis -> stream name
2019-09-04 12:41:45 -07:00
Laplie Anderson
3323bbc5b1
java.sql classes are not always present
2019-09-04 13:11:03 -04:00
Laplie Anderson
457410ea4e
Run all tests on all java version
2019-09-03 13:03:16 -04:00
Tyler Benson
a693c42dc1
Merge pull request #969 from DataDog/labbati/jax-rs-op-name
...
Static operation names for JaxRS instrumentation to be used as root span
2019-08-30 14:09:46 -04:00
Tyler Benson
aec22640f3
Remove unused method and finish comment
...
Also adjust naming slightly.
2019-08-30 13:52:54 -04:00
Luca Abbati
0b0d75bcf2
Jax-rs user METHOD PATH as resource only when root span
2019-08-30 19:28:55 +02:00
Luca Abbati
0b71c6bbe5
Rename operation jax-rs.endpoint to jax-rs.request
2019-08-30 17:57:03 +02:00
Luca Abbati
d877039fa7
Set span.type = web on jax-rs endpoints
2019-08-30 13:57:30 +02:00
Luca Abbati
359ac9c190
Fix indentation in JaxRS instrumentation test
2019-08-30 13:05:24 +02:00
Luca Abbati
d9f09e6af5
Minor refacotrings to JaxRsAnnotationsInstrumentation.java
2019-08-30 12:23:41 +02:00
Luca Abbati
37dcfe5385
Use static operation names for JaxRS instrumentation
2019-08-30 12:18:41 +02:00
Tyler Benson
09ad2374cf
Disable Grizzly instrumentation by default
...
Otherwise it can interfere with the more common Servlet instrumentation (changing the root span name).
Unify attribute/property name for saving span on a request/context.
Also add tests for embedded GlassFish.
2019-08-27 13:27:57 -04:00
Laplie Anderson
3f29e72317
Merge pull request #960 from DataDog/landerson/module-reference-fix
...
Ensure injected modules can read helper class modules
2019-08-27 12:42:34 -04:00
Tyler Benson
5f0e13f6c4
Merge pull request #956 from DataDog/tyler/play-testing
...
Update Play instrumentation to work with 2.7
2019-08-27 12:22:25 -04:00
Tyler Benson
263c442bdb
Fix order of operations
2019-08-27 12:06:21 -04:00
Laplie Anderson
7a41ca7d6e
Change whitelist fields from static to instance
2019-08-27 12:06:01 -04:00
Laplie Anderson
25c0d19f23
CodeNarc complains about the unused variable
2019-08-26 11:19:03 -04:00
Laplie Anderson
7b66a31d80
Ensure injected modules can read the helper class module
2019-08-23 19:14:10 -04:00
Laplie Anderson
9c5766162a
Add test for ClassNotFound creating a span bug
2019-08-23 13:04:56 -04:00
Tyler Benson
e74167adf2
Update Play instrumentation to work with 2.7
...
(Don’t be surprised when things break with 2.8… They’re religious about removing deprecated methods on minor release versions. If they followed standard convention, they’d likely be on at least 11.x.)
Add client test for 2.4-2.5 http library. 2.6+ won’t work because the underlying frameworks we instrument are shaded.
Also add server tests. We could do a lot more testing since it seems play still supports using Netty as the backing server even though it’s not the default. It’s difficult to do extensive testing though because they have so many breaking changes between versions.
2019-08-22 12:43:13 -07:00
Tyler Benson
e69edaec14
Remove project config centrally defined and other misc cleanup
2019-08-22 12:43:13 -07:00
Tyler Benson
28f4038122
Be more specific about thread assertion.
2019-08-20 09:43:27 -07:00
Tyler Benson
76c98598e2
Merge pull request #949 from DataDog/tyler/ratpack-testing
...
Improve Ratpack context propagation and migrate tests
2019-08-16 14:03:39 -07:00
Tyler Benson
452a619b4b
Muzzle doesn’t seem to like those helper classes there
...
Had to move them externally for muzzle to be happy.
2019-08-16 10:10:09 -07:00
Tyler Benson
3958cebecf
Merge pull request #953 from DataDog/tyler/grpc-client-async
...
Enable async propagation for grpc client callbacks.
2019-08-16 09:38:55 -07:00
Tyler Benson
fc30b4c5bb
CR fixes.
2019-08-16 09:22:44 -07:00
Tyler Benson
8c490a42a2
Improve Ratpack context propagation and migrate tests
2019-08-16 09:17:50 -07:00
Tyler Benson
473aca7c08
Merge pull request #948 from DataDog/tyler/grizzly
...
Add instrumentation and tests for Grizzly 2.x Http Server
2019-08-16 09:06:58 -07:00
Tyler Benson
20277f5f4a
Minor CR fixes.
2019-08-16 08:47:52 -07:00
Tyler Benson
b69f9ea041
Enable async propagation for grpc client callbacks.
2019-08-15 17:12:32 -07:00
Nikolay Martynov
63cd73e79e
Remove obsolete check
...
We are no longer using UrlConnection to send traces
2019-08-14 16:46:31 -04:00
Nikolay Martynov
b0ff861392
Do not trace openConnection for Datadog ClassLoader
2019-08-14 16:46:23 -04:00
Tyler Benson
f5b73260ed
Add instrumentation and tests for Grizzly 2.x Http Server
2019-08-13 16:05:11 -07:00
Tyler Benson
ab623ab7b4
Merge pull request #942 from DataDog/tyler/http-server-testing
...
Jetty 8 test migration and ignoreParent
2019-08-13 13:07:18 -07:00
Tyler Benson
bbfd02befc
Update Jackson to 2.9.9.3
...
As recommended by https://nvd.nist.gov/vuln/detail/CVE-2019-14379
(Remove unused dependency)
2019-08-12 16:41:57 -07:00
Tyler Benson
2d08464be3
Fixes
2019-08-07 10:48:14 -07:00
Tyler Benson
6dd729b843
Jetty 8: ignore parent and move to HttpServerTest
...
This method of using jetty doesn’t seem to work with Servlet’s Async. Native Jetty uses Continuations which we don’t support and should investigate instrumenting.
2019-08-07 09:35:04 -07:00
Tyler Benson
49249c0c6e
Move server field to HttpServerTest
2019-08-07 08:35:18 -07:00
Tyler Benson
f3e9fa22ef
Add HttpServerTest for redirects
2019-08-07 08:35:18 -07:00
Laplie Anderson
548e4ed6e4
Merge pull request #934 from DataDog/landerson/remove-temp-jars
...
Eliminate temporary jars for instrumentation, jmxfetch, and bootstrap
2019-08-06 18:32:41 -04:00
Tyler Benson
1cfa847081
Merge pull request #941 from DataDog/tyler/common-deps
...
Remove common (redundant) dependencies
2019-08-06 15:29:14 -07:00
Tyler Benson
95a294a560
Remove common (redundant) dependencies
2019-08-06 14:51:04 -07:00
Tyler Benson
efd0e5fb18
muzzle fix
2019-08-06 16:26:43 -04:00
Tyler Benson
d77487017e
muzzle fix
2019-08-06 08:58:36 -07:00
Tyler Benson
38cc03ae9e
Misc fixes
2019-08-06 08:11:37 -07:00
Tyler Benson
668b1059f5
Migrate vertx tests to HttpServerTest
2019-08-05 15:52:04 -07:00
Tyler Benson
c5ccc67743
Migrate Akka-Http Server tests and add ignoreParent()
2019-08-05 08:42:46 -07:00
Tyler Benson
c60e1dbcba
Set ignoreActiveSpan for Servlet 2 and capture status code
...
This change wraps the servlet response object in order to collect the status code. This can be risky if the code is expecting a raw type object. We are extending a standard “HttpServletResponseWrapper” though, so it should be easy to work around.
This change also moves to the standard HttpServerTest for Servlet 2.
2019-08-05 08:42:46 -07:00
Tyler Benson
2aa69d8203
Merge pull request #932 from DataDog/tyler/servlet-testing
...
Migrate servlet tests to HttpServerTest and ignoreActiveSpan for "root"
2019-08-05 08:35:48 -07:00
Tyler Benson
6f229305bb
Review fixes
2019-08-02 10:01:03 -07:00
Luca Abbati
097c8186ba
Merge pull request #906 from DataDog/labbati/atlas-1.1.0-compatibility
...
Make netty 4.0 attributes definition compatible with Apache Atlas 1.1.0
2019-08-02 16:27:23 +02:00
Laplie Anderson
21b12328fa
OSGI bootstrap delegation
2019-07-31 11:32:20 -04:00
Laplie Anderson
e8e4f2649b
Bootstrap prefixes need to be in *3* places
2019-07-31 10:41:42 -04:00
Tyler Benson
9681b91f3e
Fix test. Format.
2019-07-29 15:27:26 -07:00
Tyler Benson
d6b903665e
Copy servlet listener over to new context on dispatch.
...
This allows it to finish the span with the correct response.
2019-07-26 16:30:23 -07:00
Tyler Benson
c3203dace8
Migrate servlet tests to HttpServerTest
...
Currently missing the authentication tests which need to be added to the parent, but other than that, testing is more thorough.
Discovered that trace propagation for Jetty Async is currently busted so I commented that portion of the test out until we can get it fixed.
2019-07-26 16:01:06 -07:00
Tyler Benson
023fb397b5
Merge pull request #928 from DataDog/tyler/http-server-testing
...
Base HttpServerTest and updated Netty test
2019-07-26 12:59:49 -07:00
Luca Abbati
8609a07eaf
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/atlas-1.1.0-compatibility
2019-07-26 11:23:06 +02:00
Tyler Benson
0d1bf5edd7
Limit Vert.x tests to 3.x
...
4.0.0-milestone1 was just released and is incompatible.
2019-07-25 15:32:54 -07:00
Tyler Benson
c1ec277944
Base HttpServerTest and updated Netty test
2019-07-24 15:54:07 -07:00
Tyler Benson
aaba3fc095
Fix trace propagation
2019-07-22 11:02:24 -07:00
Johan Vandeweerd
fff8006e51
Remove unused private method
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
0043efa164
Add documentation on conditions when DefaultWebClientAdvice is not applied
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
633db43cb1
Fix typo rawStatusCode in javadoc
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
bc51f04bd3
Replace hasSuperType with safeHasSuperType
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
8f96205579
Add Javadoc to rawStatusCode method that is not part of ClientResponse in spring-webflux-5.0
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
7059cca3cc
Add test for spring webflux webclient
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
872a099722
Remove onPeerConnection decorator call
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
23b8caa27c
Add decorator hooks during lifecycle of Publisher
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
ac11bba616
Replace operation name with static value
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
35b924b397
Replace span.log with span.tag
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
f5f8fe1c96
Add javadoc to clarify usage of this class
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
e4560ba50f
Instrument all subtypes of ExchangeFunction instead of only ExchangeFunctions$DefaultExchangeFunction
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
0e9edb1205
Aligned instrumentation names between DefaultWebClientInstrumentation and SpringWebfluxHttpClientDecorator
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
091648d4c7
Enable tracing for Spring Webflux WebClient
2019-07-22 11:01:41 -07:00
Johan Vandeweerd
797003b585
Moved Spring Webflux instrumentation code to server subpackage
2019-07-22 11:01:41 -07:00
Tyler Benson
7571b778ad
Merge pull request #886 from DataDog/tyler/netty-client-callback
...
Change the scope for the netty client callback
2019-07-22 11:00:17 -07:00
Luca Abbati
0ff56b0a9f
Improve tests readability moving common instance to test class
2019-07-22 11:19:13 +02:00
Luca Abbati
3817e76130
Apply doubled-check locking + same approach to attributes definition for netty-4.1
2019-07-22 11:15:33 +02:00
Laplie Anderson
22dc30526a
Merge pull request #925 from DataDog/landerson/resourcename-on-annotation
...
Add resource name to the @Trace annotation
2019-07-19 12:43:19 -04:00
Tyler Benson
ea4fc4ab28
Use NoopSpan instead of null for null parent.
...
Fix some more tests.
2019-07-19 09:26:40 -07:00
Tyler Benson
e692605a3b
Fix formatting
2019-07-19 09:26:40 -07:00
Tyler Benson
53ef8f020f
Additional testing for Vert.x
...
Adds reactive/circuitbreaker tests.
2019-07-19 09:26:40 -07:00
Tyler Benson
0e83304a87
Update Ratpack latest test
2019-07-19 09:26:40 -07:00
Tyler Benson
6ccb0d71d8
Change the scope for the netty client callback
...
Previously the scope was the http client span, which could result in deep nesting. Now it is the parent span.
Before
[——————Parent—————]
[ ^ ———Client—————]
[ ^—Child—]
Now:
[——————Parent—————]
[ ^ —Client—] [ ^—Child—]
Also improve the tests.
2019-07-19 09:26:40 -07:00
Laplie Anderson
cad2a3d4a4
Set resource name in a way that doesn't need to reference DDSpanBuilder
2019-07-19 12:26:17 -04:00
Luca Abbati
5921ed3ed1
Remove code not intended to be there
2019-07-19 18:14:48 +02:00
Laplie Anderson
d101bea085
Add DDSpanBuilder to helper classes of both instrumentations
2019-07-19 12:11:10 -04:00
Pedro Silva
ef5a006df2
changes requested: remove iterator() implementation from TracingList. refactor unit tests to expect only one element to be consumed. Kafka embedded instance as a Rule
2019-07-19 16:45:34 +01:00
Luca Abbati
9f0ec7ec49
Update helper classes
2019-07-19 17:24:58 +02:00
Luca Abbati
edacd7a41d
Refactor weak hash map to be able to reuse functionalities
2019-07-19 16:18:38 +02:00
Laplie Anderson
331b8c8e99
Add resource name to the @Trace annotation
2019-07-19 09:52:19 -04:00
Pedro Silva
2627a452c0
unit tests for records(TopicPartition) method of kafka-clients instrumentation. introduce safeguards when instrumenting iterator() so that duplication of traces is not allowed. do not allow subList() to be instrumented
2019-07-18 23:09:33 +01:00
Laplie Anderson
0f9b28df27
Merge pull request #914 from DataDog/landerson/google-http-client
...
Instrumentation of Google Http Client
2019-07-17 16:17:38 -04:00
Luca Abbati
48aff5f754
Add all helpers required for ClassLoaderScopedWeakMap usage + re-enable all tests
2019-07-17 09:49:26 +02:00
Luca Abbati
840b8b407d
No matter what, it won't work :) I am now in the mood 'try everything in the world until it works'
2019-07-16 15:39:00 +02:00
Luca Abbati
cb430c566b
Remove obsolete test
2019-07-16 11:53:22 +02:00
Luca Abbati
de6f33c035
Draft of per-classloader netty AttributeKey definition
2019-07-16 11:02:25 +02:00
Luca Abbati
fac3a93445
Make netty 4.0 attributes definition compatible with Apache Atlas 1.1.0
...
The issue we are trying to fix here seems to be a result of two concurrent issues.
Cassandra driver's used by atlas 1.1.0 brings in a old version of netty < 4.0.23.
In version 4.0.25 netty raised exception in `UniqueName` class for duplicate name
```
if (map.putIfAbsent(name, Boolean.TRUE) != null) {
throw new IllegalArgumentException(String.format("'%s' is already in use", name));
}
```
This changed in 4.0.26 where exception was not thrown, instead the duplicate key was just ignored.
```
protected UniqueName(String name) {
this.name = checkNotNull(name, "name");
id = nextId.incrementAndGet();
}
```
Now this alone would not be enough. The only way I was able to reproduce is if two different class loaders tries to load the
same class `AttributeKeys` twice.
I tried to look into Atlas source code (which is huge) and I could not find a clear path of how this would be possible.
Further more, looking at some build scripts that a user experiencing this issue provided,
it looks like they are doing everything correctly and there is nothing they should change.
In conclusion, I believe that even if this is not a very clean approach,
we should be resilient to this use case, when a customer using netty <4.0.25 in an
older version of Apache Atlas (or with some sort of class loader behavior).
2019-07-16 11:02:25 +02:00
Tyler Benson
747f758a70
Remove default instance
...
It’s not very interesting and breaks the definition of “instance” when we want to see the db name when no instance name is defined.
2019-07-15 12:52:57 -07:00
Nikolay Martynov
1fbe395586
Avoid Jetty 10 in servlet-3 test
...
Alpha version of Jetty 10 was released and it seems to be compiled for
java versions above 8 so tests fail on java8.
Limit latest dep Jetty tests to Jetty 9 for now.
2019-07-15 10:15:21 -04:00
Nikolay Martynov
3191eb7058
Avoid Jetty 10
...
Alpha version of Jetty 10 was released and it seems to be compiled for
java versions above 8 so tests fail on java8.
Limit latest dep Jetty tests to Jetty 9 for now.
2019-07-15 10:15:16 -04:00
Tyler Benson
ec931463a4
Merge pull request #885 from DataDog/tyler/instance-name-testing
...
Additional testing for split-by-instance config
2019-07-15 01:27:49 -04:00
Laplie Anderson
0eab4688cd
Remove unnecessary semicolons
2019-07-12 16:36:02 -04:00
Nikolay Martynov
6516bd7ad7
Minor comment update
2019-07-12 16:26:39 -04:00
Laplie Anderson
8a7336a017
Use 1.19.0 as first supported version
2019-07-12 16:06:19 -04:00
Laplie Anderson
82ee01cadf
Implement instrumentation for async requests
2019-07-12 15:41:14 -04:00
Nikolay Martynov
f4aa8be7c5
Make kafka streams test more stable
2019-07-11 11:07:17 -04:00
Nikolay Martynov
3ecc7c123d
Wait for traces in kafka streams tests
2019-07-11 10:51:55 -04:00
Nikolay Martynov
765b76b0ae
Fix kafka-streaming tests broken by records(TopicPartition) instrumentation
2019-07-11 10:31:18 -04:00
Nikolay Martynov
3e8b65290a
Instrument records(TopicPartition) in kafka consumer
2019-07-11 10:30:44 -04:00
Nikolay Martynov
142477ed0a
Merge branch 'master' into mar-kolya/kafka-trace-records
2019-07-10 18:15:51 -04:00
Tyler Benson
a13e4a0229
Merge pull request #910 from DataDog/labbati/jersey-1.19
...
Extend support for Jersey client to 1.9+
2019-07-10 15:02:11 -06:00
Tyler Benson
4501dbe920
Merge pull request #899 from dpratt/fix-akka-http
...
Fix akka-http instrumentation.
2019-07-10 14:39:47 -06:00
Tyler Benson
5624cef4af
fix check
2019-07-10 14:08:50 -06:00
Tyler Benson
4486c3a6ff
Change jax-rs-client project names to match versions
2019-07-10 13:25:48 -06:00
Tyler Benson
5526fd0ca3
Jersey client 1.9 cleanup
2019-07-10 13:11:09 -06:00
Nikolay Martynov
f484295460
Kafka instrumentation: make return type more general in instrumentation matching
2019-07-10 13:47:20 -04:00
Luca Abbati
c16a0844d8
Enable tracing of jax-rs client in sun package
2019-07-10 13:05:12 -04:00
Luca Abbati
3ab63e7005
Some refactoring in tests
2019-07-10 08:43:31 -04:00
Luca Abbati
0f5dd2413c
Add tests for Jersey V1 client
2019-07-09 22:49:44 -04:00
Luca Abbati
b62266fd52
First draft of jersey 1.19 client instrumentation
2019-07-09 21:13:00 -04:00
Laplie Anderson
caa7e4426a
Passing tests. Modify escaping of spaces in urls
2019-07-09 17:17:41 -04:00
Laplie Anderson
d97b1c2d53
Fix package
2019-07-09 17:17:41 -04:00
Laplie Anderson
30916ac5d7
Implementation
2019-07-09 17:17:41 -04:00
Laplie Anderson
f53b14bd0f
Stub google http client integration
2019-07-09 17:17:41 -04:00
Nikolay Martynov
058c4ec567
Trace 'records(TopicPartitions)` in kafka consumer
2019-07-08 11:19:17 -04:00
Nikolay Martynov
ffe4aabf8f
Specify version of hibernate-annotation
...
Using '+' pushes version of hibernate-core up as well and we do not
want thay.
2019-07-02 10:41:55 -04:00
Nikolay Martynov
94b2e91c3a
Fix hibernate DTD urls
...
Looks like old urls redirect to https with broken cert now
2019-07-02 10:41:32 -04:00
Luca Abbati
58da60ac4e
Fix typo in comment
2019-06-25 00:33:18 +02:00
David Pratt
681420a004
Remove SuperPool instrumentation.
...
By definition, a Flow generated by a SuperPool does not respect ordering
of requests and responses, and in fact will typically only rarely actually
behave in the fashion that the instrumentation expects. The previous implementation
would start a span for a given request before submitting it as input to the flow,
and close the span with whatever response is next emitted by the flow. This
request will rarely (if ever) be the actual response for the request that
started the span. For more info, see the official docs at
https://doc.akka.io/docs/akka-http/current/client-side/host-level.html#configuring-a-host-connection-pool
Additionally, compiling this instumentation against scala 2.11, and only
scala 2.11 can (and does) cause significant problems at runtime due to the
fact that Scala is explicitly not binary compatible across major versions.
2019-06-24 11:01:48 -05:00
Luca Abbati
8022d0e170
Remove redundant .class suffixes in groovy test files
2019-06-24 17:18:05 +02:00
Luca Abbati
d58c252085
Add tests for netty channel handlers added through channel initializers
2019-06-24 16:27:50 +02:00
Luca Abbati
27e0e4492e
Calculate depth per handler class in netty channel pipeline instrumentation
2019-06-24 16:27:50 +02:00
Luca Abbati
f01d473d10
Merge pull request #894 from DataDog/labbati/log4j
...
Support log trace injection for log4j 1.x and log4j 2.x when used without Slf4j
2019-06-21 16:36:26 -04:00
Luca Abbati
8ee6d26d15
Rename log4j 1 and 2 instrumentation to log4j1 and log4j2 respectively
2019-06-21 15:56:27 -04:00
Luca Abbati
f279a612f7
Minor fixes to typos and code styles
2019-06-21 15:53:13 -04:00
David Pratt
bf7bbf31f8
Fix akka-http instrumentation.
...
Remove compiled Scala artifacts from the actual instrumentation. Scala
is not binary compatible across major versions, and having
AkkaHttpClientTransformFlow.scala be in the artifact causes problems
when using anything but Scala 2.11.
Having the AkkaHttpClientTransformFlow implementation be in pure java
utilizing the Akka-stream Java DSL ensures that this will work across
any given Scala major version.
2019-06-21 14:51:04 -05:00
Laplie Anderson
ad822d81f9
Fix imports to match project style
...
* imports in groovy and the ordering of lombok was incorrect
2019-06-21 14:19:45 -04:00
Laplie Anderson
d80406843f
Add "http.query.string" and "http.fragment.string" to DDTags
2019-06-21 14:05:34 -04:00
Luca Abbati
d0f17e4b9d
Rename log context injection test base
2019-06-21 08:54:13 -04:00
Luca Abbati
27b4db8861
Remove legacy transitive dependencies no longer bundled with the JVM from muzzle tests
2019-06-20 21:29:46 -04:00
Luca Abbati
cba8ba1221
Refactor classes of log injection services to improve readability
2019-06-20 18:38:00 -04:00
Luca Abbati
b7393df473
Remove jms functionality brought in by log4j1.X dependency
2019-06-20 18:23:40 -04:00
Luca Abbati
4d1d5d1012
Introduce the mandatory test suite that a supported logging library MUST satisfy for log injection
2019-06-20 18:15:19 -04:00
Luca Abbati
c2bd5eefa0
Remove method that was copied and pasted from slf4j instrumentation but seems not to be relevant here
2019-06-20 17:55:43 -04:00
Luca Abbati
ecdf6664ef
Refactor log4jX instrumentations
2019-06-20 17:36:10 -04:00
Luca Abbati
34d589e536
Create a reusable log context listener to be used for slf4j, log4j1 and log4j2
2019-06-20 17:07:28 -04:00
Luca Abbati
dcf0f57030
Add support for log4j 1.x
2019-06-20 16:08:49 -04:00
Luca Abbati
8d562f91fd
Rename log4j package removing the left-over from sl4j original class
2019-06-19 12:35:22 -04:00
Luca Abbati
d9eb480f3c
Rename log4j2 module to reflect library name
2019-06-19 12:35:22 -04:00
Luca Abbati
22477efb7a
Add basic support for log4j ThreadContext for log injection.
2019-06-19 12:34:39 -04:00
Tyler Benson
2c240754fc
Additional testing for split-by-instance config
...
Some DB’s don’t define an instance, so verify the setting has no effect for them.
2019-06-14 10:08:17 -07:00
Tyler Benson
3ce3c7c8c5
Merge pull request #882 from DataDog/tyler/cassandra-testing
...
Update Cassandra Tests and more instance name cleanup
2019-06-14 08:02:21 -07:00
Tyler Benson
a4d53b0dcd
Update Cassandra Tests and more instance name cleanup
2019-06-13 15:55:40 -07:00
Tyler Benson
7e2f85d674
Fix latest test
2019-06-13 14:54:41 -07:00
Tyler Benson
3be6868981
Update Mongo instance name and remove memcache instance name
...
For mongo, use description if set, fallback to db name.
Memcache doesn’t have a good “instance name” that would work as service name, so clear it out for now.
2019-06-13 12:35:16 -07:00
Tyler Benson
75b626a84d
fix tests
2019-06-13 10:59:36 -07:00
Tyler Benson
25305444d4
Set minimum version and fix var name.
2019-06-13 10:44:42 -07:00
Tyler Benson
d26edd6c17
Ensure gradle runs base mongo test first
...
Otherwise there is a race condition between the projects initializing the mongo instance.
2019-06-13 10:44:42 -07:00
Tyler Benson
d6719ed5cd
Replace Mongo tests with updated tests.
2019-06-13 10:44:42 -07:00
Nikolay Martynov
b112043ea3
Merge pull request #876 from DataDog/mar-kolya/make-akka-test-more-stable
...
Make Akka client test more stable
2019-06-13 13:23:59 -04:00
Luca Abbati
075b30053d
Merge pull request #863 from DataDog/labbati/non-static-config
...
Avoid usage of static getters when accessing configuration parameters
2019-06-13 18:06:15 +02:00
Nikolay Martynov
f5f3386f79
Make Akka client test more stable
...
We already have a hack to wait for client span to close after the
request because it is closed on separate thread. This patch extends
that hack to handle cases when original request throws an exception.
2019-06-13 11:51:10 -04:00
Tyler Benson
ec3b586c2f
Merge pull request #866 from DataDog/tyler/jdbc-instance
...
Attempt to properly parse out instance name from JDBC url
2019-06-13 08:15:02 -07:00
Luca Abbati
a8dd35ef57
Improve AgentRunner and ConfigUtils class based on CR comments
2019-06-13 12:40:10 +02:00
Luca Abbati
a522196b49
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/non-static-config
2019-06-12 23:57:20 +02:00
Luca Abbati
e1ceda8f0e
Improve config usage as instance based on CR
2019-06-12 14:00:36 +02:00
Nikolay Martynov
6d5972bce1
Make agent-tooling compile-depend on dd-tracing-ot directly
...
This ensures that `dd-tracng-ot` gets included into shadow jar.
Before this patch it was included only 'by accident' via some
transitive dependencies of some instrumentations.
2019-06-11 14:49:44 -04:00
Tyler Benson
3c68c09101
Review fixes.
2019-06-11 11:12:50 -07:00
Tyler Benson
1a5a70650c
Fix SpringJpaTest
2019-06-10 17:18:58 -07:00
Tyler Benson
4469c7fb11
separate out driver subtype
...
to avoid changing existing service names
2019-06-10 16:17:36 -07:00
Tyler Benson
288add2a60
Fix slickdb test
2019-06-10 15:20:56 -07:00
Tyler Benson
0807598d16
Populate settings from properties and add MariaDB alt styles
2019-06-10 12:02:14 -07:00
Tyler Benson
ec60d679d6
Add Oracle support and fix muzzle.
2019-06-06 18:03:56 -07:00
Nikolay Martynov
822efd5df5
Skip couchbase 2.7.5 version in muzzle
...
This should make muzzle test pass. 2.7.5 was broken during its release.
2019-06-06 17:50:58 -04:00
Nikolay Martynov
0851dc4826
Undo Couchbase gradle hack
...
Looks like 2.7.5 has now fully propagated through the mirrors so we
can revert hack that made things compile.
2019-06-06 17:44:59 -04:00
Luca Abbati
1dc8467c26
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/non-static-config
2019-06-06 18:11:43 +02:00
Nikolay Martynov
eddf5d98d8
Undo akka latest dep hack
2019-06-06 10:05:18 -04:00
Tyler Benson
6100443443
Attempt to properly parse out instance name from JDBC url
...
Unfortunately implementations are INCREDIBLY inconsistent on the matter. Oracle implementation is still pending since it’s really complicated.
2019-06-05 18:01:33 -07:00
Luca Abbati
b6572bfd55
Reset test tracer in TraceAnnotationsTest to pick new configs
2019-06-05 18:52:25 +02:00
Luca Abbati
ae03abe63c
Adapt tests to the new Config approach instance vs static
2019-06-05 12:17:09 +02:00
Luca Abbati
901efee50e
Remove static usage of low level config methods from outside the config class
2019-06-04 15:13:40 +02:00
Tyler Benson
8016e22bc4
Review changes
2019-05-31 09:07:22 -07:00
Tyler Benson
9cdf049ca7
Extract ConfigUtils
2019-05-30 09:09:29 -07:00
Tyler Benson
a7c941c2ea
More fixes.
...
Notably added a transformer to make config easier to test with by making INSTANCE public static volatile.
2019-05-29 22:24:19 -07:00
Tyler Benson
fc9f1d120c
Misc fixes.
2019-05-29 13:54:35 -07:00
Tyler Benson
e260b1d044
Make all http client tests extend HttpClientTest
...
Add flexibility to handle inconsistencies between client integrations.
2019-05-29 13:54:35 -07:00
Tyler Benson
8c860d63a4
Revert Pull Request #854 and #855
...
These are breaking changes that need more vetting.
2019-05-29 12:18:31 -07:00
Luca Abbati
eb032d1c8e
Adding muzzle tests for glassfish 3 and 5
2019-05-29 17:53:42 +02:00
Luca Abbati
19c0b21332
Remove useless tests from Glassfish 4 instrumentation
2019-05-29 17:24:51 +02:00
Luca Abbati
37b734dd50
Some more attempts to UT glassfish classloader
2019-05-28 19:39:11 +02:00
Luca Abbati
f62e1dedeb
Add unit tests for glassfish 4.1 instrumentation
2019-05-28 15:06:43 +02:00
Luca Abbati
470a20dbce
Fix code formatting
2019-05-28 13:56:37 +02:00
Luca Abbati
5292b598d8
Remove log from GlassfishAdvice as log is not available
2019-05-27 16:20:46 +02:00
Luca Abbati
9d2523a58a
Reformat code
2019-05-27 15:50:47 +02:00
Luca Abbati
13cf53827d
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/jdbc-error-glasshfish
2019-05-27 15:18:18 +02:00
Luca Abbati
0c52ba58c4
Move glassfish 4 compatibility layer to instrumentation module
2019-05-27 15:17:04 +02:00
Nikolay Martynov
70fa97f8c2
Move code to make java7 happy
2019-05-24 16:55:39 -04:00
Nikolay Martynov
ef94e2fb79
Add note about Kafka consumer iterator thread safety
2019-05-24 16:37:27 -04:00
Nikolay Martynov
a3a325868c
Add some rudimetrary tests for CompletableFuture
2019-05-24 16:36:07 -04:00
Nikolay Martynov
0b85f048d1
Handle Scope in Kafka producer properly
...
Holding onto scope in `Callback` is bad because that code may run on
different thread.
2019-05-24 16:27:28 -04:00
Luca Abbati
a3a98ceac8
Merge pull request #856 from DataDog/labbati/set-spring-controller-async
...
Make spring controller spans to handle async
2019-05-24 18:47:35 +02:00
Luca Abbati
25e06b4965
Make spring controller spans to handle async
2019-05-24 17:42:06 +02:00
Nikolay Martynov
82f1a485d5
Merge pull request #855 from DataDog/mar-kolya/rabbitmq-client-service-name
...
Use default service name for RabbitMQ consumer
2019-05-24 10:51:28 -04:00
Nikolay Martynov
a7271ed2b2
Use default service name for RabbitMQ consumer
...
So spans parented by consumer span had reasonable service name
2019-05-24 09:06:22 -04:00
Nikolay Martynov
80a5cc6025
Set kafka client service name to application default service name.
...
So that spans inheriting from that client span have application
service name rather than 'kafka'
2019-05-23 20:21:03 -04:00
Nikolay Martynov
c5dbd7d0d7
Fix ApacheHttpAsync race condition
2019-05-17 13:49:46 -04:00
Nikolay Martynov
47e6216e6b
Merge pull request #842 from DataDog/mar-kolya/limit-couchbase-latest-dep-version
...
Do not try to build against couchbase 2.7.5 since it didn't sync up w…
2019-05-17 13:14:34 -04:00
Nikolay Martynov
48f951cee7
Merge pull request #841 from DataDog/mar-kolya/ignore-flaky-test
...
Wait for span to finish in apache-http-aync test
2019-05-17 13:13:38 -04:00
Tyler Benson
d900289ae0
Try again…
2019-05-17 10:01:37 -07:00
Nikolay Martynov
e52c654fd1
Wait for span to finish instead of ignoring test
2019-05-17 12:55:34 -04:00
Tyler Benson
b6ba1997ae
Add constraint for muzzle too
2019-05-17 09:32:15 -07:00
Nikolay Martynov
6287e552fc
Merge pull request #836 from DataDog/mar-kolya/do-not-send-headers-to-old-kafka
...
Do not send headers to old kafka servers
2019-05-17 11:55:52 -04:00
Nikolay Martynov
d01832a94d
Do not try to build against couchbase 2.7.5 since it didn't sync up with mirrors yet
2019-05-17 11:27:35 -04:00
Nikolay Martynov
c02110a2a1
Add comment explaining Kafka versions limitations check
2019-05-17 11:22:02 -04:00
Nikolay Martynov
387f094617
Ignore flaky apache-http-aync test
2019-05-17 11:19:24 -04:00
Nikolay Martynov
94907270a2
Merge pull request #837 from DataDog/mar-kolya/fix-apache-async-instrumentation-with-null-callback
...
Handle null callback in HttpAsyncApache instrumentation
2019-05-16 17:41:39 -04:00
Nikolay Martynov
b736ca3108
Handle null callback in HttpAsyncApache instrumentation
2019-05-16 17:26:08 -04:00
Nikolay Martynov
55d7c2a6f5
Do not send headers to old kafka servers
...
Kafka message bundles with versions below 2 (e.d. 0.10) do not support
headers so do not inject them. Otherwise client gets really upset.
This is how similar check is being done in Kafka client itself:
05fcfde8f6/clients/src/main/java/org/apache/kafka/common/record/MemoryRecordsBuilder.java (L411-L412)
2019-05-16 15:09:58 -04:00
Tyler Benson
354d17ac7d
Merge pull request #830 from DataDog/tyler/executor-config
...
Add config to enable individual executors
2019-05-16 10:05:29 -07:00
Tyler Benson
3bbf9f27eb
Fix resource name for Ratpack
...
Previous fallback would inadvertently include query parameters in the resource name.
2019-05-15 16:30:51 -07:00
Tyler Benson
cc23fee614
Add config to enable individual executors
...
Or all executors, bypassing the allow list.
`dd.trace.executor=com.MyCustomExecutor,com.OtherExecutor`
`dd.trace.executors.all=true`
Turns out in many cases, executors that we say we’re skipping, are still being traced because they extend from an already instrumented executor.
2019-05-14 10:03:44 -07:00
Nikolay Martynov
2984cc506e
Limit okhttp latest deps test to 3.x.x
2019-05-09 10:17:35 -04:00
Tyler Benson
376451c031
Fix instrumentation names for apache httpasyncclient
2019-05-03 09:58:05 -07:00
Tyler Benson
4b1fcdea04
Remove latest dep test for transport-5
2019-05-02 14:44:31 -07:00
Tyler Benson
0a234872e9
Try limiting latest to 5.1.x
2019-05-02 14:04:07 -07:00
Tyler Benson
8a38b6fc1e
Skip ES tests in CI.
2019-05-02 12:26:39 -07:00
Tyler Benson
82f50e22b7
Merge pull request #811 from DataDog/tyler/hystrixobservable
...
Add support for HystrixObservableCommand
2019-05-02 09:47:09 -07:00
Tyler Benson
c8743fce64
Remove potentially dangerous recursive call.
2019-04-30 14:53:15 -07:00
Tyler Benson
2c5ae9f3b1
Make OSGi instrumentation more generic
...
This should help it work with felix.
Also reduce log noise.
2019-04-30 12:38:54 -07:00
Tyler Benson
c971c434d1
Fix propagation and add onUnsubscribe handler
...
Ensures that span is closed when Observable is unsubscribed from.
Also added retransform error logger since retransforms might be missed if an exception is thrown, leading to odd behavior.
2019-04-30 11:52:20 -07:00
Tyler Benson
6414de82d9
Add support for HystrixObservableCommand
...
This change is slightly breaking for existing hystrixCommand code since the resource name changes from run->execute and getFallback->fallback. The fallback span is also now a child of the execute span.
2019-04-29 12:04:27 -07:00
Tyler Benson
25d109753d
Merge pull request #809 from DataDog/tyler/httpasyncclient
...
Add instrumentation for Apache HttpAsyncClient
2019-04-29 08:14:11 -07:00
Tyler Benson
68a68f1057
Ensure that http.url tag doesn’t have query params set
...
Make handling of it more consistent in decorator.
2019-04-26 09:48:34 -07:00
Tyler Benson
20df3aa18e
Add HttpAsyncClient to Elasticsearch for verification.
2019-04-25 17:27:06 -07:00
Tyler Benson
179b9b69cb
Upgrade Byte Buddy to 1.9.12
...
and a few other minor code changes.
2019-04-25 10:36:35 -07:00
Tyler Benson
9ad06a6791
Add instrumentation for Apache HttpAsyncClient
...
Extract http client tests to shared class.
2019-04-23 17:10:40 -07:00
Tyler Benson
4c79f38a4d
A couple other minor changes…
2019-04-19 10:41:13 -07:00
Tyler Benson
746c423199
Merge pull request #775 from darylrobbins/twilio
...
Twilio SDK Instrumentation
2019-04-19 09:18:40 -07:00
Tyler Benson
e74941a4d5
Merge branch 'master' into twilio
2019-04-16 17:44:36 -07:00