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
Tyler Benson
206de0fb54
Add some more missing helper classes
2018-06-09 10:59:08 +10:00
Tyler Benson
c2771753b7
Suggested changes.
2018-06-08 16:38:51 +10:00
Nikolay Martynov
28c7c30af4
[HttpUrlConnection] Fix HEAD responses
...
Explain to ratpack that sending body for HEAD requests is not up to
spec [1] and seems to be confusing to clients. This resolves 'Keep-Alive'
mistery and makes disabling 'keepa-live' unnecessary.
[1] https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
2018-06-07 12:24:16 -04:00
Tyler Benson
9ff09b93e1
Refactor HttpUrlConnection Instrumentation
...
getOutputStream shouldn’t call getResponseCode, otherwise the request gets screwed up.
2018-06-07 16:25:38 +10:00
Nikolay Martynov
93a41b5064
Fix some typos
2018-06-06 20:47:49 -04:00
Nikolay Martynov
7a280d7e13
Fix some code formatting
2018-06-06 17:11:17 -04:00
Nikolay Martynov
ca6fabfd64
Move code from `WrapAdviceUtils` to `DatadogWrapper`
2018-06-06 16:42:23 -04:00
Nikolay Martynov
5f82776fc5
Use assertTraces api in slick tests
2018-06-06 16:41:03 -04:00
Nikolay Martynov
d6aaee1bee
Check for java concurrent classes prefixes match only if class was not whitelisted already
2018-06-06 15:51:30 -04:00
Nikolay Martynov
bbcc2882ab
Use test set instead of submodule for Slick tests
2018-06-06 15:49:39 -04:00
Nikolay Martynov
f92af7d860
Fix Scala Slick instrumentation
2018-06-06 10:43:23 -04:00
Nikolay Martynov
b8fdb4acd5
Added Scala Slick test that fails due to executor wrapping problems
2018-06-06 10:43:19 -04:00
Tyler Benson
d235618a6e
Add instrumentation for Java’s UrlConnection
...
For HttpUrlConnection, trace propagation headers are added to the outgoing request.
Due to the awkward design of the API, the ability to instrument in a natural way was limited, thus the main points instrumented are the get{Input,Output}Stream methods.
2018-06-06 09:12:48 +10:00
Tyler Benson
979aa7838f
Clear TEST_WRITER before waiting to ensure accurate timing
...
Otherwise the waitForTraces at the end might be triggered prematurely.
2018-06-05 14:49:17 +10:00
Tyler Benson
682fb01350
Wait for initial traces before starting tests
...
to ensure a late reported trace doesn’t mess up the test assertions.
2018-05-30 11:40:31 +10:00
Tyler Benson
b58a7db7a7
Add another helper used by Joiner.
2018-05-30 10:31:00 +10:00
Tyler Benson
cda86ca4ea
Wait for cluster to be ready before starting test.
2018-05-29 15:40:05 +10:00
Tyler Benson
f9ab729f92
Forgot to inject the helpers.
2018-05-25 20:27:57 +10:00
Tyler Benson
de74eb1938
Add additional metadata to ES client calls.
2018-05-25 13:58:44 +10:00
Tyler Benson
c03e894870
Merge pull request #329 from DataDog/tyler/elasticsearch-client
...
Elasticsearch Client Instrumentation
2018-05-24 09:03:20 +10:00
Andrew Kent
d9dce43728
Merge pull request #332 from DataDog/ark/playtime
...
Enable Play, Hystrix, and JaxRS Client Instrumentation
2018-05-22 18:56:00 -07:00
Tyler Benson
ec9ce10ca1
Limit version compatibility.
2018-05-23 11:29:13 +10:00
Tyler Benson
0cf8fef8d8
Elasticsearch Instrumentation
2018-05-23 11:29:13 +10:00
Tyler Benson
164689eeb3
Merge pull request #333 from DataDog/tyler/force-latest-tests
...
Fix version upgrading for latestDepTests
2018-05-23 11:21:28 +10:00
Andrew Kent
d90de5741f
Enable JaxRS Instrumentation
2018-05-22 18:02:30 -07:00
Andrew Kent
066aac761c
Enable Hystrix
2018-05-22 18:01:43 -07:00
Andrew Kent
c11de3003d
Enable Play Instrumentation
2018-05-22 15:29:46 -07:00
Tyler Benson
ce0ef409d8
Merge pull request #330 from DataDog/tyler/aws-versions
...
Fix AWS version ranges
2018-05-23 07:30:16 +10:00
Tyler Benson
03392f2138
Merge pull request #331 from DataDog/tyler/move-apache-httpclient-tests
...
Move Apache HttpClient tests to instrumentation
2018-05-23 07:28:04 +10:00
Tyler Benson
5d6fe43dc6
TestHttpServer is no longer used
...
Move the java version ignores.
2018-05-22 17:12:54 +10:00
Tyler Benson
e481092f25
Avoid occasional false test failure.
2018-05-22 16:47:36 +10:00
Tyler Benson
a3a1b08fa9
Fix AWS version ranges
2018-05-22 16:45:01 +10:00
Tyler Benson
3781a71e5f
Fix version upgrading for latestDepTests
2018-05-22 15:14:11 +10:00
Andrew Kent
b7570c7152
Merge pull request #319 from DataDog/ark/muzzle-integration-branch
...
muzzle integration branch
2018-05-21 11:32:00 -07:00
Andrew Kent
1641c54448
Skip instrumenting slick thread pool
2018-05-18 11:17:27 -07:00
Andrew Kent
ad7f6a5e71
Generate at compile-time and lazy-load reference matchers
2018-05-18 10:45:05 -07:00
Andrew Kent
08df3cef35
Use bytebuddy plugin to add safety checks to instrumentation
2018-05-18 10:45:05 -07:00
Tyler Benson
024d414844
Move Apache HttpClient tests to instrumentation
...
And add latest test.
2018-05-18 12:01:12 +10:00
Gary Huang
71396aee01
Moved JDBC integration tests to become unit tests
2018-05-15 16:37:55 -04:00
Gary Huang
38dfe96eb0
Fixed java 9 JDBC integration test issue.
...
Refactored JDBCMaps's getDBInfo utlity function because JDBCMaps is in the bootstrap classloader, and the use of java.sql.* packages in getDBInfo is failing because java.sql.* packages are part of the platform classloader in java 9.
2018-05-15 16:18:55 -04:00
Gary Huang
4b71a21487
Fixed unknown database issue from JDBC Connection constructor exception
...
Client will now report correct database if JDBC connection is recovered from exception.
2018-05-15 16:18:55 -04:00
Tyler Benson
dc814aeb6d
Fix tests.
2018-05-11 15:19:30 +10:00
Tyler Benson
46878d24d3
Name service based on servlet context
...
This only applies if a service name hasn’t been set or is empty.
This is particularly useful for environments that deploy multiple war files to the same app server.
2018-05-11 13:59:03 +10:00
Tyler Benson
632d9b8da4
Merge pull request #316 from DataDog/tyler/async-flag
...
Enable async tracking for some non-async frameworks
2018-05-11 09:30:17 +10:00
Tyler Benson
d5d24c50c7
Replace @Unroll’s with a rule to always unroll.
2018-05-10 15:24:59 +10:00
Tyler Benson
b9db79e251
Enable async tracking for some non-async frameworks
...
This will allow tracing of additional work being done inside the servlet context.
2018-05-09 10:40:50 +10:00
Tyler Benson
5e6259233e
Remove some other unknowns.
2018-05-08 16:29:55 +10:00
Tyler Benson
9606dd3467
Fix TraceConfig tests
2018-05-08 11:00:59 +10:00
Tyler Benson
2dd36c2b79
Give more distinct names and migrate test style
2018-05-08 10:03:22 +10:00
Tyler Benson
c81615b255
Allow configuration of additional trace annotations
...
List can be set to empty if needed.
2018-05-07 13:27:23 +10:00
Tyler Benson
441bf59e80
Add tracing for other annotations and config
...
Allows for specifying additional traced methods via env var or sys prop config.
2018-05-07 13:27:23 +10:00
Tyler Benson
c1ac920e97
Change from enum to object for map lookup key
2018-05-07 13:25:08 +10:00
Tyler Benson
122c482dd5
Queue should block.
2018-05-07 13:23:29 +10:00
Tyler Benson
9a52303376
Apply jacoco to every java project
...
Some projects have ignores/whitelists, but generally coverage is pretty high.
AFAIK, this doesn’t really capture instrumentation test coverage though.
2018-05-04 16:23:32 +10:00
Tyler Benson
7dfdc2d50e
Missing autoservice annotation processor
2018-05-04 15:38:41 +10:00
Tyler Benson
114f088766
Fix TLS usage
2018-05-04 14:05:06 +10:00
Tyler Benson
f35e2e6ebe
Remove various warnings and other cleanup
...
Also upgrade some plugins.
2018-05-04 14:05:06 +10:00
Tyler Benson
7c4d42ef8a
Add additional test task for testing latest versions of a dependency
2018-05-04 14:04:30 +10:00
Tyler Benson
660dfc834c
It actually isn’t compatable until 1.4
2018-05-04 14:03:48 +10:00
Tyler Benson
2561e72824
Do we do want to ignore proxies?
...
If so, we have to change the test to be compatible.
2018-05-04 14:03:48 +10:00
Tyler Benson
be34eaf032
Instrument HystrixCommand and HystrixThreadPool
2018-05-04 14:03:48 +10:00
Tyler Benson
6baf09588e
Merge pull request #302 from DataDog/tyler/jdbc-depth
...
Prevent JDBC spans from nesting
2018-05-04 08:07:28 +10:00
Tyler Benson
30b70d8939
Prevent case where call depth might never be reset
2018-05-03 14:53:33 +10:00
Tyler Benson
732f0f2185
Merge pull request #299 from DataDog/tyler/aws-naming
...
Use different resource naming for aws spans
2018-05-03 13:59:09 +10:00
Tyler Benson
82353ad7d1
Use different resource naming for aws spans
...
Uses the pattern of `service.operation`, so for an S3 get object request, the resource name would be `S3.GetObject`.
2018-05-03 13:38:16 +10:00
Tyler Benson
84b7080860
Fix AgentInstaller ignores and @Trace naming
2018-05-03 13:03:53 +10:00
Tyler Benson
0f77ccd797
Merge pull request #297 from DataDog/tyler/kafka
...
Add null check to kafka
2018-05-02 08:06:37 +10:00
Tyler Benson
6f64b0e021
Prevent JDBC spans from nesting
2018-05-01 11:18:53 +10:00
Andrew Kent
3c7d4f5b13
Enable executor instrumentation by default
...
Executor instrumentation does not need to be turned off by default
because the instrumentation will not apply unless the TraceScope is
activated.
2018-04-30 17:27:51 -07:00
Tyler Benson
63d308e50d
Misc cleanup/minor changes
2018-05-01 10:24:14 +10:00
Tyler Benson
21e26d9463
Merge pull request #301 from jonmort/ratpack-instrumentation-exceptions
...
Fix NoClassDefFound errors for ratpack
2018-05-01 09:57:16 +10:00
Jon Mort
c1a7f58aaf
Fix NoClassDefFound errors for ratpack
2018-04-30 15:24:42 +01:00
Tyler Benson
cd289308bb
Remove timeouts.
...
Not helping as much as was hoped. Causing extra noise in CI.
2018-04-30 11:10:18 +10:00
Tyler Benson
e6179f6555
Use hardcoded operation names for integrations
...
Backend has issues with variable operation names.
Also reduce dependencies on OT-contribs.
2018-04-27 12:37:19 +10:00
Andrew Kent
353bc1be07
Merge pull request #294 from DataDog/ark/fix_jax
...
Inject jax InjectAdapter helper class.
2018-04-26 14:39:15 -07:00
Andrew Kent
5f19a56683
Inject jax InjectAdapter helper class.
2018-04-26 09:52:45 -07:00
Tyler Benson
3db2d654f1
Fix spark instrumentation
...
and rebase off master.
2018-04-26 17:01:45 +10:00
Jørgen Grøndal
de350c7c4f
fix: attempt to enable instrumentations
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
bb5c413be1
fix: create a test to verify that spark is indeed responding
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
ede4620b52
feat: get tests running, although failing due to instrumentation not being loaded properly
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
7e233ac3c7
feat: find oldest supported spark, update version, make tests run
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
8b289c7036
fix: add versionScan for sparkjava
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
d0822c7458
fix: support jetty 8+, sparkjava 2.5+
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
8bfeae4a82
fix: formatting and add version to spark java instrumentation
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
593a9b71ad
fix: use google java format
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
79f1226867
fix: use correct jetty version
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
c49d4f6dd8
fix: add jetty handler instrumentaiton. remove filter3instrumentation. add sparkjava routematch instrumentation
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
6c4b90965c
fix: support java 7 in test
2018-04-26 14:53:32 +10:00
Jørgen Grøndal
91aa3c854d
fix: first attempt at sparkjava trace instrumentation
2018-04-26 14:53:32 +10:00
Andrew Kent
f295b73d4b
Merge pull request #276 from jonmort/ratpack-support
...
Ratpack instrumentation support
2018-04-24 07:09:00 -07:00
Jon Mort
35ad8c9f49
Tidy up RatpackTest comments
2018-04-24 08:17:37 +01:00
Jon Mort
b4510b7987
Add a guard against wrapping the ratpack request action multiple times
2018-04-24 08:07:48 +01:00
Jon Mort
fa90af7fbc
Introduce a java 8 source set for Ratpack integration
2018-04-18 11:44:15 +01:00
Jon Mort
4875165053
Only build ratpack when using a java 8 compiler
2018-04-18 11:44:15 +01:00
Jon Mort
18da2444d1
Correctly look for classes to determine minimum ratpack version
2018-04-18 11:44:15 +01:00
Jon Mort
1ba0b69750
Resource naming and other review comments
2018-04-18 11:42:49 +01:00
Jon Mort
582c0af962
Rename to Ratpack 1.4
2018-04-18 11:42:49 +01:00
Jon Mort
6c1c830805
Apply review comments
2018-04-18 11:42:49 +01:00