Tyler Benson
70f5ff7244
Add the ability to skip specific versions for muzzle
...
This makes it much easier to bypass bad versions than splitting out the muzzle definition.
2020-04-20 16:36:57 -04:00
Tyler Benson
ce006e1405
Ensure RequestDispatcher span is part of expected trace
2020-04-14 14:56:16 -04:00
Tyler Benson
64161d93c9
Add instrumentation to detect the route at the beginning of the spring request
...
Instead of waiting till the handler is called, otherwise if a response is returned by a filter then the proper name wouldn't be set and would fall back to the URL.
2020-04-14 14:19:14 -04:00
Tyler Benson
97efa307d3
Stop setting error tag and update tests.
2020-04-13 13:59:11 -04: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
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
a04cc15ce8
Fix some tests
2020-02-14 12:59:30 -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
Tyler Benson
10b0f35235
Merge pull request #1090 from DataDog/tyler/servlet-path
...
Add servlet.path tag
2019-11-22 09:18:14 -08:00
dougqh
6b096c2240
Replacing Advice.class references
...
Replacing Advice.class references with string construction.
This stops the JVM from loading the Advice classes which are used as templates for byte buddy and doesn't ever need to be run directly.
This eliminates ~130 class loads at start-up -- and saves 0.5MiB in metaspace
2019-11-18 16:09:30 -05:00
Tyler Benson
bff8303e18
Remove duplicate onRequest call.
...
This info should already be populated by the servlet framework.
2019-11-11 15:58:31 -08:00
Tyler Benson
fdf2241e5f
Add servlet.path tag
2019-11-11 15:54:21 -08:00
Laplie Anderson
bf4587c23d
Missed a few test helper methods
2019-11-04 12:49:35 -05:00
Tyler Benson
df387b486a
Merge pull request #1064 from DataDog/tyler/spring-controller-refactor
...
Refactor JAX-RS Annotation and Spring Controller/Handler Instrumentation
2019-10-25 14:44:07 -07:00
Tyler Benson
fa80fee15d
Refactor JAX-RS Annotation and Spring Controller/Handler Instrumentation
...
For spring:
* Move more logic to the decorator.
* Use a fixed operation name, but set the resource name.
* Rename the root span instead of the parent span (If there are other spans in between this could make a difference.) Not sure what impact this would have if multiple controllers are called (ie, forward/include).
For Jax-rs:
* Rename the root span instead of the parent span (same concern as above with spring)
2019-10-25 10:19:25 -07:00
Tyler Benson
7ae5de1fc6
Refactor Servlet Advice
...
Moving directory structure around.
Combining advice, trying to make it propagate better.
2019-10-25 10:09:19 -07:00
Trask Stalnaker
9182b64078
Switch to new Tags class in tests
2019-10-24 21:04:57 -07:00
Tyler Benson
a8ca47ed03
Skip spring controller and dropwizard trace if no trace present
...
Also prefer early return instead of deep nesting for null check.
2019-10-24 14:40:08 -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