Commit Graph

1316 Commits

Author SHA1 Message Date
Will Gittoes 01f4666ac4
Simplify testing multiple session implementations 2019-03-06 10:28:18 +11:00
Will Gittoes e05429a9ff
Rename to hibernate-5 2019-03-06 10:12:52 +11:00
Will Gittoes 00865dab88
Review comments: Replace un-needed instrumentation by just propagating scope not spans 2019-03-06 10:05:21 +11:00
Nikolay Martynov d054790161
Merge pull request #754 from DataDog/mar-kolya/increase-docker-timeout
Increase docker container timeout in tests to help with stability on …
2019-03-04 14:40:27 -05:00
Tyler Benson 44919b4dbe
Merge pull request #751 from DataDog/tyler/netty-decorator
Migrate Netty instrumentation to Decorator
2019-03-04 09:26:11 -08: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 084c2eb51f Migrate Netty instrumentation to Decorator 2019-03-04 08:16:25 -08:00
Nikolay Martynov 8594e55530 Upgrade JMXFetch to the latest version 2019-03-04 08:48:04 -05:00
Arthur Bellal 15df2cd8f4 add uds support 2019-03-04 14:18:53 +01:00
Will Gittoes 9e3fda549d
More codenarc fixes 2019-03-01 13:53:51 +11:00
Will Gittoes ffa140f444
codenarc doesnt know how to parse datatables 2019-03-01 13:12:14 +11:00
Will Gittoes 644d26f4a9
Change muzzle tests 2019-03-01 12:53:51 +11:00
Will Gittoes bfc1042c3a
Additional test for OrmClientDecorator 2019-03-01 12:33:57 +11:00
Tyler Benson e098e6bd64 Migrate kafka instrumentation to Decorator. 2019-02-28 16:27:31 -08:00
Will Gittoes e6d593eabe
JAXB deprecated from default Java classpath in later JVMs, but required for tests 2019-03-01 10:49:49 +11:00
Nikolay Martynov 65cb8af873 Fix tests that verify that cancelling job cancels continuation 2019-02-28 18:44:39 -05:00
Tyler Benson 339784c4eb
Merge pull request #744 from DataDog/tyler/jms-decorator
Migrate JMS instrumentation to Decorator
2019-02-28 15:32:31 -08:00
Tyler Benson 1f60904321
Merge pull request #743 from DataDog/tyler/jetty-decorator
Migrate Jetty instrumentation to Decorator
2019-02-28 14:59:45 -08:00
Will Gittoes afc517f0c3
Review comments 2019-03-01 09:42:07 +11:00
Tyler Benson fc40c9617a Migrate JSP instrumentation to Decorator
Remove span kind and type from generated spans since these classify more as specialized @Trace spans.
2019-02-28 14:30:28 -08:00
Tyler Benson 5668e6006f Migrate Jetty instrumentation to Decorator 2019-02-28 13:54:37 -08:00
Tyler Benson 50b4e1623e Migrate JMS instrumentation to Decorator 2019-02-28 13:52:29 -08: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
Nikolay Martynov 3029d3d85c
Merge pull request #741 from DataDog/mar-kolya/tomcat-classloadin-instrumentation
Add instrumentation for Tomcat webapp classloading
2019-02-28 13:48:40 -05:00
Nikolay Martynov aa031cc708 Add instrumentation for Tomcat webapp classloading 2019-02-28 12:58:08 -05:00
Tyler Benson d53d3fe4c8 Add @Retry to tests that fail randomly in CI.
Should eventually revisit this to try and remove them.

Latest failure was on:
```
at ExecutorInstrumentationTest.#poolImpl '#name' reports after canceled jobs(ExecutorInstrumentationTest.groovy:202)
```
2019-02-27 20:56:47 -08:00
Will Gittoes 3334affc42
Add test for OrmClientDecorator 2019-02-28 15:38:25 +11:00
Tyler Benson 133460a79a Stop making hard references in HelperInjector
Also make awaitGC interruptable.
2019-02-27 19:09:01 -08:00
Will Gittoes 093387bb01
Review comments and additional testing 2019-02-28 11:04:31 +11:00
Tyler Benson f7e8980d08 Add null check on span type
Null spanTypes cause the tag to be removed.
2019-02-27 15:35:15 -08:00
Tyler Benson 9c9e74e0d0 Missing helpers 2019-02-27 13:37:03 -08:00
Tyler Benson a413b0d08d Review changes. 2019-02-27 12:39:03 -08:00
Tyler Benson 1644de3969 Migrate Jax-rs client instrumentation to Decorator 2019-02-27 09:40:08 -08:00
Tyler Benson 4e9449db81 Migrate Jax-rs annotation instrumentation to Decorator 2019-02-27 09:40:08 -08:00
Tyler Benson cd9dc94b24 Migrate Hystrix instrumentation to Decorator 2019-02-27 09:40:08 -08:00
Tyler Benson 34242e4849 Migrate method tracing instrumentation to Decorator 2019-02-27 09:40:08 -08:00
Tyler Benson d842612697 Migrate Jedis/Lettuce instrumentation to Decorator 2019-02-27 09:04:52 -08:00
Tyler Benson 9e81bba3fa Review comments 2019-02-27 08:41:32 -08:00
Will Gittoes c0e5baebda
Support stored procedures 2019-02-27 16:17:27 +11:00
Will Gittoes 044ff75e07
Neaten decorator pattern a bit 2019-02-27 09:35:10 +11:00
Tyler Benson c46909e59f Migrate JDBC instrumentation to Decorator 2019-02-26 11:16:35 -08:00
Tyler Benson 99f2d97cd5 review fixes 2019-02-26 08:32:43 -08:00
Tyler Benson a33b6ddaa0 Implement trace origin header and propagation support 2019-02-26 08:26:31 -08:00
Nikolay Martynov 2c2f81ea34
Merge pull request #733 from DataDog/mar-kolya/remove-unused-function
Remove unused testing function
2019-02-26 11:18:11 -05:00
Tyler Benson e17e029540
Merge pull request #732 from DataDog/tyler/httpurlconnection-decorator
Migrate HttpURLConnection instrumentation to Decorator
2019-02-26 08:13:46 -08:00
Tyler Benson 0aba752787
Merge pull request #726 from blockmar/hystrix-tags
Hystrix metadata added to tags and Command Group included in resource name
2019-02-26 08:05:56 -08:00
Nikolay Martynov 15bca28539 Remove unused testing function 2019-02-26 10:31:31 -05:00
Will Gittoes 079fcd6a56
Use a Dectorator for the Hibernate instrumentation 2019-02-26 17:31:42 +11:00
Will Gittoes 8985d6fd07
Merge branch 'master' into willgittoes-dd/hibernate-integration 2019-02-26 12:03:08 +11:00
Will Gittoes 8ffb9a63b0
Add hibernate.Criteria instrumentation 2019-02-26 12:02:40 +11:00
Tyler Benson 678df7b43d Migrate HttpURLConnection instrumentation to Decorator 2019-02-25 14:48:15 -08:00
Tyler Benson adb2eb9b55 Migrate gRPC instrumentation to Decorator 2019-02-25 13:17:28 -08:00
Anders Blockmar 8d601b7f0d Get methodName directly by annotation. Applied Google formatting. 2019-02-25 09:45:10 +01:00
Will Gittoes b95ff2eb8e
Hibernate: instrument querying 2019-02-25 10:17:14 +11:00
Tyler Benson 2f3f2d4e04
Merge pull request #728 from DataDog/tyler/static-import-decorators
Rename and static import decorators instance
2019-02-22 15:51:21 -08:00
Tyler Benson 461e01270c
Merge pull request #729 from DataDog/tyler/license-cleanup
Remove unnecessary license checker
2019-02-22 15:28:02 -08:00
Tyler Benson 93e38f6f0d Rename and static import decorators instance
In the instrumentation it reads better.
2019-02-22 13:44:34 -08:00
Tyler Benson 7e82f5b197 Remove unnecessary license checker 2019-02-22 13:42:43 -08:00
Tyler Benson db47fde8d1 Group Elasticsearch instrumentation into common folder
Also migrate to decorator.
2019-02-22 13:28:11 -08:00
Tyler Benson f04d113ecb Make decorators public and add tests 2019-02-22 09:42:53 -08:00
Anders Blockmar 5c9ddd6923 POC for hystrix metadata as tags in Hystrix Instrumentation 2019-02-22 15:59:32 +01:00
Tyler Benson dd35372a72 Add Cassandra decorator 2019-02-21 15:43:12 -08:00
Tyler Benson 9c8e689b6d Add decorator for couchbase instrumentation 2019-02-21 15:27:26 -08:00
Tyler Benson 2e4d8e94d6
Merge pull request #724 from DataDog/tyler/exclude-macro
Exclude groovy macro package from instrumentation
2019-02-21 12:37:22 -08:00
Tyler Benson 8f9ea87ef6
Merge pull request #723 from DataDog/tyler/aws-decorators
Migrate AWS SDK instrumentation to decorators
2019-02-21 12:37:05 -08:00
Tyler Benson 0d9e6ad97a
Merge pull request #722 from DataDog/tyler/akka-apache-decorators
Akka and Apache HttpClient migrate to decorators
2019-02-21 12:27:53 -08:00
Tyler Benson fb304a110d Migrate AWS SDK instrumentation to decorators 2019-02-21 12:11:42 -08:00
Tyler Benson 49faeca145 Exclude groovy macro package from instrumentation
It generates a lot of noise when running tests and likely shouldn’t be instrumented.
2019-02-21 11:35:21 -08:00
Tyler Benson dfe5cb57b2 Servlet migrate to decorators 2019-02-20 17:35:41 -08:00
Tyler Benson 13e708ec42 Akka and Apache HttpClient migrate to decorators 2019-02-20 17:02:05 -08:00
Tyler Benson a98c22ac3a Introduce base decorators 2019-02-20 16:11:18 -08:00
Tyler Benson 4dd4ee0c05 Trace Analytics Config
Also make the instrumentation names a sorted list so the evaluation order is consistent.
2019-02-20 10:56:14 -08:00
Tyler Benson a7ebc9b3db Deprecate WEB_SERVLET type 2019-02-20 08:42:39 -08:00
Tyler Benson 8512b841e6 Fix how we evaluate if customlogger is on classpath
Resources must replace `.` -> `/` and add `.class` to the end.
2019-02-15 15:00:25 -08:00
Nikolay Martynov 2d0636e158
Merge pull request #712 from DataDog/mar-kolya/limit-es-rest-tests
Limit ES-rest tests to 6.x.x versions
2019-02-15 09:54:34 -05:00
Tyler Benson 8d5aed7512
Merge pull request #705 from DataDog/tyler/synthetic-ignore
Exclude several type identifications from instrumentation
2019-02-14 16:46:59 -08:00
Nikolay Martynov dd7981871f Limit ES-rest tests to 6.x.x versions
It looks like beta 7.x.x was released and our instrumentation doesn't
work with it at the moment.
2019-02-14 17:43:44 -05:00
Nikolay Martynov 62e127896a
Merge pull request #706 from DataDog/mar-kolya/webflux-fixes
Improve webflux instrumentation
2019-02-14 17:41:59 -05:00
Nikolay Martynov 8e1382b4e4 Improve webflux integration
Add support for tracing Mono/Flux
2019-02-14 16:59:59 -05:00
Nikolay Martynov 13005d72cb Add reactor-core instrumentation 2019-02-14 16:59:56 -05:00
Tyler Benson c65c79207a Remove `isSynthetic()` ignore
There’s concern that this will cause classes to be skipped that we do want to instrument.
2019-02-14 08:45:02 -08:00
Will Gittoes 7481a141c4
Added instrumentation to attach State to all Query objects, so they can be instrumented 2019-02-13 22:13:32 +11:00
Will Gittoes b68563f5d1
Make tests work for StatelessSession as well as Session 2019-02-13 15:08:53 +11:00
Tyler Benson e019fcbda5 Instrument SharedSessionContract instead of Session 2019-02-12 16:53:09 -08:00
Will Gittoes 180ba619a2
Move SessionFactory instrumentation into its own class 2019-02-13 10:32:09 +11:00
Will Gittoes 984f6aff68
Tests for Session methods 2019-02-12 17:22:43 +11:00
Will Gittoes cd2467c76b
Use a generic Session MethodAdvice to instrument all synchronous Session methods; also support re-entrant Session methods 2019-02-12 17:01:37 +11:00
Tyler Benson ccee63574d Exclude several type identifications from instrumentation
I considered excluding Interfaces too, but that would break people that added `@Trace` to their default methods.

Just a hunch, but I don’t think we want to instrument classes marked as synthetic, for example proxies.  We may want to extend this to our method matchers (and maybe exclude native methods too).

We might want to instrument enums/annotations, but that seems unlikely.
2019-02-11 16:23:08 -08:00
Tyler Benson 5bc3ec82c2
Merge pull request #697 from DataDog/tyler/gradle-upgrade
Upgrade Gradle to 4.10.3
2019-02-11 16:01:35 -08:00
Nikolay Martynov 05731c3c45 Log when test starts
This is helpful to see what logs belong to what test
2019-02-11 12:21:20 -05:00
Nikolay Martynov bae2d7dde8 Allow non-wrapped tasks in disabled executors
Some executors cannot handle tasks that have been wrapped into
`{Runnable,Callable}Wrapper` because they require certain subclass of
`{Callable,Runnable}` in order to work. We have a test that
effectively disables instrumentation for such executors.

This change makes sure that tasks that do not need to be
wrapped (which essentially means anything that is not lambda) still
get traced in such executors. One notable example of affected executor
type is `ScheduledThreadPoolExecutor`.
2019-02-11 11:47:34 -05:00
Will Gittoes 724a59c347
Get initial hibernate tests working 2019-02-11 20:55:28 +11:00
Will Gittoes e8f0eaf85e
Add basic Hibernate integration 2019-02-11 14:47:21 +11:00
Nikolay Martynov 3a0a471dd5 Close future's continuation on cancel even if future itself was not cancelled 2019-02-08 20:13:32 -05:00
Nikolay Martynov 9d830a3dab Do not close parent scope when closing continuation in concurrent execution state 2019-02-08 20:13:32 -05:00
Tyler Benson 0802bb864c
Merge pull request #696 from DataDog/tyler/jmxfetch-config
JMXFetch bundled integrations disabled by default
2019-02-07 09:48:32 -08:00
Nikolay Martynov 931e6ff8af
Merge pull request #688 from DataDog/mar-kolya/webflux-fixes
Fix webflux integration to not rely in active span
2019-02-07 12:45:50 -05:00
Tyler Benson 000c0e4644 Upgrade Gradle to 4.10.3
Also try to improve build time performance by reducing the required configuration:
https://blog.gradle.org/preview-avoiding-task-configuration-time
2019-02-07 09:43:36 -08:00
Tyler Benson 4414dc2ad5 JMXFetch bundled integrations disabled by default
Enable each individually by setting `-Ddd.integration.<integration_name>.enabled=true`.
2019-02-06 13:00:52 -08:00
Nikolay Martynov 6de4f1b0ba
Merge pull request #694 from DataDog/mar-kolya/split-service-http-client-suggestions
Mar kolya/split service http client suggestions
2019-02-05 16:07:54 -05:00