Tyler Benson
d235618a6e
Add instrumentation for Java’s UrlConnection
...
For HttpUrlConnection, trace propagation headers are added to the outgoing request.
Due to the awkward design of the API, the ability to instrument in a natural way was limited, thus the main points instrumented are the get{Input,Output}Stream methods.
2018-06-06 09:12:48 +10:00
Tyler Benson
de74eb1938
Add additional metadata to ES client calls.
2018-05-25 13:58:44 +10:00
Tyler Benson
0cf8fef8d8
Elasticsearch Instrumentation
2018-05-23 11:29:13 +10:00
Tyler Benson
024d414844
Move Apache HttpClient tests to instrumentation
...
And add latest test.
2018-05-18 12:01:12 +10:00
Tyler Benson
69ee39bfc2
Merge pull request #317 from DataDog/tyler/tagged-headers
...
Add setting for collecting headers as tags during extraction
2018-05-15 10:43:54 +10:00
Tyler Benson
c011eb0fbd
Merge pull request #320 from DataDog/tyler/servlet-context-naming
...
Name service based on servlet context
2018-05-15 10:27:06 +10:00
Tyler Benson
dc814aeb6d
Fix tests.
2018-05-11 15:19:30 +10:00
Tyler Benson
6767785e0f
Try cleaning more than once in test.
2018-05-11 14:27:44 +10:00
Tyler Benson
46878d24d3
Name service based on servlet context
...
This only applies if a service name hasn’t been set or is empty.
This is particularly useful for environments that deploy multiple war files to the same app server.
2018-05-11 13:59:03 +10:00
Tyler Benson
97b3e537bd
Add shutdown hook to span-cleaner thread
2018-05-11 13:55:05 +10:00
Tyler Benson
891b46f0d1
Add setting for collecting headers as tags during extraction
2018-05-11 09:32:07 +10:00
Tyler Benson
d5d24c50c7
Replace @Unroll’s with a rule to always unroll.
2018-05-10 15:24:59 +10:00
Tyler Benson
2595ca5128
Refactor decorators and add service name mapping
2018-05-08 16:13:48 +10:00
Tyler Benson
9a52303376
Apply jacoco to every java project
...
Some projects have ignores/whitelists, but generally coverage is pretty high.
AFAIK, this doesn’t really capture instrumentation test coverage though.
2018-05-04 16:23:32 +10:00
Tyler Benson
f35e2e6ebe
Remove various warnings and other cleanup
...
Also upgrade some plugins.
2018-05-04 14:05:06 +10:00
Tyler Benson
7c4d42ef8a
Add additional test task for testing latest versions of a dependency
2018-05-04 14:04:30 +10:00
Tyler Benson
3fa0eb0296
Remove dependency on guava for dd-trace-ot
2018-05-03 16:11:15 +10:00
Tyler Benson
63d308e50d
Misc cleanup/minor changes
2018-05-01 10:24:14 +10:00
Tyler Benson
cd289308bb
Remove timeouts.
...
Not helping as much as was hoped. Causing extra noise in CI.
2018-04-30 11:10:18 +10:00
Tyler Benson
3db2d654f1
Fix spark instrumentation
...
and rebase off master.
2018-04-26 17:01:45 +10:00
Andrew Kent
64ce961c32
Debug logs for hot paths
2018-04-23 11:06:45 -07:00
Andrew Kent
c3feb3b878
Merge pull request #290 from DataDog/ark/pending_expire
...
Handle spans registered after trace is written
2018-04-23 10:00:38 -07:00
Andrew Kent
bb69666e9f
Handle spans registered after trace is written
...
Decrement the pending trace count when spans are registered after a
trace writes. Log certain pending trace messages at debug.
2018-04-18 12:37:14 -07:00
Tyler Benson
e7604bfd3f
Report X-Datadog-Trace-Count header with traces
...
Also remove unused services endpoint code.
2018-04-18 10:27:51 +08:00
Andrew Kent
c7cf1cf36d
Merge pull request #282 from DataDog/ark/async-refactor
...
Toggleable Async Propgation on the trace context
2018-04-17 09:44:41 -07:00
Andrew Kent
5f5d654a4c
Merge pull request #288 from DataDog/ark/agent_priority_sampling
...
Move PrioritySampling flags to dd-trace-api project
2018-04-17 09:26:45 -07:00
Andrew Kent
9bcd5677ed
Merge pull request #287 from DataDog/ark/logging
...
Logging
2018-04-17 09:26:32 -07:00
Tyler Benson
c796260a39
Merge pull request #285 from DataDog/tyler/build-workspace
...
Build with Java 8, but run tests with other JDKs
2018-04-17 13:14:54 +08:00
Andrew Kent
32272a4aa7
Move PrioritySampling flags to dd-trace-api project.
2018-04-16 12:46:26 -07:00
Andrew Kent
364b3e999a
Remove warning from mongo listener. Add injection debug logging.
2018-04-16 10:34:46 -07:00
Tyler Benson
001e59e0cc
Build with Java 8, but run tests with other JDKs
...
Use workspaces to persist build between jobs.
2018-04-16 14:36:38 +08:00
Andrew Kent
03b96ca567
Increase agent writer max trace limit
2018-04-11 14:35:30 -07:00
Andrew Kent
d594d6e8db
Don't create continuations when async propagation is off
2018-04-11 13:32:58 -07:00
Andrew Kent
a0a11a51d0
Use ScopeManager to enable/disable low level async instrumentation.
2018-04-11 13:32:58 -07:00
Andrew Kent
0d7aa022db
Refactor ContinuableScope
2018-04-11 13:32:58 -07:00
Andrew Kent
01c707787f
Fix name: timestampMillis -> timestampMicroseconds
2018-04-10 16:53:58 -07:00
Tyler Benson
f05ddaa19d
Merge pull request #283 from DataDog/tyler/span-times
...
Add startTime and Duration methods to MutableSpan interface
2018-04-09 23:46:23 +08:00
Tyler Benson
fcb1e1c564
Add startTime and Duration methods to MutableSpan interface
2018-04-09 23:25:35 +08:00
Tyler Benson
79a9826863
Add the errorprone compiler.
2018-04-04 20:48:28 +08:00
Tyler Benson
5a61124cae
Add tests against an actual trace agent.
2018-03-28 22:31:15 +08:00
Tyler Benson
19b94da7bb
JAX-RS Client Tracing
2018-03-20 08:54:09 +08:00
Andrew Kent
783a6d88e2
Increase Test timeouts
2018-03-15 13:23:57 -07:00
Andrew Kent
10e12a666a
Use builtin decorators for every DDTracer
2018-03-13 12:46:48 -07:00
Andrew Kent
b5b38ee4b1
Mark all http status codes 5xx as an error.
2018-03-13 12:46:48 -07:00
Tyler Benson
0fbec69b6d
Merge pull request #253 from DataDog/tyler/traceinterceptor
...
Implement the TraceInterceptor API
2018-03-13 08:30:01 +10:00
Andrew Kent
428e304164
Rename ContextPropagator to TraceScope
2018-03-12 10:29:50 -07:00
Andrew Kent
21180530ea
Remove opentracing from dd-trace-api
2018-03-09 11:50:39 -08:00
Andrew Kent
9a83413141
Executor Instrumentation for Scala
2018-03-09 11:50:39 -08:00
Tyler Benson
286e9d2d00
Add instrumentation to catch additional classloaders.
...
Still doesn’t work with Spring Boot because the way they structure their Jars.
2018-03-09 14:32:41 +10:00
Tyler Benson
d073cd8a17
Initial pass at TraceInterceptor API
2018-03-09 14:32:41 +10:00
Tyler Benson
f57faba5db
Allow closing of continuation explicitly
...
to allow a completed trace to be reported more timely.
Continuation is closed when the returned scope is closed, but can also be closed directly.
2018-03-09 14:31:48 +10:00
Tyler Benson
087b2e7298
Fix tests
2018-03-09 14:31:48 +10:00
Tyler Benson
5c3e4c91fd
Rename to PendingTrace
2018-03-09 14:31:48 +10:00
Tyler Benson
2b1c9aabfb
Force traces to wait Continuation dereferencing before reporting
...
If all the current spans on a trace complete before a continuation can be activated, previously the trace could have been reported, not allowing additional spans to be added.
This PR changes it so any created continuations must be dereferenced (GC’d) before allowing the trace to be reported.
2018-03-09 14:31:48 +10:00
Tyler Benson
c99f10c0d2
Decouple trace flush from collection
...
Wait until all spans are finished or garbage collected before reporting trace.
2018-03-09 14:31:48 +10:00
Tyler Benson
5cbc11415d
Move SpanFactory to correct package.
2018-03-09 14:31:48 +10:00
Tyler Benson
f31632be33
Remove deprecated usage.
2018-03-09 14:31:48 +10:00
Tyler Benson
5d1297f125
Extract a trace out to a specific class
...
Rather than it just be a list of spans…
This allows for tracking of if the trace was reported or not, and in the future to do so independently of finishing the span.
2018-03-09 14:31:48 +10:00
Tyler Benson
8da3a0492d
Improve threadsafety and organization
2018-03-09 14:31:48 +10:00
Tyler Benson
9b1d454eb9
Combine Threadlocal and RefCounting into single Scope
...
Also added additional tests.
2018-03-09 14:31:48 +10:00
Tyler Benson
27c1d71504
Introduce ScopeContext and ReferenceCountingScopes
2018-03-09 14:31:48 +10:00
Jon Mort
f78c290b40
Closes #222 : Introduce a ScopeManager property
2018-03-09 14:31:48 +10:00
Andrew Kent
5ffd2142e9
Set max stack size in bytebuddy exception handler
2018-03-07 13:14:41 -05:00
Tyler Benson
759fb4e815
Configure tags to be added to every span
2018-03-01 17:19:52 +10:00
Tyler Benson
ac1b57d7a2
Fix test for v0.4 endpoint
...
Agent returns an error if no content sent, so test was failing. Need to send empty content for test to succeed.
2018-02-26 13:50:32 +10:00
Tyler Benson
4c66bc8ed2
Use nanotime for additional clock resolution
...
If a start or stop timestamp on a span is provided, the nanotime is ignored.
2018-02-23 13:13:34 +10:00
Tyler Benson
163b285868
Rename to jedis-1.4 since that’s the earliest working version
...
Also change instrumentation binding for better coverage.
2018-02-23 13:04:46 +10:00
Tyler Benson
903248ddf2
Set timeouts on all the tests.
2018-02-21 12:09:57 +10:00
Tyler Benson
c1224eaa9f
Set short timeouts for api test to prevent startup delays
...
Since endpointAvailable is called on construct, this can happen in premain when running with the agent. I included a simple retry just in case…
Not sure in what case the trace agent would respond so slowly…
2018-02-20 17:43:26 +10:00
Andrew Kent
0864f81e45
whitelist ConfigUtils from jacoco
2018-02-15 18:50:18 -08:00
Tyler Benson
c9da16f334
Add resource naming instrumentation for jax-rs
2018-02-14 19:18:01 +10:00
Tyler Benson
0299a7b9ae
Remove unused config utils file.
2018-02-13 09:07:53 +10:00
Tyler Benson
9fc5cf6a4b
Add exception for version segments in URLs
...
This seems like a common enough segment and useful to not remove.
2018-02-09 12:54:13 +10:00
Tyler Benson
0b4bf16f97
Remove configuration of ResourceName Decorator
...
Improve name sanitizing to reduce high cardinality issues.
2018-02-08 17:26:04 +10:00
Tyler Benson
4958a3d306
Fix dependency problem in dropwizard example
...
There was an incompatible mix of jackson dependencies which caused the app to not start up. Changed the tracer client to use an old version, but allow the agent to still use a newer version (since it is shadowed).
2018-02-07 12:41:18 +10:00
Tyler Benson
1bfceb0d53
Use Field.ERROR_OBJECT instead of string
2018-02-07 12:02:10 +10:00
Tyler Benson
7d28a32fba
Allow instrumentation to be disabled
...
By default, instrumentation is enabled, and can be disabled by default by overriding the `defaultEnabled` method. Instrumentation can also be disabled individually or enabled when default is disabled.
2018-02-06 11:20:05 +10:00
Andrew Kent
6f088ddd53
Remove trace decorator yaml config
2018-01-31 16:13:41 -08:00
Andrew Kent
8d53e4703d
Set span.type for all integrations.
2018-01-31 16:13:41 -08:00
Andrew Kent
228f896bb6
Move default decorators to code
2018-01-31 13:18:28 -08:00
Andrew Kent
7920cc9d8e
Set span.type tag
2018-01-31 12:22:43 -08:00
Andrew Kent
919eefe818
Write json for loggingwriter
2018-01-31 12:22:43 -08:00
Tyler Benson
6fbe494934
Exclude tests that are Java 9 incompatible.
2018-01-23 14:59:10 -05:00
Tyler Benson
9acbe5710e
Merge pull request #198 from DataDog/tyler/update
...
Update dependencies
2018-01-22 16:47:50 -05:00
Tyler Benson
92b6cc86f6
Move deprecation for 0.31.0
2018-01-22 16:42:21 -05:00
Tyler Benson
b379cf9d8c
Merge pull request #191 from DataDog/tyler/java-versions
...
Use workflows in Circle to test Java 7 and 8
2018-01-22 15:51:52 -05:00
Ark
cfe1224924
Make priority sampling fields volatile
2018-01-22 11:35:36 -08:00
Andrew Kent
c1f9f4fc5d
Remove priority sampling logic from DDTracer
2018-01-22 11:35:36 -08:00
Andrew Kent
3a76347a21
Remover RateSampler and sampler config options
2018-01-22 11:35:36 -08:00
Andrew Kent
c7447bfadb
Priority Sampling flag in DDSpanContext
2018-01-22 11:35:36 -08:00
Andrew Kent
2695157b92
Priority Sampling Config
2018-01-22 11:35:36 -08:00
Andrew Kent
aa5356837d
RateByServiceSampler
2018-01-22 11:35:36 -08:00
Andrew Kent
1fc7950ee9
Support v4 api with fallback to v3
2018-01-22 11:35:36 -08:00
Andrew Kent
7b03f4e91f
priority sampling values
2018-01-22 11:35:36 -08:00
Andrew Kent
9f5f2e9a1d
Convert Trace Junit tests to Spock
2018-01-22 11:35:36 -08:00
Tyler Benson
64d39030e5
Use workflows in Circle to test Java 7 and 8
...
Java 9 is commented out because there are some test failures that will be investigated later.
Some tests had to be excluded from Java 7 because they don’t have a Java 7 compatible version.
2018-01-22 13:46:50 -05:00
Tyler Benson
b2b61e0c8c
Changes required for supporting OT 0.31.0
...
Also updates all the contrib versions that we currently depend on to their 0.31.0 supporting versions.
2018-01-16 09:52:28 -05:00
Tyler Benson
6d3d88987b
Rename dd-trace-annotations to dd-trace-api
...
And move DDTags over to it.
Move some `datadog.trace.api` classes over to `datadog.trace.common`.
Other misc renaming.
2018-01-09 10:07:36 +10:00
Tyler Benson
becf2a5862
Lots of renaming
...
Module:
dd-trace -> dd-trace-ot
Packages:
Standardize on `datadog.trace` and `datadog.opentracing` as the package prefixes.
2018-01-09 10:02:06 +10:00