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
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
Trask Stalnaker
847a76cb04
Add missing tag verification
2019-11-22 10:59:47 -08:00
Trask Stalnaker
1987e86ebf
Normalize tag verification order
2019-11-22 10:59:45 -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
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
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
Trask Stalnaker
462a6632f7
Update rabbitmq-amqp-2.7 to new agent api
2019-10-19 16:52:42 -07:00
Tyler Benson
95a294a560
Remove common (redundant) dependencies
2019-08-06 14:51:04 -07:00
Nikolay Martynov
6d5972bce1
Make agent-tooling compile-depend on dd-tracing-ot directly
...
This ensures that `dd-tracng-ot` gets included into shadow jar.
Before this patch it was included only 'by accident' via some
transitive dependencies of some instrumentations.
2019-06-11 14:49:44 -04:00
Tyler Benson
8c860d63a4
Revert Pull Request #854 and #855
...
These are breaking changes that need more vetting.
2019-05-29 12:18:31 -07:00
Nikolay Martynov
a7271ed2b2
Use default service name for RabbitMQ consumer
...
So spans parented by consumer span had reasonable service name
2019-05-24 09:06:22 -04:00
Nikolay Martynov
6fd630831f
Stop using `scopeManager().activate(span, true)`
2019-04-08 11:54:47 -04:00
Nikolay Martynov
1af7487201
Wrap Rabbitmq channel span into scope
2019-04-05 11:13:53 -04:00
Tyler Benson
2146678d0a
Migrate RabbitMQ instrumentation to Decorator
2019-03-11 14:09:06 -07:00
Nikolay Martynov
9272f88fe6
Increase docker container timeout in tests to help with stability on underpowered machines running builds
2019-03-04 11:59:41 -05: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
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
Gary Huang
2c85b5cbb8
Restore RabbitMQ latestDepTest to use latest version
...
Since spring-rabbit no longer uses a dependency with a snapshot build.
2018-12-07 00:16:03 -05:00
Tyler Benson
442323d4d1
Add catch so instrumentation errors don’t interrupt primary execution.
2018-11-29 13:14:12 -08:00
Tyler Benson
c9ec9ebd0f
Add guard against null values in extract adapter.
2018-11-29 13:06:01 -08:00
Tyler Benson
785860b6a7
Add null check for envelope in consumer delegate
2018-11-29 11:22:32 -08:00
Tyler Benson
2f319b9301
Consumer delegate should rethrow the exception
...
Previously the delegate would swallow the exception and not rethrow.
I also added a test to attempt to verify, but the exception doesn’t seem to be observable in the test.
(See #602 )
2018-11-28 08:36:15 -08:00
Gary
9d7d40565a
Limit AMQP LatestDepTest to use last working version
...
Makes AMQP LatestDepTest not use the latest version because it uses a snapshot version of spring, causing error when downloading.
2018-11-09 11:09:04 -05:00
Nikolay Martynov
34372533c1
Add config for tags that propagate to JMXFetch and spans
...
Also add runtime-id tag to root span and JMXFetch metrics
2018-10-22 15:51:20 -04:00
Tyler Benson
b693335ef5
Add routing key to resource name for publish command.
2018-10-19 13:19:50 +10:00
Tyler Benson
97dd303909
Don’t change resource name of span unless it’s for Rabbit.
2018-10-19 12:27:34 +10:00
Tyler Benson
64595cf485
Add type hints and parent assertion
2018-10-19 11:51:57 +10:00
Tyler Benson
7ece2fe2a6
Prevent exchange name being overwritten in publish resource name.
2018-10-19 10:25:32 +10:00
Tyler Benson
8ff5c7c36c
Review fix comments and version range.
2018-10-18 16:08:37 +10:00