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
71a991fcaa
Update jacoco exclusions to exclude things not hit during test runs
2018-06-20 17:01:01 -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
d278cd48a7
Merge pull request #359 from DataDog/mar-kolya/spymemcached-instrumentation
...
Make spymemcached disabled by default
2018-06-15 15:29:52 -04:00
Nikolay Martynov
0e62ee8ec6
Make spymemcached instrumentation disabled by default
2018-06-15 14:25:51 -04:00
Nikolay Martynov
f9cc33c7c8
Merge pull request #353 from DataDog/mar-kolya/spymemcached-instrumentation
...
Mar kolya/spymemcached instrumentation
2018-06-15 12:44:42 -04:00
Andrew Kent
6cd8be67d5
Close scope for async servlet requests
2018-06-14 20:23:54 -07:00
Andrew Kent
f28445c45f
CorrelationIdentifier for MDC frameworks.
2018-06-14 15:33:15 -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
Tyler Benson
ff56389a56
Upgrade some versions.
2018-06-14 11:56:56 +10: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
fdc56c0e13
change the way classes are loaded so that classLoaderHasClasses would still work for the classes that are being instrumented and being matched at the same time.
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
30d640e7ee
Provide way to use CLosure to assert tags values
2018-06-06 16:40:34 -04:00
Nikolay Martynov
b1bc24dd67
Raname function in TraceAssert to match actual action
2018-06-06 16:40:12 -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
2e5007fbd8
Fix function name in TagsAssert
2018-06-06 10:43:23 -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
Nikolay Martynov
3187f7350f
Simplify Calldepththreadlocalmap to not use atomic integers
2018-06-06 09:31:25 -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
5fe58dc344
Merge pull request #338 from DataDog/tyler/es-meta
...
Add additional metadata to ES client calls.
2018-05-30 11:58:41 +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
b5346e89a3
Begin 0.10.0
2018-05-29 18:41:37 +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
Andrew Kent
176b071300
Merge pull request #324 from DataDog/ark/default_service_name
...
Remove unknown feature-flag and use generic names as fallback
2018-05-22 14:19:50 -07:00
Andrew Kent
c7a5bdcdbb
Remove unknown feature-flag and use generic names as fallback
2018-05-22 14:01:08 -07: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
217dd411de
Disable muzzle
2018-05-21 10:58:30 -07:00
Andrew Kent
1641c54448
Skip instrumenting slick thread pool
2018-05-18 11:17:27 -07:00
Andrew Kent
0bd7a62464
Flags, Fields, Methods, and builder logic for References
2018-05-18 10:45:05 -07:00
Andrew Kent
bf70b3031b
Cache classloaders for reference checking
2018-05-18 10:45:05 -07:00
Andrew Kent
ad7f6a5e71
Generate at compile-time and lazy-load reference matchers
2018-05-18 10:45:05 -07:00
Andrew Kent
98b44c1dfb
Remove ReplaceIsSafeVisitor
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
b154f8366c
Begin 0.8.1
2018-05-15 12:27:02 +10: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
9e5e48b96e
Add a feature flag to gate the name change
2018-05-10 10:54:15 +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
bae79a0c3a
Rename unknown to database to reduce confusion
2018-05-08 16:16:02 +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
Andrew Kent
a34d8f7876
Merge pull request #293 from DataDog/tyler/upgrade
...
Upgrade Byte-buddy to 1.8.8
2018-04-30 15:42:21 -07:00
Jon Mort
c1a7f58aaf
Fix NoClassDefFound errors for ratpack
2018-04-30 15:24:42 +01:00
Tyler Benson
8abbccc09c
Upgrade shadow plugin version.
2018-04-30 16:18:48 +10: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
57eade612f
Upgrade Byte-buddy to 1.8.8
...
Also remove some erronously checked in files.
2018-04-26 22:53:45 +10: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