Andrew Kent
bf24e5d5d0
Merge pull request #511 from DataDog/tyler/es-extract-index
...
Cleanup created indexes to allow RetryOnFailure
2018-09-21 11:21:33 -07:00
Tyler Benson
a14945f6e0
Cleanup created indexes to allow RetryOnFailure
2018-09-21 14:44:14 +10:00
Tyler Benson
2174f21d61
Allow executor tracing to flow across distinct executors
...
Otherwise any async work is lost after the first executor jump.
2018-09-21 11:12:19 +10:00
Tyler Benson
72b2873ec1
ScheduledThreadPoolExecutor doesn’t actually work separately
...
It was only working because it extends from ThreadPoolExecutor, but it uses a backing queue type that is incompatible. Scheduled execution submits to the work queue directly and will bypass the exisiting instrumentation.
2018-09-20 16:33:49 +10:00
Tyler Benson
3d78afbc2c
Disable Executor instrumentation ThreadPoolExecutor instances
...
If we can’t add generic runnables to the queue.
This won’t solve the problem for all cases, but it will help with some.
Tests forthcoming.
2018-09-20 16:06:01 +10:00
Tyler Benson
c84c83f168
Merge pull request #501 from DataDog/tyler/gradle-upgrade
...
Upgrade gradle to 4.10.1
2018-09-20 10:51:50 +10:00
Tyler Benson
21f4806d08
Merge pull request #506 from DataDog/tyler/es-tlc
...
Remove elasticsearch.request.description
2018-09-20 10:45:36 +10:00
Gary Huang
89d83663c7
Merge pull request #493 from DataDog/gary/muzzle-datastax-cassandra
...
Muzzle and Expand Cassandra Instrumentation
2018-09-19 16:38:06 -04:00
Gary Huang
622db5942b
Merge pull request #486 from DataDog/gary/muzzle-jetty
...
Muzzle Jetty Instrumentation
2018-09-19 16:07:19 -04:00
Gary Huang
4db131b415
Merge pull request #488 from DataDog/gary/muzzle-jms
...
Remove version scan from JMS Instrumentation
2018-09-19 16:06:41 -04:00
Gary Huang
ba8efa5bc6
Merge pull request #498 from DataDog/gary/muzzle-mongo
...
Muzzle Mongo Instrumentations
2018-09-19 15:31:34 -04:00
Qiyang Huang
347002c0f6
Muzzle Spymemcached
...
Add muzzle block and remove class loader matcher method.
2018-09-19 14:37:25 -04:00
Tyler Benson
ebcc2ef052
Add work around for scala compile issue.
2018-09-19 15:13:42 +10:00
Tyler Benson
9dad0fb4d6
Separate out latestDepTests
2018-09-19 15:10:26 +10:00
Tyler Benson
72f2036dc7
Remove retry from some tests
...
Index creation fails the next time around.
2018-09-19 14:57:37 +10:00
Tyler Benson
ea97996df7
Remove elasticsearch.request.description
...
It seems to potentially have sensitive contents, so removing to be safe.
2018-09-19 14:55:23 +10:00
Tyler Benson
2b93aa7cbf
Fix ES version ranges.
2018-09-19 14:51:38 +10:00
Tyler Benson
e11ab12284
Better error handling for older JDBC drivers
...
that don’t support unwrapping (pre JDK 1.6).
2018-09-18 16:46:08 +10:00
Tyler Benson
955b97da9e
Add slashes if missing from annotation values
2018-09-18 09:48:32 +10:00
Qiyang Huang
91f0b1d662
Change compile & test versions to match muzzle blocks
2018-09-16 08:34:22 -04:00
Qiyang Huang
e3712910b1
Muzzle Mongo Instrumentations
...
Add muzzle blocks.
2018-09-16 08:30:05 -04:00
Tyler Benson
c1ab82663d
Merge pull request #479 from DataDog/tyler/broken-jax-rs-client
...
Handle connection failures for Jersey and Resteasy
2018-09-13 15:19:01 +10:00
Tyler Benson
de21c7b245
Review fixes.
2018-09-12 10:32:05 +10:00
Tyler Benson
6732110f28
Handle connection failures for Jersey and Resteasy
...
CXF and other client frameworks will still lose the span and miss the error.
2018-09-12 10:10:31 +10:00
Tyler Benson
bcec2e5f97
Add span.type and remove bucket name from resource.name
2018-09-12 10:04:13 +10:00
Andrew Kent
faad7824ed
Elasticsearch 5.3.0 instrumentation
2018-09-11 16:00:38 -07:00
Gary Huang
a9a8a2af68
Merge pull request #490 from DataDog/gary/muzzle-kafka
...
Muzzle Kafka Client & Streams Instrumentation
2018-09-10 20:01:55 -04:00
Gary Huang
522035c317
Merge pull request #489 from DataDog/gary/muzzle-grpc
...
Muzzle gRPC Instrumentation
2018-09-10 20:01:04 -04:00
Gary Huang
202deaa0a6
Merge pull request #481 from DataDog/gary/muzzle-spring-web
...
Muzzle Spring Web Instrumentation
2018-09-10 20:00:46 -04:00
Gary Huang
d7b87c07d8
Merge pull request #491 from DataDog/gary/muzzle-hystrix
...
Muzzle Hystrix Instrumentation
2018-09-10 20:00:20 -04:00
Gary Huang
a366ed9e80
Muzzle and Expand Cassandra Instrumentation
...
Add muzzle block and remove class loader matcher method. Muzzling the instrumentation works for versions 2.3+
2018-09-10 18:33:17 -04:00
Gary Huang
9c1b641069
Merge pull request #484 from DataDog/gary/muzzle-okhttp-3
...
Muzzle OKHttp 3 Instrumentation
2018-09-10 12:10:37 -04:00
Gary Huang
05356cc1f5
Muzzle Hystrix Instrumentation
...
Add muzzle block and remove class loader matcher method.
2018-09-08 12:57:25 -04:00
Gary Huang
ea0600c0c3
Muzzle Kafka Client & Streams Instrumentation
...
Add muzzle blocks and remove class loader matcher methods.
2018-09-07 20:11:01 -04:00
Gary Huang
48ad43e423
Muzzle gRPC Instrumentation
...
Add muzzle block and remove class loader matcher methods.
2018-09-07 20:02:40 -04:00
Gary Huang
6bc6bcdec9
Remove version scan from JMS Instrumentation
2018-09-07 19:56:17 -04:00
Gary Huang
a8f52d8c52
Muzzle Jetty Instrumentation
...
Add muzzle block and remove class loader matcher method.
2018-09-07 17:24:11 -04:00
Gary Huang
b53514c458
Muzzle Jedis Instrumentation
...
Add muzzle block and remove class loader matcher method.
2018-09-07 16:47:00 -04:00
Gary Huang
78bf5d3aff
Muzzle OKHttp 3 Instrumentation
...
Add muzzle block and remove class loader matcher method.
2018-09-07 16:28:58 -04:00
Gary Huang
5bac242a89
Muzzle Spring Web Instrumentation
...
Add muzzle block and remove class loader matcher methods.
2018-09-07 15:31:44 -04:00
Tyler Benson
b3222009ef
Stop sending params with AWS traces
...
can potentially contain sensitive data.
(See #461 )
2018-09-07 08:55:24 +10:00
Tyler Benson
b4c8b7e538
Add @RetryOnFailure to ES tests.
2018-09-05 14:46:22 +10:00
Tyler Benson
f5590e97bd
Cleanup tests
2018-09-05 14:46:22 +10:00
Tyler Benson
444cbecba5
Use CouchbaseMock instead of actual server
...
Seems way more reliable/consistent for test scenarios.
2018-09-05 14:46:22 +10:00
Tyler Benson
0655ef208f
Further attempt at making tests reliable.
2018-09-05 14:46:22 +10:00
Nikolay Martynov
422ded1d5b
Configure Spring Couchbase client with proper couchbase environment
...
It looks like Couchbase container may have some of the ports mapped
randomly. This means it is possible default environment settings might
not work - and this is what Spring is using by default. This change
makes Spring use environment provided by cluster container. This fixes
tests when they are run locally (at least for macos).
2018-09-05 14:46:22 +10:00
Tyler Benson
2c4366cae7
Retry on failure
2018-09-05 14:46:22 +10:00
Tyler Benson
9ea1883015
Separate out bucket and cluster instrumentation
...
Include bucket name in bucket spans
2018-09-05 14:46:22 +10:00
Tyler Benson
63091c9350
Review fixes
2018-09-05 14:46:22 +10:00
Tyler Benson
2761615436
Couchbase instrumentation
2018-09-05 14:46:22 +10:00
Andrew Kent
222f25e124
Merge pull request #471 from DataDog/ark/elastic-enable
...
Enable and muzzle elasticsearch instrumentation
2018-09-04 20:50:32 -07:00
Gary Huang
2442cfd2e5
Merge pull request #476 from DataDog/gary/lettuce-muzzle
...
Muzzle Lettuce 5 Instrumentation
2018-09-04 21:54:03 -04:00
Gary Huang
5f137beb9a
Merge pull request #460 from DataDog/gary/spring-webflux-instrumentation
...
Spring webflux instrumentation
2018-09-04 13:38:06 -04:00
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
2b1f6382d4
Fix netty version in instrumentation name
2018-08-31 10:58:17 -04: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
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
Andrew Kent
c06983ef34
muzzle netty-4.0 instrumentation
2018-08-29 13:28:25 -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
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
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
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
a4cded9b4f
Add some tests for distributed tracing in Tomcat and Jetty
2018-08-18 13:38:06 -04: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
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
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
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
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
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
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
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
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
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
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
44b364332a
Remove unused field and method
2018-07-26 10:11:20 -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
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
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
Andrew Kent
541a6998a4
Hook up muzzle to Instrumenter.Default's matcher
2018-07-10 17:26:49 -04:00
Andrew Kent
836f49205b
TraceConfigInstrumentation implements Instrumenter directly
2018-07-10 17:26:49 -04:00
Gary Huang
bfc49e869e
Make connections always close on test case completion.
2018-07-09 17:55:52 -04:00
Gary Huang
6bd7cf0675
Fixes #379 .
...
Connection pools were creating proxy connection objects, so the proxy objects were cached. By unwrapping the proxies, the connection objects will be correctly cached and identified.
Refactored tests to use connection pools, and hsqldb connections only on statements (since they will not make a USER() query in a getMetaData call).
2018-07-09 17:55:52 -04:00
Andrew Kent
02a3e6a5d3
New Instrumentation API
2018-07-06 17:17:32 -04:00
Gary Huang
cc7bb7943f
Merge pull request #354 from DataDog/gary/jsp-integration-branch
...
Generic JSP instrumentation with Tomcat Jasper compilation instrumentation.
2018-06-26 18:35:09 -04:00
Nikolay Martynov
8d6392fa94
Remove timeouts from lagom tests
...
It looks like server is started lazily and on laptop it may take over
5 seconds in parallel build. This means in may take long time on CI as
well.
It is in fact unikely that server will never return so adding timeout
introduces flakiness and doesn't really protect from any real-life
problems. Instead of hardcoding timeouts just rely on build eventually
giving up on its own one way or another.
2018-06-26 15:48:04 -04:00
Nikolay Martynov
44b63ea5ca
Rename AkkaHttpInstrumentation to AkkaHttpServerInstrumentation
...
To be able to put client instrumentation in more consistent way
2018-06-26 15:41:59 -04:00
Nikolay Martynov
3ac866b0f9
Merge pull request #371 from DataDog/tyler/servlet-user
...
Set servlet’s user-principal as a tag when available
2018-06-26 13:41:13 -04:00
Andrew Kent
15c0f9a6b2
Akka-http-server renames
2018-06-26 09:55:32 -07:00
Nikolay Martynov
a0d99e70fb
Add tests to servlet intrumentation to verify that username is set correctly
2018-06-25 21:54:20 -04:00
Gary Huang
46e7036701
fix version scan and test versions
2018-06-25 16:54:45 -04:00
Tyler Benson
9899256381
Set servlet’s user-principal as a tag when available
2018-06-25 11:24:35 +10:00
Gary Huang
eddb48f3e2
refactored tests, added parent-children relationship between spans in tests. Still need to figure out version scan and versions to support.
2018-06-22 18:24:06 -04:00
Gary Huang
e90bcf624a
add unit tests for jsp rendering (servicing requests), change to instrument generic jsp level rendering.
2018-06-22 18:24:06 -04:00
Gary Huang
b1d06299cc
JSP instrumentation
...
WIP: more unit tests to come
2018-06-22 18:24:06 -04:00
Nikolay Martynov
7405b7711b
Merge pull request #369 from DataDog/mar-kolya/increase-timeouts-in-url-connection-test
...
Increase timeouts in UrlConnection test
2018-06-22 17:17:04 -04:00
Nikolay Martynov
60a0722390
Increase timeouts in UrlConnection test
...
Before those timeouts where set to 10ms which legitimatelly can come
before server (even localhost) has a chance to reply with 'connection
refused'.
This should fix flaky test.
2018-06-22 16:57:31 -04:00
Nikolay Martynov
1fbb33d182
More fixes to Lettuce tests
...
Lettuce intrumentatio is implemented in a way that after operation has
been performed `span` is not closed syncronously - in fact this happens
on separate thread. This means `spans` for even syncronous operations
may be closed on opposite order.
This means that writing tests that pefrom two operations and expect
two traces is slightly more complicated. In many places we can just
avoid doing that by preparing necessary data in `setup`.
This fixes some of the false negatives in tests.
2018-06-22 16:44:58 -04:00
Nikolay Martynov
770f77a7ff
Merge pull request #367 from DataDog/mar-kolya/reduce-number-of-compile-workers
...
Reduce number of gradle workers during compile
2018-06-22 16:07:46 -04:00
Andrew Kent
8a666784a6
Close Jetty Handler scope
2018-06-22 11:53:39 -07:00
Nikolay Martynov
7882e4fe23
Make ES tests more deterministic by using listener pool with 1 thread
...
This should reduce number of false negatives in ES tests
2018-06-22 14:23:06 -04:00
Nikolay Martynov
c050b4acd8
Merge pull request #366 from DataDog/mar-kolya/fixes-for-lettuce-tests
...
Fix some flakiness in Lettuce tests
2018-06-22 11:01:30 -04:00
Nikolay Martynov
389f65687a
Fix some flakiness in Lettuce tests
...
It looks like automatic reconnection was enabled which lead to random
traces popping up in random places when Redis server was shutdown.
Also make sure that server persists only during single test to weedout
all inter-test dependencies.
2018-06-21 17:44:19 -04:00
Nikolay Martynov
79d7b9c062
JMS1/2: change resource names according to PR comments
2018-06-21 14:10:50 -04:00
Nikolay Martynov
37fdbf9188
JMS2: Fix `receiveNoWait` instrumentation and instrument `receive(timeout)`
2018-06-21 13:28:19 -04:00
Nikolay Martynov
3be5a78a53
JMS1: make resouce names more descriptive
2018-06-21 13:28:19 -04:00
Nikolay Martynov
fe118adc6e
JMS1: Fix `receiveNoWait` instrumentation and instrument `receive(timeout)`
2018-06-21 13:28:19 -04:00
Nikolay Martynov
bb4026234d
Refactor JMS1 integration tests
2018-06-21 13:28:19 -04:00
Nikolay Martynov
beb91446c7
Increase Cassandra embedded server start up timeout
...
To try to make tests less prone to false positives.
2018-06-21 12:00:26 -04:00
Tyler Benson
83db4e8c4d
Merge pull request #352 from DataDog/tyler/netty
...
Netty HTTP client and server instrumentation
2018-06-21 14:11:12 +10:00
Nikolay Martynov
9cc99bafbf
Simplify Jacoco configuration
2018-06-20 17:13:30 -04:00
Nikolay Martynov
e070a9be4a
Fix jacoco excluded classes concatenation
2018-06-20 17:05:16 -04:00
Nikolay Martynov
da5cd0724b
Merge pull request #362 from DataDog/mar-kolya/enable-coverage-in-CI
...
Enable coverage checks in CI for java8
2018-06-20 15:15:49 -04:00
Nikolay Martynov
21d58768cb
Lettuce: properly close connection instead of letting it being GCed
2018-06-19 22:41:58 -04:00
Andrew Kent
46b9cd35b9
Merge pull request #350 from DataDog/ark/lagom
...
akka-http instrumentation and lagom tests
2018-06-19 15:17:09 -07:00
Nikolay Martynov
b0c2ab9b68
Lettuce: wait for trace after setup code
...
Otherwise that trace may land at some random point in time after and
cause flaky tests.
2018-06-19 15:15:29 -04:00
Andrew Kent
519f15bcc6
Merge pull request #357 from DataDog/ark/servlet-async
...
Close scope for async servlet requests
2018-06-17 23:44:24 -07:00
Tyler Benson
c0da1f7093
Add version scan.
2018-06-18 12:52:42 +10:00
Tyler Benson
43e31eae80
Separate out instrumentation for netty 4.0 from 4.1
2018-06-18 12:52:42 +10:00
Tyler Benson
9b3df4ff9e
Netty HTTP client and server instrumentation first pass
...
Doesn’t target right versions. Needs lots of testing.
2018-06-18 12:52:42 +10:00
Andrew Kent
93281f775a
Clean up akkahttp-server/lagom tests
2018-06-15 14:30:23 -07:00
Andrew Kent
2cfd7bf911
Allow Unit tests to skip expected instrumentation errors.
2018-06-15 13:25:41 -07:00
Andrew Kent
7ac2bdfc22
Add akka-http to play 2.6 tests
2018-06-15 12:48:57 -07:00
Andrew Kent
5a77ac3749
akka-http sync and async tests
2018-06-15 12:48:57 -07:00
Andrew Kent
6b7dda3657
Instrument akka-http function handler instead of akka-streams
2018-06-15 12:48:57 -07:00
Andrew Kent
004b88f634
Initial Lagom Test
2018-06-15 12:48:57 -07:00
Andrew Kent
109f2cead4
Akka-http instrumentation and test
2018-06-15 12:48:57 -07:00
Nikolay Martynov
0e62ee8ec6
Make spymemcached instrumentation disabled by default
2018-06-15 14:25:51 -04:00
Andrew Kent
6cd8be67d5
Close scope for async servlet requests
2018-06-14 20:23:54 -07:00
Nikolay Martynov
1e4c88ffcb
Merge branch 'master' into mar-kolya/spymemcached-instrumentation
2018-06-14 15:38:01 -04:00
Nikolay Martynov
dd8f5ced07
Spymemcached: be slightly mode defensive in instumentation
2018-06-14 13:37:35 -04:00
Nikolay Martynov
ba37ccc552
Spymemcached: use cache span type
2018-06-14 13:37:35 -04:00
Nikolay Martynov
940633b388
Spymemcached: Make abstract method in CompletionListener
2018-06-14 13:37:31 -04:00
Nikolay Martynov
2c9f8a2b71
Fix ES rest client latest dep tests by forcing 6.2.+ since our instrumentation doesnt work properly with 6.3.+
2018-06-14 10:31:45 -04:00
Nikolay Martynov
30695555f9
Spymemcached: remove unnecessary unboxing and minor cleanup
2018-06-13 22:43:36 -04:00
Nikolay Martynov
dafd52cb7a
Spymemcached: add instumentation
2018-06-13 22:38:18 -04:00
Nikolay Martynov
63c4cdff87
Memcached testing: add support for testoingcontainers
2018-06-13 13:06:23 -04:00
Gary Huang
adbab8692c
Merge pull request #336 from DataDog/gary/lettuce-integration-branch
...
lettuce 5 redis client integration
2018-06-13 09:18:01 -04:00
Nikolay Martynov
0fa972ec77
Merge branch 'master' into mar-kolya/slick-instrumentation
2018-06-09 00:06:17 -04:00
Gary Huang
429ee40f81
add workaround to avoid certain commands from crashing the trace agent.
2018-06-08 23:53:13 -04:00
Gary Huang
42b586badf
remove recording of redis command arguments for now to avoid leaking sensitive data
2018-06-08 23:53:13 -04:00
Gary Huang
0bc9d9c08d
remove string constants in advice class and comment fixes
2018-06-08 23:53:13 -04:00
Gary Huang
b694ecdf79
add version scan and rename instrumentation classes
2018-06-08 23:53:13 -04:00
Gary Huang
3d61d839c8
make commands with no return values (void or Mono<Void>) to finish spans early in order to record command ran.
...
added support for cancellation of commands in async and reactive APIs.
since flux is a stream of events, when the stream is complete, the number of events emitted are recorded in the tag db.command.results.count
created helper class LettuceInstrumentationUtil
2018-06-08 23:53:13 -04:00
Gary Huang
bfdf4c858a
lettuce reactive api for mono publishers completed.
2018-06-08 23:53:13 -04:00
Gary Huang
989a259ec2
Fix code with suggestions from Tyler regarding previous commit.
...
no longer includes the command argument if the redis command being called is AUTH since it contains sensitive information.
2018-06-08 23:53:13 -04:00
Gary Huang
ae1d9d7c52
complete async unit test and changes to implementation
...
using handleAsync with BiFunction because lettuce futures almost never throw exceptions on futures
improvement changes to come
2018-06-08 23:53:13 -04:00
Gary Huang
1213311418
lettuce redis client sync and async api instrumentation with sync unit tests complete
2018-06-08 23:53:13 -04:00
Tyler Benson
c475ac688c
Add additional Elasticsearch tests for Spring Data.
2018-06-09 10:59:08 +10:00