Commit Graph

59 Commits

Author SHA1 Message Date
Tyler Benson 34b7225a13 Add instrumentation name to allow configuring `@Trace`
Specifically, this allows annotated/configured methods to be reported to App Analytics:
- System Property: `-Ddd.trace-annotation.analytics.enabled=true`
- Environment Variable: `DD_TRACE_ANNOTATION_ANALYTICS_ENABLED=true`
or
- System Property: `-Ddd.trace-config.analytics.enabled=true`
- Environment Variable: `DD_TRACE_CONFIG_ANALYTICS_ENABLED=true`
2020-03-03 15:11:11 -08:00
Tyler Benson f70c35842d Move matchers to separate package and split matcher classes out 2020-02-24 08:31:12 -08: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
Blinkingor 8d83172128 clazz -> segment rename 2020-01-29 18:41:29 +01:00
Blinkingor db485d10da final configString 2020-01-28 16:20:02 +01:00
Blinkingor 811051d111 Remove overlapping tests and fix failing unit test 2020-01-28 16:06:23 +01:00
Blinkingor 10b963d277 Codenarc fixes 2020-01-28 15:35:39 +01:00
Blinkingor cf876b5e67 Fix import order 2020-01-28 15:21:50 +01:00
Blinkingor 1e390984c1 Fix potential StackOverFlowError on regexp 2020-01-28 10:28:37 +01:00
Trask Stalnaker 847a76cb04 Add missing tag verification 2019-11-22 10:59:47 -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 9182b64078 Switch to new Tags class in tests 2019-10-24 21:04:57 -07:00
Trask Stalnaker a9d3360701 Remove test dependency on GlobalTracer 2019-10-24 20:53:14 -07:00
Trask Stalnaker 377df7b789 Update trace-annotation to new agent api 2019-10-19 16:52:42 -07:00
Laplie Anderson 5719a783ad Make trace annotation instrumentation async propagating 2019-10-07 18:29:26 +02:00
Tyler Benson cd6dcf393b Apply fixed default operation name for @Trace generated spans
This should help reduce issues with multiple top level spans.
2019-09-05 16:21:27 -07:00
Tyler Benson 95a294a560 Remove common (redundant) dependencies 2019-08-06 14:51:04 -07:00
Laplie Anderson cad2a3d4a4 Set resource name in a way that doesn't need to reference DDSpanBuilder 2019-07-19 12:26:17 -04:00
Laplie Anderson d101bea085 Add DDSpanBuilder to helper classes of both instrumentations 2019-07-19 12:11:10 -04:00
Laplie Anderson 331b8c8e99 Add resource name to the @Trace annotation 2019-07-19 09:52:19 -04:00
Luca Abbati a8dd35ef57
Improve AgentRunner and ConfigUtils class based on CR comments 2019-06-13 12:40:10 +02:00
Luca Abbati e1ceda8f0e
Improve config usage as instance based on CR 2019-06-12 14:00:36 +02:00
Luca Abbati b6572bfd55
Reset test tracer in TraceAnnotationsTest to pick new configs 2019-06-05 18:52:25 +02:00
Luca Abbati ae03abe63c
Adapt tests to the new Config approach instance vs static 2019-06-05 12:17:09 +02:00
Luca Abbati 901efee50e
Remove static usage of low level config methods from outside the config class 2019-06-04 15:13:40 +02:00
Tyler Benson 9cdf049ca7 Extract ConfigUtils 2019-05-30 09:09:29 -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 34242e4849 Migrate method tracing instrumentation to Decorator 2019-02-27 09:40:08 -08:00
Tyler Benson a98c22ac3a Introduce base decorators 2019-02-20 16:11:18 -08:00
Tyler Benson bbcd2f6949 Move other Utils to utils package 2019-02-05 11:43:05 -08:00
Tyler Benson 6cebabbada Move integrations config to Config class. 2019-02-05 08:20:49 -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
Andrew Kent 0240ad5154 Move default instrumentation declarations to Instrumenter.Default 2018-12-11 18:01:40 -08:00
Tyler Benson cbb29069fe Apply component tag more consistently 2018-11-14 11:31:40 -08: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
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
Andrew Kent 541a6998a4 Hook up muzzle to Instrumenter.Default's matcher 2018-07-10 17:26:49 -04:00
Andrew Kent 836f49205b TraceConfigInstrumentation implements Instrumenter directly 2018-07-10 17:26:49 -04:00
Andrew Kent 02a3e6a5d3 New Instrumentation API 2018-07-06 17:17:32 -04: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 d5d24c50c7 Replace @Unroll’s with a rule to always unroll. 2018-05-10 15:24:59 +10:00
Tyler Benson 9606dd3467 Fix TraceConfig tests 2018-05-08 11:00:59 +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 f35e2e6ebe Remove various warnings and other cleanup
Also upgrade some plugins.
2018-05-04 14:05:06 +10:00
Tyler Benson 84b7080860 Fix AgentInstaller ignores and @Trace naming 2018-05-03 13:03:53 +10:00
Andrew Kent 3eac216a04 Use defaultTransformers in all instrumentation 2018-03-20 15:59:11 -07:00
Tyler Benson fb74c7b4cb Wrap super/parent type matchers in failSafe
To prevent errors on injected classes.
2018-03-09 14:45:08 +10:00