Commit Graph

232 Commits

Author SHA1 Message Date
Trask Stalnaker 3c4a6b545c
Fix Ratpack instrumentation for newer versions of Guava. (#360)
Ratpack 1.4 should still work if you increase your guava version to 20+ (instead of 19).

Co-authored-by: Tyler Benson <tyler.benson@datadoghq.com>
2020-04-28 13:42:16 -07:00
Sergei Malafeev 51cb8c6007
Add Cassandra Driver 4 instrumentation (#334) 2020-04-20 18:23:09 -07:00
Trask Stalnaker d24159c8d2 Merge tag 'v0.48.0' into dd-merge 2020-04-12 15:20:10 -07:00
Trask Stalnaker c545ffa3c2 Merge tag 'v0.47.0' into dd-merge 2020-04-06 13:26:15 -07:00
Trask Stalnaker f0354033b2
Add OTLP exporter (#289) 2020-03-29 20:33:07 -07:00
Trask Stalnaker f885f3f645
A few exporter improvements (#288) 2020-03-29 08:13:20 -07:00
Trask Stalnaker 2e210683fd
Update to OpenTelemetry API/SDK 0.3.0 (#286)
* Update gradle dependencies and module name

* Replace Tracer.withSpan() with currentContextWith()

* Update inject to 0.3.0

* Update extract to 0.3.0

* More updates

* Remove distributedcontext package refs

* Update OpenTelemetry API interoperability

* No need to call setNoParent()

setParent(SpanContext.getInvalid()) should give the same result.
2020-03-28 19:38:51 -07:00
Pontus Rydin ff47bf04cd
Use sdk_contrib exporter glue (#285) 2020-03-27 11:23:14 -07:00
Brian Devins-Suresh 73122ea72c Starting to get tests building 2020-03-26 10:10:31 -04:00
Brian Devins-Suresh 4ae71c8087 Works with 3.8 also, still need to fix muzzle again 2020-03-20 14:12:39 -04:00
Brian Devins-Suresh 7e45aa731f Add module 2020-03-20 05:36:52 -04:00
Trask Stalnaker 2298885678 Merge tag 'v0.46.0' into dd-merge 2020-03-16 11:25:27 -07:00
Trask Stalnaker e5b83218ae
Rename elasticsearch modules (#221) 2020-03-10 16:51:07 -07:00
Trask Stalnaker d3a931384d
Add grouping modules (#220)
* Add mongo grouping module

* Add play and play-ws grouping modules

* Add netty grouping module

* Add jaxrs grouping module

* Add jaxrs-client grouping module

* Add jedis grouping module

* Add log4j grouping module

* Add couchbase grouping module

* Add aws-sdk grouping module

* Add apache-httpclient grouping module
2020-03-10 15:56:41 -07:00
Pontus Rydin e54ab56b3a
Implemented Apache Geode/Gemfire instrumentation (#215) 2020-03-10 11:18:36 -07:00
Trask Stalnaker cba031ddcb
Rename hibernate modules (#205)
* Rename hibernate modules

* Update tracer name

* Change from gradle inheritance to composition

This will make it possible to have empty "grouping" modules, e.g.
instrumentation:hibernate.

* Introduce empty hibernate grouping module
2020-03-09 15:33:21 -07:00
Trask Stalnaker ea74337c10
Redo log capture instrumentation (#212)
Make it clear that this is experimental option, as the specifics of log
capture will definitely change sometime in the future once there is an
agreed on OpenTelemetry spec for this.

Capture logs as spans, to avoid the limitations of current
implementation that captures them as events (no log capture when no
current span, and limited number of events per span).

Change the log instrumentation module names to just reflect the
underlying logger, e.g. "log4j-1.1" instead of "log4j-spans-1.1". This
way we don't end up with an entirely deprecated artifact once the
logging spec is worked out. The spans instrumentation now shares modules
with the MDC instrumentation, which I think is reasonable, as you pick
which one you want via configuration.
2020-03-06 13:05:44 -08:00
Laplie Anderson a7a7501f40 Rename to commons-httpclient-2 2020-03-06 10:47:41 -05:00
Laplie Anderson c13436d5e4 Add commons-httpclient integration 2020-03-06 10:47:41 -05:00
Trask Stalnaker 9ff1fca3fd
Rename a few modules (#207)
* Rename classloading module to class-loader

* Rename datastax-cassandra module to cassandra

* Rename reactor-core module to reactor

* Rename cdi module to cdi-testing

* Rename aws-java-sdk module to aws-sdk

* Rename class-loader module to java-class-loader
2020-03-05 20:21:50 -08:00
Trask Stalnaker 2f1b802aad
Rename mongo modules (#206)
* Rename mongo modules

* Update tracer name
2020-03-05 14:18:45 -08:00
Trask Stalnaker 5ecdeba977
Rename jax-rs-* modules (#208) 2020-03-05 13:42:17 -08:00
Laplie Anderson 0c74cf031e Extract common play-ws code and add stream tests 2020-03-04 10:38:36 -05:00
Trask Stalnaker d60f18f8a1
Add Apache HTTP Client 3 instrumentation (#190) 2020-02-27 11:29:33 -08:00
Trask Stalnaker b724151334
Capture Logback events (#183) 2020-02-24 12:19:30 -08:00
Trask Stalnaker da7dc5412e
Capture Log4j 2.x events (#182) 2020-02-24 12:03:34 -08:00
Trask Stalnaker a57bfcf40e
Capture log4j 1.x events (#181) 2020-02-24 11:37:15 -08:00
Trask Stalnaker 8ee04d54e9 Merge remote-tracking branch 'datadog/master' into dd-merge 2020-02-22 14:35:03 -08:00
Pontus Rydin 239eb53a44
Removed statically loaded exporters and added more tests (#171)
* Classloader done. Still needs shading

* First working version

* Made the dummy exporter slightly less stupid

* Use SPI pattern for loading. Added runtime shader

* Changed to do shading on binary stream instead of loading the class first

* Protected the runtime shader from having its internals shaded

* Cleaned up code and naming

* Cleaned up

* Cleaned up and fixed test issues

* Minor fixes from code review

* Added exporter smoke tests

* Finalized exporter smoke tests

* Reenabled springboot test

* Fixed some copy-paste issues

* Initial work on exporter bridges

* Implemented dynamically loaded exporter adapters

* Added some more files

* Added exporter-adapters for well-known exporters

Moved dummy-exporter to exporter adapters

Removed -Dota.exporter option in favor of ota.exporter.jar

Added basic exporter tests to smoketest

Increased timeout for Finatra server start to help with parallel test execution

* Cleaned up tests, removed dead code and updated README

* Update README.md

* Update README.md

* Removed references to gRPC dependencies needed by Jaeger

* Fixed incorrect use of ServiceLoader in test

* Fixed test dependencies

* Adjusted exporter tests

* Fixed codeNarc issues

* Fixed CircleCI issues

* Added tests to check what CircleCI is doing

* Added missing logging directory

* Removed deadline() from Jaeger factory

* Another attempt to make it pass CircleCI

* Fixed some minor codeNarc issues

* Wrapped test config in doFirst

* Change forEach -> each

* Removed README section about commercial exporters

* Reduced number of changes to Config

* Fixed field reordering issue

* Removed references to dummy exporter

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-02-21 15:12:48 -08:00
Trask Stalnaker ebf3d78274
Remove Glassfish instrumentation (#176) 2020-02-21 11:01:17 -08:00
Trask Stalnaker e62d93bb6c
Add instrumentation for OpenTelemetry API itself (#153) 2020-02-21 09:10:01 -08:00
Trask Stalnaker 4421a84a54
Instrument newer Mongo (sync) API (#174)
* Remove now unnecessary code

* Add instrumentation for newer mongo client api
2020-02-20 14:54:45 -08:00
Trask Stalnaker 0f98f41d1c
Capture java util logging events (#175)
* Remove unused relocation

This relocation is not needed for instrumentation.

* Improve consistency of logs.injection naming

* Fix property based config init

* Capture java.util.logging events

* Fix shading

* Add comment about two part shading
2020-02-20 14:29:36 -08:00
heathkd f3537e1665 change module and file names to match version of earliest supported version of spring-context 2020-02-14 20:47:16 -05:00
heathkd 9eb51248cd address PR comments 2020-02-14 20:47:16 -05:00
heathkd 68c323ac56 create ScheduledTasks bean and application context config 2020-02-14 20:46:00 -05:00
Pontus Rydin 8235f7bd04
Third-party exporter loading framework (#159) 2020-02-13 14:22:22 -08:00
Trask Stalnaker bfc7a0de55 More general class loading instrumentation 2020-02-13 11:31:45 -08:00
Trask Stalnaker c43f3229c6 Merge commit '25534b2641ff57e0de36fb359a412612ef349ee9' into dd-merge-part-2 2020-02-12 17:59:03 -08:00
Trask Stalnaker 852c00193c Merge commit 'f2d8c8e6b9967b204803a3744942582191266625' into dd-merge 2020-02-12 15:35:23 -08:00
Trask Stalnaker d3f6c87bf1
More general class loading instrumentation (#152) 2020-02-12 12:08:47 -08:00
Nikolay Martynov fd58187994 Support JFR profiling 2020-02-11 14:55:19 -05:00
Tyler Benson 75c7769192 Reduce tracer thread count by combining scheduled executors into a single executor.
Pulls out utility classes for reuse by other projects.

This also meant the dependency had to be bundled with dd-trace-ot since it isn't published as a separate dependency.
2020-02-10 10:45:58 -08:00
Trask Stalnaker cd4a97546e
Rename boostrap and tooling modules (#146)
* Rename agent-bootstrap module to auto-bootstrap

* Rename agent-tooling module to auto-tooling

* Further renames
2020-02-07 17:01:55 -08:00
Trask Stalnaker efed5ae682
Standardize instrumentation module names (#145)
* Rename vertx module

* Rename glassfish module

* Rename google-http-client module

* Rename jms module

* Rename twilio module

* Move dropwizard-testing to top-level

Since it's not related to dropwizard-views.

* Rename dropwizard-views modules

* Rename aws-java-sdk-1.11.0 module

* Rename apache-httpasyncclient-4 module

* Rename apache-httpclient-4 module

* Rename datastax-cassandra-3 module

* Rename elasticsearch:rest-5 module

* Rename elasticsearch:transport-2 module

* Rename elasticsearch:transport-5 module

* Rename elasticsearch:transport-6 module

* Rename grizzly-2 module

* Rename jax-rs-annotations-1 module

* Rename jax-rs-annotations-2 module

* Rename filter-jersey module

* Rename jetty module

* Rename lettuce-5 module

* Rename okhttp-3 module

* Rename play-ws-1 module

* Rename play-ws-2 module

* Rename rxjava-1 module

* Rename request-2 module

* Rename request-3 module

* Rename spring-webflux-5 module
2020-02-07 16:34:36 -08:00
Trask Stalnaker 794ccd0e6b
Rename java agent artifact (#137)
* Fix config to not rely on module alpha order

* Rename java-agent module to opentelemetry-auto
2020-02-06 16:03:24 -08:00
Trask Stalnaker 54cb6dc538
Bring back Kafka Streams, RabbitMQ, and AWS Java SDK 2.2 instrumentation (#109)
* Bring back Kafka Streams instrumentation

* Bring back AWS Java SDK 2.2 instrumentation

* Bring back RabbitMQ instrumentation

* Make kafka streams instrumentation more future proof
2020-02-04 10:41:39 -08:00
Trask Stalnaker 2b11b37d0f
Remove trace-api artifact (#116)
* Remove unused Trace annotations

* Remove Trace annotation from benchmark code

* Remove Trace annotation from instrumentation tests

* Remove Trace annotation from smoke tests

* Remove Trace annotation from agent tests

* Remove Trace annotation from testing tests

* Remove Trace annotation from hystrix tests

* Remove Trace annotation from netty tests

* Remove Trace annotation from webflux tests

* Remove Trace annotation from reactor tests

* Remove unnecessary conditional

* Remove Trace annotation from trace annotation instrumentation

* Remove Trace annotation from akka http tests

* Remove Trace annotation from java concurrent tests

* Delete Trace annotation

* Move classes out of trace-api

* Remove trace-api artifact

* Move trace-api classes to better packages
2020-02-01 13:07:51 -08:00
Trask Stalnaker e4b8c579b2
Change netty-*, play-*, rabbitmq, ratpack, rmi, jms instrumentation to use OpenTelemetry API directly (#102)
* Fix gRPC conversion to OpenTelemetry API

* Fix Akka conversion to OpenTelemetry API

* Convert JMS to use OpenTelemetry API directly

* Convert Netty 4.0 to use OpenTelemetry API directly

* Convert Netty 4.1 to use OpenTelemetry API directly

* Convert Play 2.4 to use OpenTelemetry API directly

* Convert Play 2.6 to use OpenTelemetry API directly

* Convert Play WS 1 to use OpenTelemetry API directly

* Convert Play WS 2 to use OpenTelemetry API directly

* Convert Play WS 2.1 to use OpenTelemetry API directly

* Convert RabbitMQ to use OpenTelemetry API directly

* Convert Ratpack to use OpenTelemetry API directly

* Convert RMI to use OpenTelemetry API directly
2020-01-29 11:19:23 -08:00
Trask Stalnaker 26355485d9
Move OpenTelemetry SDK out of the bootstrap loader (#86)
* Move OpenTelemetry SDK out of bootstrap loader

* Improve shading

After this change, the shaded opentelemetry-sdk is only used by test
modules, so it doesn't need to be published.
2020-01-27 11:11:05 -08:00