Commit Graph

226 Commits

Author SHA1 Message Date
Tyler Benson f98884235f Review changes. 2019-03-21 08:10:36 -07:00
Tyler Benson 2a49998180 Allow truncation for 128 bit B3 headers.
This is accepted practice in the Zipkin community, so we shouldn’t break this.
2019-03-20 16:02:32 -07:00
Nikolay Martynov 2c5d2ce70d Create TagContext during B3 headers extration 2019-03-20 12:28:39 -07:00
Nikolay Martynov 42cc3594dc Improve injection/extraction styles configuration 2019-03-20 12:28:39 -07:00
Nikolay Martynov 4eb7936245 Implement B3 headers extraction and injection 2019-03-20 12:28:39 -07:00
Tyler Benson 7ffcf5ad4d Change DDAgentWriter to use Disruptor
Serialize payloads as they arrive, send to agent when size exceeds 5MB.

If a flood of traces fills up the RingBuffer, we still count the traces that are discarded for stats reporting.

Do we want to allow configuration of the RingBuffer size?
2019-03-19 09:44:23 -07:00
Nikolay Martynov f3cef4a1e1 Implement HTTP timeout when sending traces to Datadog agent
To ensure we do not pile up traces causing memory overconsumption if agent is slow to respond.
2019-03-15 11:44:19 -07:00
Nikolay Martynov 63e0c0f032 Support Unix Domain Socket proxy to send traces 2019-03-15 11:36:44 -07:00
Tyler Benson 0f07776191 Agent doesn’t like getting floats.
Convert to doubles instead.
2019-03-14 14:36:14 -07:00
Tyler Benson 576e554445 Migrate Mongo to Decorator 2019-03-05 20:50:06 -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 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
Tyler Benson db47fde8d1 Group Elasticsearch instrumentation into common folder
Also migrate to decorator.
2019-02-22 13:28:11 -08:00
Tyler Benson 9c8e689b6d Add decorator for couchbase instrumentation 2019-02-21 15:27:26 -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
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
Nikolay Martynov b672a0fffc Fix ContinuableScope bug when parent span was not closed after scope was closed 2019-02-08 20:13:32 -05: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 2283040a5b Make internal name usage consistent with setting name. 2019-02-08 10:26:40 -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 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
Nikolay Martynov 16fe4bd370 Add some debug logging to ContinuableScope 2019-02-05 10:10:49 -05:00
Tyler Benson 03bcdc97cc Move awaitGC to common utility package 2019-01-25 10:32:09 -08:00
Tyler Benson 68d93ce969
Merge pull request #640 from DataDog/tyler/event-sampling
Initial support for setting Event Sample Rate via tags
2019-01-22 08:22:46 -08:00
Nikolay Martynov 28e1749c2a
Merge pull request #662 from DataDog/mar-kolya/partial-trace-flush
Add support for partial trace flush
2019-01-22 10:16:43 -05:00
Nikolay Martynov 2a7cebc311 Add support for partial trace flush
Add a configuration option and logic to flush purtial traces to the
agent if ongoing trace becomes too large.
2019-01-17 09:09:50 -05:00
Tyler Benson a411f7cc5e Upgrade jackson-dataformat-msgpack to 0.8.16 2019-01-16 13:46:20 -05:00
Tyler Benson bbfcb26cd1 Implement support for setting Event Sample Rate via tags
This only adds the API, no changes to the integrations.
2019-01-04 15:26:12 -08:00
Tyler Benson 82dcc3ce6c
Merge pull request #629 from DataDog/ark/jmx-tagging
Add languages tag to jmx/runtime tags
2018-12-28 09:34:20 -08:00
Tyler Benson 761ea7042a Fix size calculations and improve DDTracerTest 2018-12-27 17:08:46 -08:00
Tyler Benson 8b910b46d1 Update tests for `language` tag in root span 2018-12-27 16:00:47 -08:00
Andrew Kent e9f1436522 Additional continuable-scope tests 2018-12-19 17:12:58 -08:00
Andrew Kent 1ed64da10e Add internal scope listener api 2018-12-19 13:21:07 -08:00
Andrew Kent 5132f0da4b wip: Add languages tag to jmx/runtime tags 2018-12-17 13:32:50 -08:00
Andrew Kent 2dfc3ed465 Do not set the sampler rate for RateByServiceSampler 2018-12-13 08:24:09 -08:00
Andrew Kent 52eaacc929 Enable priority sampling by default 2018-12-12 18:29:08 -08:00
Nikolay Martynov 7728f9918e Remove shutdown hook when DDTracer is shutdown
This is similar to the problem with weak map supplier and may lead to
a memory leak if we created/estroy many DDTracer objects.
2018-12-05 15:02:44 -05:00
Tyler Benson 983077d150 Move mock/assert deps out of common dependencies 2018-11-30 10:02:26 -08:00
Nikolay Martynov 2e8dc9d08f Fix Ratpack tests that got broken by ExecutorInstrumentation refactoring
It turns out closing continuation also closes parent span. This is not
very good in cases when we end up not using continuation if
continuation in a state has already been setup.

This patch provides way to close continuation in a way that doesn't
affect parent scope.
2018-11-29 15:21:46 -08:00
Andrew Kent cf033baf7e
Merge pull request #591 from henry-megarry/master
implementing add reference to work with opentracing-spring-cloud-starter
2018-11-26 20:06:06 +00:00
Nikolay Martynov 80cd7cd500 Do testAnnotationProcessor deps.autoservice in modules with services in tests
Otherwise sometimes tests cannod discover services
2018-11-23 09:44:49 -05:00
henry-megarry 001c5f7349 implementing add reference to work with opentracing-spring-cloud-starter 2018-11-21 14:27:13 -06:00
Tyler Benson e888b170c4
Merge pull request #582 from DataDog/tyler/servlet-dispatch
Fix servlet async dispatch
2018-11-16 15:06:38 -08:00
Tyler Benson 93c046a664 Add support for DD_TRACE_AGENT_PORT setting
Makes this more consistent with other apm language clients.
2018-11-16 11:09:26 -08:00
Tyler Benson cde02e1ae5 Fix servlet async dispatch
Finish existing trace and propagate to the next request.

Improve dispatch testing.
2018-11-16 08:55:11 -08:00