Tyler Benson
5c6f74fd5e
Merge pull request #1177 from DataDog/tyler/scope-depth-limit
...
Add limit to trace scope depth
2020-01-22 12:13:23 -08:00
Tyler Benson
a280ae6b7f
Check for both regular and lowercase names with decorator enabled flags.
2020-01-17 11:05:44 -08:00
Laplie Anderson
bed15079bc
Rename Rule Based Sampling properties
2020-01-16 11:38:38 -05:00
Tyler Benson
bcf81823b3
Add limit to trace scope depth
...
When limit is exceeded, a NoopScope is returned.
Allow custom ScopeManager to be provided, with the plan to remove `ScopeContext` customization in the future.
2020-01-15 11:51:06 -08:00
Tyler Benson
075ecb9f37
Lazy init Writer from config to avoid premature resource allocation.
2020-01-15 09:37:07 -08:00
Tyler Benson
e31cbd6c89
Add Builder to DDTracer
...
Deprecate previous constructors.
2020-01-14 17:44:34 -08:00
Tyler Benson
0a89f2a57c
Extract DDAgentResponseListener from DDApi.
...
Reduce references to DDApi
2019-12-20 14:49:31 -08:00
Tyler Benson
24e2fe6da7
Move DDApi and rename to DDAgentApi
...
Reduce visibility back to what it was before refactoring.
2019-12-20 14:36:45 -08:00
Tyler Benson
84f9d80258
Extract TraceSerializingDisruptor class from DDAgentWriter
2019-12-20 14:22:32 -08:00
Tyler Benson
97ed587547
Extract TraceConsumer from DDAgentWriter
...
Unfortunately this required making some things public that were previously private or package visible. I expect this to be temporary.
2019-12-20 14:17:33 -08:00
Tyler Benson
8fdd30d3ed
Make TraceConsumer a static class
2019-12-20 13:41:09 -08:00
Tyler Benson
2ea76494f8
Extract DisruptorEvent and EventTranslator classes from DDAgentWriter
2019-12-20 13:40:38 -08:00
Tyler Benson
6e57041a6a
Extract Monitor classes from DDAgentWriter
2019-12-20 12:09:14 -08:00
Laplie Anderson
7920a25b7e
Merge pull request #1152 from DataDog/landerson/decorator-flag
...
Disable decorators via config
2019-12-20 11:09:21 -05:00
Tyler Benson
ad22bd9cfc
Merge pull request #1150 from DataDog/tyler/fix-disruptor-shutdown
...
Allow flush to return if executor already shut down
2019-12-19 16:12:02 -08:00
Laplie Anderson
712a5c1483
Disable decorators via config
2019-12-19 13:02:59 -05:00
Tyler Benson
25d0d98dff
Allow flush to return if executor already shut down
...
Otherwise it could block shutdown if executor is stopped before disruptor.
2019-12-18 14:23:46 -08:00
Tyler Benson
31b77cbd7b
Capture error message even if no exception object provided.
...
This is currently only used by the GoogleHttpClient instrumentation, but may be used by customers too.
2019-12-18 13:49:24 -08:00
Douglas Q Hawkins
7b2c2e8c78
Merge pull request #1125 from DataDog/dougqh/service-decorator-ordering
...
Ordering inconistency with DDSpanBuilder.withTag
2019-12-12 10:33:07 -05:00
Douglas Q Hawkins
e9e3b375b9
Merge pull request #1132 from DataDog/dougqh/bounded-sender-queue
...
Restricting sender queue size
2019-12-12 10:30:59 -05:00
dougqh
ec27930d26
Ordering inconistency with DDSpanBuilder.withTag
...
Pior to this change, DDSpanBuilder.withTag behaves different than DDSpan.setTag when decorators are triggered.
Specifically builder.withTag(a, val).withTag(b, val) can behave differently than span.setTag(a, val); span.setTag(b, val)
This change makes a small step towards determinism by changing the HashMap inside DDSpanBuilder into a LinkedHashMap. That guarantees the tags from withTags translated to the same sequence of setTag calls.
NOTE: Even with this change, there are inconsistencies when tags are removed or set to an empty value.
2019-12-11 20:11:58 -05:00
dougqh
e604d9164c
Adding monitor call back on interrupt
...
Adding call to monitor.onFailedSend in case senderSemaphore acquisition is interrupted during shutdown
2019-12-11 14:29:09 -05:00
Cecile terpin
073e4bbed5
Empty proc file is not an error
...
Empty proc file is not an error
2019-12-11 16:35:42 +01:00
Cecile terpin
ce0d09f04a
AllowUstoGetContainerInfoOnDocker
...
Tested on docker. Although "/proc/self/cgroup" file is not empty, "/proc/self/cgroup".toFile().length() returns 0
as does Files.size("/proc/self/cgroup").
2019-12-11 14:27:23 +01:00
dougqh
c614df7382
Lowering expectedRejects to account for timing variance in test
2019-12-10 16:11:56 -05:00
dougqh
aa54dab853
Switching forEach -> each to fix Java 7
2019-12-10 16:11:56 -05:00
dougqh
53eacfdc79
Improving test reliability
...
Improving the reliability of the slow sender test.
Still needs work, but to make this truly reliable, I'd need to add to the DDAgentWriter API. I'll probably do that, but I'm trying to start with sticking to the existing API.
2019-12-10 16:11:56 -05:00
dougqh
7883366b83
Restricting sender queue size
...
To prevent unbounded memory consumption, restricting the size of the sender queue. Also, lowering the size of the Disruptor queue.
Unfortunately, our choice of a ScheduledExecutorService makes this a bit difficult, since ScheduledExecutorService doesn't allow us to supply the queue.
A bigger change is in-order but for now, this change restricts the queue size by introducing a Semaphore around the ScheduledExecutorService.
In effort to making testing easier, I introduced Monitor.onFlush. This is used in the new slow response test which attempts to simulate a situation where the sending queue would back up.
2019-12-10 16:11:56 -05:00
Laplie Anderson
83e78fb8f0
Rename KnuthSampler to DeterministicSampler
2019-11-22 13:53:47 -05:00
Zachary Groves
c4cebc30c8
Merge pull request #1097 from DataDog/ZStriker19/remove_duplicate_okhttp_span_and_okhttp_separate_service
...
Remove duplicate Okhttp span and stop separate service creation of ok…
2019-11-20 17:01:18 -06:00
Laplie Anderson
5ff2fcaa63
Fix tests, increase code coverage, codenarc
2019-11-18 23:39:03 -05:00
Laplie Anderson
9d850b8ef5
Default sampler priority is null
2019-11-18 17:21:17 -05:00
Laplie Anderson
3144d02615
Tests around PrioritySampling
2019-11-18 16:44:48 -05:00
Laplie Anderson
bd11d7222e
Remove reliance on toString() in tests
2019-11-18 14:59:38 -05:00
Laplie Anderson
a0d5238214
Add tests for rules
2019-11-18 14:58:55 -05:00
Laplie Anderson
0c22e27f66
Config and builder
2019-11-18 12:04:22 -05:00
Laplie Anderson
d8afd8b2a4
Rule based sampling and delaying sampling until necessary
2019-11-18 12:04:14 -05:00
Laplie Anderson
56e4fdebb2
Change sampling to use knuth algorithm
2019-11-18 12:03:46 -05:00
dougqh
c2d969fc0e
Closing Reader-s
2019-11-15 09:37:45 -05:00
ZStriker19
8fb32b5730
Remove duplicate Okhttp span and stop separate service creation of okhttp. Instead okhttp will now appear as part of the service that is using okhttp to make the call.
2019-11-14 17:29:28 -05:00
Nikolay Martynov
2c4422aa04
Upgradle to gradle 6.0
2019-11-12 16:26:46 -05:00
Tyler Benson
da8aa5c7c1
Merge pull request #1079 from DataDog/tyler/decorator-parse-strings
...
Allow decorators to parse string values on tags.
2019-11-05 08:43:26 -08:00
Tyler Benson
74fd6b6c9c
Allow decorators to parse string values on tags.
...
Since global tags can only be set as String.
2019-11-04 13:23:31 -08:00
Laplie Anderson
bc2978e8d8
Use groovy literals for BigInteger
2019-11-04 16:16:03 -05:00
Laplie Anderson
e7ac8e7668
Only generate ids up to 2^63 - 1
2019-11-04 15:16:55 -05:00
Laplie Anderson
bf4587c23d
Missed a few test helper methods
2019-11-04 12:49:35 -05:00
Laplie Anderson
cfc19facf5
Change String ids to BigInteger ids
2019-11-04 11:21:32 -05:00
Tyler Benson
86ed30d5af
Fix scopemanager comaptability for OT 0.33.0
...
Also add simple regression test.
2019-10-31 14:58:31 -07:00
Laplie Anderson
61441e1fbe
Remove calls to removed methods
2019-10-29 11:23:09 -04:00
Nikolay Martynov
4df2fe814b
Merge pull request #1068 from DataDog/mar-kolya/update-unixsocket-lib
...
Update unixsocket dependenxy
2019-10-28 13:09:28 -04:00