Tyler Benson
97efa307d3
Stop setting error tag and update tests.
2020-04-13 13:59:11 -04:00
Tyler Benson
25464456d3
Add tests for http clients
...
- dropped request
- non-routable request
- https request
Unfortunately I wasn't able to figure out a clean way to test some of these scenarios without making a remote request.
I was also not able to configure everything consistently, so I had to disable that test for several integrations.
2020-03-13 15:05:16 -07:00
Laplie Anderson
6411ee358f
Remove Http*Decorators from method signatures in tests
2020-03-12 13:13:17 -04:00
Laplie Anderson
6cd530a541
Move decorators to bootstrap
2020-03-11 18:41:29 -04:00
Nikolay Martynov
517ecca4c1
Remove explicit concurrent instrumentation dependencies
...
Since we include concurrent instrumentation for all instrumentatin
projects now there is no point in including it in every instrumentation.
2020-03-06 13:50:51 -05:00
Tyler Benson
372ba221d2
Invert the classloader matcher to remove the double negative.
2020-03-05 10:14:33 -08:00
Tyler Benson
7702b0585b
Add Classloader precheck to expensive matchers.
...
Benchmark results:
```
Benchmark Mode Cnt Score Error Units
ClassRetransformingBenchmark.WithAgent.testTracedRetransform avgt 21.933 ms/op
ClassRetransformingBenchmark.WithAgent.testUntracedRetransform avgt 6.171 ms/op
ClassRetransformingBenchmark.WithAgentMaster.testTracedRetransform avgt 22.129 ms/op
ClassRetransformingBenchmark.WithAgentMaster.testUntracedRetransform avgt 6.517 ms/op
ClassRetransformingBenchmark.testTracedRetransform avgt 0.876 ms/op
ClassRetransformingBenchmark.testUntracedRetransform avgt 0.867 ms/op
```
I also saw a small improvement in application startup time.
2020-03-03 10:29:10 -08:00
Tyler Benson
35e00686b3
Imply not(isInterface()) call for expensive matchers
...
Also remove from simple named("some.name") matchers to avoid metadata lookup.
2020-02-27 12:13:42 -08:00
Tyler Benson
bd82166b58
Rename methods that don't require disambiguation.
2020-02-24 08:35:19 -08:00
Tyler Benson
f70c35842d
Move matchers to separate package and split matcher classes out
2020-02-24 08:31:12 -08:00
Laplie Anderson
d45ead1284
split matching into safeExtendsClass and safeHasInterface
2020-02-19 21:22:17 -05:00
Nikolay Martynov
fd75575796
Disable peer hostname tag for http servers
...
Getting peer hostname makes DNS request
2020-02-14 11:25:07 -05:00
Tyler Benson
51bffa2e8a
Move agent api classes to bootstrap package so they're not analyzed by muzzle
...
Also move jdbc classes to bootstrap to reduce size and complexity of those reference checkers.
These changes reduce the total file size of these instrumentation classes by 635k, which should also result in decent memory savings.
2020-02-10 15:09:15 -08:00
Tyler Benson
99992df998
Fix tagging query string for additional servers
...
Add test to common test suite and adapt each test.
2019-12-17 09:33:27 -08:00
Trask Stalnaker
1987e86ebf
Normalize tag verification order
2019-11-22 10:59:45 -08:00
Trask Stalnaker
86bd9793bd
Switch to new Tags class in instrumetation
2019-10-24 21:05:00 -07:00
Trask Stalnaker
9182b64078
Switch to new Tags class in tests
2019-10-24 21:04:57 -07:00
Tyler Benson
fbd16d8cb7
Add assert to ensure muzzle range not empty and update spring-data
...
Also fix a few muzzle definitions that are now broken with the new requirement.
Moved a few projects around to match correct version numbers.
2019-10-23 14:09:01 -07:00
Trask Stalnaker
8bb0f2c2f0
Use header objects directly where possible
2019-10-21 18:21:01 -07:00
Trask Stalnaker
4691396d11
Update play-2.4 to new agent api
2019-10-19 16:52:41 -07:00
Tyler Benson
263c442bdb
Fix order of operations
2019-08-27 12:06:21 -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
95a294a560
Remove common (redundant) dependencies
2019-08-06 14:51:04 -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
b343fe4551
Split peer connection details different generic argument
2019-04-16 08:34:43 -07:00
Tyler Benson
bf05984208
Server tags should report peer, not self hostname/port
...
Previously this was not obvious and incorrect.
2019-04-16 08:21:01 -07:00
Tyler Benson
b8affc472d
Migrate Play instrumentation to Decorators
2019-03-11 11:54:28 -07:00
Tyler Benson
50279d64fe
Span type should only be an attribute and not inherited
...
Previously we were inheriting from the parent and also often setting as a tag.
Apply default span assertion to verify the spanType is being checked properly. (Include error state too.)
2019-02-28 12:39:51 -08:00
Tyler Benson
13e708ec42
Akka and Apache HttpClient migrate to decorators
2019-02-20 17:02:05 -08:00
Tyler Benson
bbcd2f6949
Move other Utils to utils package
2019-02-05 11:43:05 -08:00
Tyler Benson
fe52180bfc
Apply proper generic signature for Instrumenter.Default transformers()
...
Previously it was missing the MethodDescription portion.
2019-01-04 15:25:12 -08:00
Nikolay Martynov
b8276ac70b
Specify Scala dependency in single place
2018-11-05 12:55:32 -05:00
Tyler Benson
041b9c30d4
Fix failing test from master.
2018-10-23 17:35:00 +10:00
Tyler Benson
432ce89a07
Add assertTraces to AgentTestRunner with implied argument
...
This will also help with auto complete when writing tests.
2018-10-15 10:19:00 +10:00
Nikolay Martynov
f71192266c
Rework the way multi-jvm tests work
...
To allow some JVMs runs only subset of tests
2018-10-02 13:20:19 -04:00
Nikolay Martynov
55c2935a19
Remove some hacks that were made for Gradle 4.10.1
2018-10-01 13:40:17 -04:00
Nikolay Martynov
5d627733d8
Use OkHttpUtils in more places
2018-09-26 15:07:20 -04:00
Tyler Benson
ebcc2ef052
Add work around for scala compile issue.
2018-09-19 15:13:42 +10:00
Andrew Kent
f06eb57449
Convert apache-http, akka, and play to muzzle plugin
2018-08-24 10:47:37 -07:00
Tyler Benson
3f2ec7dc48
Move to separate packages
2018-08-16 12:24:27 +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
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
Tyler Benson
00a2e891b0
http servers
2018-07-31 12:53:50 +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
Gary Huang
6317b21d5c
Fix merge conflicts with service mapping change
2018-07-26 09:16:41 -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
ce7866d018
Use `io.opentracing.log.Fields.*` instead of hardcoded strings
2018-07-23 10:04:53 -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