Commit Graph

47 Commits

Author SHA1 Message Date
Tyler Benson cab139e905 Upgrade OkHttp client to 3.12.8 2020-02-04 15:06:44 -08:00
Tyler Benson 697d4972a8 Remove Jackson from dd-trace-ot
Reduced the size of dd-java-agent jar by about 2 MB. Jackson is not removed completely though as it is still a dependency of jmxfetch.

Trace serialization is primarily done directly with msgpack.
Response deserialization and LoggingWriter serialization is done with mochi.

Msgpack Serialization buffer still not being reused though.
2020-01-31 15:59:43 -05:00
Tyler Benson 5cce4cb783 Replace DDAgentWriter.Spec with a proper Builder.
Also rename the builder class on DDTracer to default name generated by Lombok.
2020-01-17 11:10:11 -08:00
Tyler Benson 451fba256a Split TraceConsumer into two different disruptors
First disruptor (TraceProcessingDisruptor) does processing, which is currently limited to serialization, but in the future can do other processing such as TraceInterceptor invocation.
Second disruptor (BatchWritingDisruptor) takes serialized traces and batches them into groups and flushes them periodically based on size and time.
2020-01-15 16:13:44 -08:00
Nikolay Martynov 2c4422aa04 Upgradle to gradle 6.0 2019-11-12 16:26:46 -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
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
Nikolay Martynov 813a9b93b4 Update unixsocket dependenxy
This seems to fix strange build errors
2019-10-28 08:37:18 -04:00
dougqh 101e519a3f Adding StatsDMonitor
Adding StatsDMonitor to DDAgentWriter

Modified Writer.createAgentWriter to read the health Monitor configs and construct StatsDMonitor when health metrics are enabled

Updated DDTracerTest to check for use of appropriate Monitor class depending on the Config
2019-10-25 12:11:40 -04:00
Tyler Benson 017b9609eb Add compatibility tests for OpenTracing 0.31.0 2019-10-15 14:28:25 -07:00
Tyler Benson 9ef3332140 Extract base test class and move Config class changes there. 2019-10-07 18:51:25 +02: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 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
Nikolay Martynov 7863a68a53 Fix typo 2019-06-06 09:41:36 -04:00
Nikolay Martynov a245ec4949 Upgradle gradle 2019-04-03 12:56:15 -04: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 63e0c0f032 Support Unix Domain Socket proxy to send traces 2019-03-15 11:36:44 -07:00
Tyler Benson 576e554445 Migrate Mongo to Decorator 2019-03-05 20:50:06 -05:00
Tyler Benson 03bcdc97cc Move awaitGC to common utility package 2019-01-25 10:32:09 -08:00
Tyler Benson a411f7cc5e Upgrade jackson-dataformat-msgpack to 0.8.16 2019-01-16 13:46:20 -05:00
Tyler Benson 983077d150 Move mock/assert deps out of common dependencies 2018-11-30 10:02:26 -08: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
Tyler Benson 20993e7e16 Allow tests to run on all JDKs 2018-08-16 14:23:58 +10:00
Tyler Benson e07dfffe5f Migrate tests to new TestHttpServer 2018-08-16 14:23:58 +10:00
Tyler Benson b5c8a8b8fc Apply formatter on gradle files. 2018-07-31 12:04:00 +10:00
Gary Huang 6317b21d5c Fix merge conflicts with service mapping change 2018-07-26 09:16:41 -04:00
Nikolay Martynov baa54c3553 Disable coverage checks for LoggingWriter
The build fails from time to time complaining about this class not
being tested. Looks like randomness of thi is due to Gradle's caching.

Ideally we would like to have this class tested, but Lombok injecting
logger doesn't really provide much of a room to test there.
2018-07-25 12:13:29 -04:00
Gary Huang 93e70dcef6 Address comments and add test case for extracting non numeric IDs 2018-07-24 14:04:52 -04:00
Gary Huang 96f79a8aba Change the internal storage and handling of trace ID, span ID, and parent IDs' to use String instead of long primitive.
This will allow the java agent to receive unsigned 64 bit integers without overflow.

Also upgraded MsgPack to handle the serialization of such Strings as numbers in JSONs.
2018-07-20 17:19:04 -04:00
Nikolay Martynov 9cc99bafbf Simplify Jacoco configuration 2018-06-20 17:13:30 -04:00
Nikolay Martynov e070a9be4a Fix jacoco excluded classes concatenation 2018-06-20 17:05:16 -04: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 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
Tyler Benson 5a61124cae Add tests against an actual trace agent. 2018-03-28 22:31:15 +08:00
Andrew Kent 0864f81e45 whitelist ConfigUtils from jacoco 2018-02-15 18:50:18 -08: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 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
Tyler Benson 6fbe494934 Exclude tests that are Java 9 incompatible. 2018-01-23 14:59:10 -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
Andrew Kent 7b03f4e91f priority sampling values 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 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