Commit Graph

2299 Commits

Author SHA1 Message Date
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
Tyler Benson f0013ef02e
Merge pull request #698 from DataDog/tyler/bb-upgrade
Upgrade Byte Buddy to 1.9.9
2019-02-11 16:01:20 -08:00
Tyler Benson f273553ca8 Begin 0.24.0 2019-02-11 11:06:03 -08:00
Tyler Benson 7281754e08 Version 0.23.0 2019-02-11 10:54:10 -08:00
Nikolay Martynov 58e4126fee
Merge pull request #704 from DataDog/mar-kolya/log-when-test-starts
Log when test starts
2019-02-11 12:40:55 -05: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 f33600d1f2
Merge pull request #701 from DataDog/mar-kolya/improve-executor-instrumentation
Allow non-wrapped tasks in disabled executors
2019-02-11 12:18:36 -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
Tyler Benson 8a4c2815d2
Merge pull request #700 from DataDog/tyler/api-tracer-shutdown
New API: Add shutdown callback to shutdown the Tracer
2019-02-11 08:21:55 -08: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 b672a0fffc Fix ContinuableScope bug when parent span was not closed after scope was closed 2019-02-08 20:13:32 -05: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 8f3568c894 Review fixes 2019-02-08 14:00:14 -08:00
Tyler Benson a59eec223f Span metadata must be string values. 2019-02-08 12:05:29 -08:00
Tyler Benson 11b09ba8ce
Merge pull request #702 from DataDog/tyler/partial-flush-name
Make internal name usage consistent with setting name.
2019-02-08 11:15:07 -08:00
Tyler Benson 0e1dce868c Log exceptions from Tracer.finalize() 2019-02-08 11:09:24 -08:00
Tyler Benson 65add99a7b Make shutdown callback weakly reference the tracer.
This should allow finalize to actually be called.  (Also assumes the weak reference isn’t cleared until after finalize is called.)
2019-02-08 11:04:23 -08:00
Tyler Benson 532f4af28f New API: Add shutdown callback to shutdown the Tracer
Also add getMeta() to Span interface.
2019-02-08 10:33:01 -08:00
Tyler Benson 2283040a5b Make internal name usage consistent with setting name. 2019-02-08 10:26:40 -08:00
Tyler Benson 625b1334f5
Merge pull request #699 from DataDog/tyler/api-timestamp
New API:  Allow creating timestamp with custom time.
2019-02-08 08:17:00 -08:00
Tyler Benson bc2041b5b6 New API: Allow creating timestamp with custom time. 2019-02-07 15:48:31 -08:00
Tyler Benson a865bf4dba Upgrade Byte Buddy to 1.9.9 2019-02-07 11:46:23 -08:00
Tyler Benson b07b5962f0 Add log output to help CI not time out for long tasks
Muzzle takes a long time when run on a clean cache because it has to download a lot of dependencies.
2019-02-07 11:03:19 -08: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
Tyler Benson 2643471f75
Merge pull request #695 from DataDog/tyler/remove-codec
Remove codec registry for inject/extract
2019-02-06 09:37:22 -08:00
Tyler Benson 996c1ce625 invert instanceof check 2019-02-06 08:35:10 -08:00
Tyler Benson 326577d7df Remove codec for inject/extract
In preparation for OT 0.32 support.
2019-02-05 15:07:33 -08:00
Tyler Benson 7a430647a0
Merge pull request #691 from DataDog/tyler/split-service-http-client
Add setting to set service name by domain for http clients
2019-02-05 13:17:46 -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
Nikolay Martynov a46d6a2e8f Use config inheritance in `withConfigOverride`.
This moves us forward to abstract 'Config' and away from depending in
specific config data source (e.g. system properties).
2019-02-05 15:51:05 -05:00
Nikolay Martynov 4af241fc48 Fix config to inherit `HTTP_CLIENT_HOST_SPLIT_BY_DOMAIN` 2019-02-05 15:22:14 -05:00
Tyler Benson 65cece6741 Fix code coverage ignores. 2019-02-05 12:15:14 -08:00
Tyler Benson 12e7efc0b9 Review fixes 2019-02-05 11:58:36 -08:00
Tyler Benson bbcd2f6949 Move other Utils to utils package 2019-02-05 11:43:05 -08:00
Tyler Benson 878bab38be Add comments to Config 2019-02-05 11:31:41 -08:00
Tyler Benson 6aa371d790 Encapsulate config override reflection 2019-02-05 11:30:07 -08:00
Tyler Benson 707ad33028
Merge pull request #682 from DataDog/tyler/decorators
Abstract decorator classes for new API
2019-02-05 09:28:58 -08:00
Tyler Benson 6cebabbada Move integrations config to Config class. 2019-02-05 08:20:49 -08:00
Tyler Benson 1a54e8179a Add setting to set service name by domain for http clients
This will allow better metric collection and identification of trends for individual services/hosts.

This is not enabled by default because it can result in a high cardinality of services.
2019-02-05 08:20:49 -08:00