Will Tran
63c6db0cd5
Ensure baggage can always be added to
...
Otherwise it could be assigned to a Collections.emptyMap()
Fixes https://github.com/DataDog/dd-trace-java/issues/1036
2019-10-09 13:01:44 -04:00
Tyler Benson
9ef3332140
Extract base test class and move Config class changes there.
2019-10-07 18:51:25 +02:00
Tyler Benson
82d60c27f4
Fix codeNarc
2019-09-27 15:04:41 -07:00
Tyler Benson
05c95100ab
Minor optimization to avoid using BigInteger if possible
2019-09-25 18:14:40 -07:00
Tyler Benson
2086664f6d
Reduce overhead of URLAsResourceName decorator
...
Using `new URL()` just to parse the path out was rather expensive. This should improve the situation.
2019-09-17 18:50:01 -07:00
Tyler Benson
3d1f2b9d01
Ensure default sampler is available
...
This avoids the possible null pointer reference.
2019-09-10 15:29:13 -07:00
Tyler Benson
310ec93135
Minor test fix.
2019-09-10 15:08:55 -07:00
Tyler Benson
a010d4e095
Remove race condition.
2019-09-10 14:56:03 -07:00
Tyler Benson
8cd294dba0
Use ThreadLocalRandom for improved concurrency.
2019-09-10 14:04:37 -07:00
Tyler Benson
a88182ab3b
fix test
2019-09-10 12:56:42 -07:00
Tyler Benson
42545a0906
Remove synchronization from RateByServiceSampler
...
This change avoids lock contention in a hot code path.
I also added double check locking in ClassLoaderMatcher to reduce the need of locking there.
2019-09-10 12:44:13 -07:00
Tyler Benson
df017e044a
Merge pull request #975 from DataDog/tyler/split-by-tag
...
Add new setting to allow renaming service by tag
2019-09-05 14:24:20 -07:00
Tyler Benson
8177b95164
Make config modifiable and still allow tag to be set.
2019-09-03 18:51:39 -07:00
Tyler Benson
82f5076716
Add new setting to allow renaming service by tag
...
This is a more generic form of the previous `split-by-domain` and `split-by-instance`.
(Note: evaluation is done when a tag is set, so If multiple tags are configured, the last tag set will take precidence.)
For example, this setting can be used to rename `aws-sdk` spans to be identified with the corresponding `aws.service` tag:
```
-Ddd.trace.split-by-tags=aws.service
```
There are some slight differences with this setting compared with`dd.trace.http.client.split-by-domain` and `dd.trace.db.client.split-by-instance`. `split-by-tags` applies to every span, where `split-by-domain` and `split-by-instance` only apply to http and db client spans respectively.
2019-09-03 16:55:47 -07:00
Alex Antonov
bf15ea1f5a
Added tests for Haystack propagation support
2019-09-03 14:29:15 +02:00
Alex Antonov
93ae2678ff
Added support for Haystack trace propagation
2019-09-03 11:04:01 +02:00
Tyler Benson
bbfd02befc
Update Jackson to 2.9.9.3
...
As recommended by https://nvd.nist.gov/vuln/detail/CVE-2019-14379
(Remove unused dependency)
2019-08-12 16:41:57 -07:00
Tyler Benson
13b794c504
Merge pull request #917 from DataDog/tyler/null-span-in-scope
...
Assert span in scope can't be null and add tests to verify
2019-07-18 13:43:19 -07:00
Tyler Benson
17d26a4934
Assert span not null and use NoopSpan instead.
2019-07-18 12:38:49 -07:00
Laplie Anderson
5956f51e07
Change container info to a singleton ContainerInfo
...
DDTraceOTInfo wasn't the best place for container information. Changed ContainerInfo.java to have a static instance
2019-07-17 13:01:08 -04:00
Laplie Anderson
719bf0ad76
Remove reference to private repo
2019-07-17 12:00:31 -04:00
Laplie Anderson
d03a2a95e2
Change to @Getter/@Setter to be above coverage threshold
...
Since toString(), equals(), and hashCode() are never called, the code coverage for the classes are too low.
In the future, we should ignore code coverage of lombok generated methods
2019-07-16 19:09:00 -04:00
Laplie Anderson
4853801813
Add container id headers to request builder
2019-07-16 18:29:59 -04:00
Laplie Anderson
9dbe3a0a17
Fix part of path to match
2019-07-16 18:29:59 -04:00
Laplie Anderson
d74ffc3db0
Parsing tests from RFC and reference impl
2019-07-16 18:29:59 -04:00
Laplie Anderson
369658c200
Initial cgroups parsing implementation
2019-07-16 18:29:59 -04:00
Tyler Benson
e08e3a787c
Allow null to be set in Scope for Span
...
This is useful to temporarily remove a trace from scope for a defined period.
2019-07-15 19:11:51 -07:00
Nikolay Martynov
b3c970d6c7
Formatting fix
2019-07-11 13:45:40 -04:00
Laplie Anderson
aa3303022d
Send jvm vendor as header to agent ( #909 )
2019-07-10 16:28:10 -04:00
Nikolay Martynov
7863a68a53
Fix typo
2019-06-06 09:41:36 -04:00
Tyler Benson
21c22d6985
Fix log message and add ignores
...
Also add CODEOWNERS
2019-05-24 11:44:10 -07:00
Luca Abbati
ad3401b815
Apply suggestions from CR #827
2019-05-17 10:15:03 +02:00
Luca Abbati
1d5dd5b28a
Refactor merging application root span tags with jmx base tags
2019-05-16 19:54:25 +02:00
Luca Abbati
85684f955b
Remove unused imports from test
2019-05-16 14:51:27 +02:00
Luca Abbati
2a975b31ee
Adapt test to new DDTracer constructor and unserializable field
2019-05-16 14:35:56 +02:00
Luca Abbati
10069847a3
Define the concept of applicationRootSpanTags and apply only to root
...
tags
2019-05-16 12:25:43 +02:00
Luca Abbati
0e9f9d9d02
Refactor names of DDSPan's methods to interact with root span
...
The naming of methods in DDSpan used to detect/retrieve the root span
for a fiven span were slightly misleading. Specifically 'isRootSpan()'
returned true if and only if the span is the root span of teh entire
trace(even in the context of distributed tracing), while getRootSpan()
return the root span of the trace fragment generated by the currently
traced application. I hope that trenaming such methods to
'isTraceRootSpan()' and 'getApplicationRootSpan()' respectively will
help adding some clarity.
The old method names have not been removed for backward comptibility
reasons and tests have been added, but they have been marked as
deprecated.
2019-05-16 11:31:37 +02:00
Luca Abbati
23ffcf0fce
Apply workaround to refresh configuration values during tests
2019-05-15 16:00:14 +02:00
Luca Abbati
c8a04b0a4f
Refactor hostname detection in tracer
2019-05-15 13:42:43 +02:00
Luca Abbati
7fd16d1eef
Add tests for hostname detection
2019-05-13 18:31:15 +02:00
Luca Abbati
c15ecc8026
Properly format code
2019-05-13 11:48:38 +02:00
Luca Abbati
938740569f
Set the hostname on root spans
2019-05-10 16:12:15 +02:00
Tyler Benson
03f44bd8b9
Merge pull request #807 from DataDog/tyler/exclude-config
...
Add config allowing classes to be excluded from transformation
2019-04-23 10:37:01 -07:00
Luca Abbati
0d0fa55f21
Sort decorators factory list alphabetically
2019-04-23 11:52:37 +02:00
Tyler Benson
ec91a75848
Add config allowing classes to be excluded from transformation
...
Add the following system property or corresponding environment variable:
```
dd.trace.classes.exclude=some.packagename.*,some.classname.MyClass$NestedClass
```
2019-04-19 10:41:13 -07:00
Luca Abbati
6e825afef2
Move from ForcedSampling tags to standard DDTags based tags
2019-04-19 16:21:35 +02:00
Luca Abbati
6cbdc2005e
Restore erroneously removed getTags method from span context
2019-04-19 10:42:36 +02:00
Luca Abbati
19e9fb83bb
Remove obsolete forced tracing method from span context
2019-04-19 09:20:17 +02:00
Luca Abbati
d6a5255e8f
Keep tag decorators count in tests up to date
2019-04-18 14:22:09 +02:00
Luca Abbati
fc5b72f86b
Fixed indentations based on google style rules
2019-04-18 13:17:21 +02:00
Luca Abbati
7e157e0561
Move implementation of manual sampling via tag from span to decorators
2019-04-18 13:11:33 +02:00
Luca Abbati
9b705fee2f
Fix code styles errors
2019-04-17 16:46:18 +02:00
Luca Abbati
762930bebd
Run code formatter
2019-04-17 15:19:10 +02:00
Luca Abbati
bff7ac8174
Simplify business logic to set force tracing as a tag
2019-04-17 14:39:54 +02:00
Luca Abbati
f92e2bbdf6
Rebrand priority sampling while being BC with legacy approach to set it
2019-04-17 14:31:39 +02:00
Tyler Benson
a11b888d7a
Update ratpack instrumentation and remove default disabled.
2019-04-08 18:26:08 -07:00
Nikolay Martynov
a245ec4949
Upgradle gradle
2019-04-03 12:56:15 -04:00
Nikolay Martynov
de980c2d52
Merge pull request #787 from DataDog/mar-kolya/compiler-config-fix
...
Mar kolya/compiler config fix
2019-04-01 09:15:39 -04:00
Tyler Benson
e4c0175ed0
Merge pull request #785 from DataDog/tyler/pendingtrace-init
...
Ensure that PendingTrace.SPAN_CLEANER initialized with Tracer
2019-03-29 10:22:07 -07:00
Tyler Benson
bc9b96222d
Add fixme for future testing task.
2019-03-29 10:03:53 -07:00
Nikolay Martynov
65630a702d
Make SpanCleaner initialization explicit
2019-03-29 12:21:17 -04:00
Nikolay Martynov
4c8a790c3b
DDTracer: minor javadoc fix
2019-03-29 09:42:52 -04:00
Tyler Benson
a9760f24fc
Ensure that PendingTrace.SPAN_CLEANER initialized with Tracer
...
Otherwise it might get initialized by a different classloader which would prevent that classloader from being unloaded.
2019-03-28 11:26:43 -07:00
Masayasu Yamamoto
e5c504bceb
Fix log message
2019-03-28 22:38:01 +09:00
Tyler Benson
2052647ec9
Fix content length calculation for larger trace counts
...
Failure to calculate this correctly causes the agent to drop the request.
2019-03-27 15:06:07 -07:00
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