Commit Graph

345 Commits

Author SHA1 Message Date
Munir Abdinur d58eca23f8
move instrumentation-core:spring project to instrumentation (#1092) 2020-08-25 15:32:01 +09:00
Nikita Salnikov-Tarnovski 753d99658a
More attempts to fix cache misses (#1074) 2020-08-20 15:28:29 +03:00
Nikita Salnikov-Tarnovski 090cdd782b
Better local caching via burrunan/gradle-cache-action (#1054)
* Better local caching via burrunan/gradle-cache-action

* Add cached debug

* Fix yaml

* Don't push to remote cache during PR

* Polish
2020-08-19 22:00:06 +03:00
dengliming 9aa64abf63
Add version suffix for akka-context-propagation module. (#1055) 2020-08-19 16:35:19 +03:00
Anuraag Agrawal 1b9b8b49b6
Separate out testing module for mongo. (#1041)
* Separate out testing module for mongo.

* Newline
2020-08-18 14:55:56 +09:00
Anuraag Agrawal b507a2b803
Separate out shared test sources for couchbase/play-ws to another pro… (#1029)
* Separate out shared test sources for couchbase/play-ws to another project.

* git add missing files.

* Rename
2020-08-18 13:25:29 +09:00
Trask Stalnaker 6a07b173af
Rename auto exporters module (#1022) 2020-08-17 21:04:13 -07:00
Anuraag Agrawal d636364d39
Remove elasticsearch-transport-2.0 (#1024) 2020-08-17 10:51:28 -07:00
Trask Stalnaker 14ff14f2b1
Remove thread utils module (#1017)
* Remove thread-utils module

* No need for extra thread pool
2020-08-17 11:10:48 +03:00
Trask Stalnaker 4169a76fda
Remove unused / uncompilable slf4j-mdc module (#1008) 2020-08-15 21:28:07 -07:00
Anuraag Agrawal 3072efc90f
Use property to control build cache push instead of CI env variable s… (#998)
* Use property to control build cache push instead of CI env variable since many builds have that set.

* Check env instead.
2020-08-15 19:55:41 +03:00
Anuraag Agrawal 50a7ff6562
Use opentelemetry-java-instrumentation-gradle-test1 for build cache. (#996) 2020-08-15 17:50:28 +09:00
Nikita Salnikov-Tarnovski f6ec1f5cc8
Add S3 cache (#982) 2020-08-14 20:46:48 +03:00
Trask Stalnaker f46ba88c29
Rename library-api artifact to instrumentation-api (#969) 2020-08-13 22:43:39 -07:00
Trask Stalnaker bf9c160570
Rename javaagent modules (#952) 2020-08-12 22:50:14 -07:00
Trask Stalnaker 1816eb9cbe
Rename annotations module to external-annotations (#951) 2020-08-12 22:49:50 -07:00
Nikita Salnikov-Tarnovski a222676a3e
Improved smoke tests (#934)
* Preping smoke tests

* Improved smoke tests

* Make it work in Linux

* Add workflow to run tests on PR

* Build Smoke tests

* Fix PR workflow trigger

* Fix smoke test apps trigger

* Disable smoke tests in CircleCI and let them run in Github Actions only

* Fix smoke test apps docker image names

* Polish
2020-08-12 12:34:14 +03:00
Trask Stalnaker b5fbf90977
Extract instrumentation api module (#884) 2020-08-09 22:52:33 -07:00
Trask Stalnaker 2c786ab1a1
Fix WithSpan annotation instrumentation (#929) 2020-08-09 21:46:50 -07:00
Trask Stalnaker 0eda3dbd01
Avoid ClassCastException on direct SDK access (#931) 2020-08-09 11:16:04 -07:00
Nikita Salnikov-Tarnovski 3b68c82f90
Extract Akka context propagation into separate module (#911) 2020-08-07 20:24:26 -07:00
Munir Abdinur 03dce2ab2a
Create exporter starters (#815) 2020-07-27 22:19:30 -07:00
Trask Stalnaker 6508ffc889
Remove logging instrumentation (#803) 2020-07-27 18:56:25 +03:00
Trask Stalnaker 3a24611d4a
Rename kubernetes module (#804) 2020-07-27 10:46:17 +03:00
Anuraag Agrawal c3299fac30
Add instrumentation for Armeria (server) (#756)
* Add instrumentation for Armeria (server)

* Spotless

* Use end timestamp too and fix auto test by not using ClassRule

* Reduce number of less useful lambdas and add reference to useful lambda.

* Cleanup

* README

* Move package to v1_0

* No storage
2020-07-27 15:54:07 +09:00
Anuraag Agrawal f2f3624d17
Inject span context into log4j2 2.13.2+ context. (#735) 2020-07-21 18:49:13 -07:00
Anuraag Agrawal d8355c672d
Docs for writing new instrumentation... (#652)
* Docs for writing new instrumentation
2020-07-19 14:21:19 +09:00
Munir Abdinur 6d47692cd0
Add spring-autoconfigure project (#661) 2020-07-17 22:36:58 -07:00
Nikita Salnikov-Tarnovski 9b6b5e621f
Remove http server decorator (#701)
* Ratpack migrated from ServerDecorator

* Finatra migrated from ServerDecorator

* Play 2.3 migrated from ServerDecorator

* Play 2.4 migrated from ServerDecorator

* Play 2.6 migrated from ServerDecorator

* Polish

* Polish

* Organize imports

* Relax muzzle checks

* Ratpack version 1.4 is now supported

* Fix muzzle failures on Play
2020-07-17 20:14:19 +03:00
Munir Abdinur 3662cee7ec
Create instrumentation-core apache-httpclient-4.0 (#694) 2020-07-16 20:00:26 -07:00
Munir Abdinur 53eca7bccc
[2] Create instrumentation-core:spring:spring-webflux-5.0-core (#639) 2020-07-13 09:44:41 -07:00
Min Kim ce14b394f7
Kubernetes java client instrumenting (#651)
* kubernetes java client support

* addressing review comments
2020-07-10 21:24:39 +03:00
Munir Abdinur 556baecd55
[3.2] Create spring-webmvc-3.1-core project (#648)
* [3.2] create spring-webmvc-3.1-core project

* rebase and fix conflicts

* renamed project and removed instrumentation:spring-webmv-3.1 -> instrumentation-core:spring-webmvc-3.1 dependency

* update tracer

* ws

* Update instrumentation-core/spring/spring-webmvc-3.1/src/main/java/io/opentelemetry/instrumentation/springwebmvc/SpringWebMvcServerTracer.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* Update spring-webmvc-3.1.gradle

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-07-10 19:45:40 +03:00
Anuraag Agrawal 2ef6aac61c
Separate out core reactor instrumentation (#650)
* Separate out core reactor instrumentation
2020-07-09 14:48:15 +09:00
Munir Abdinur c79be44de2
[1] Create spring-core project in instrumentation-core/spring (#640) 2020-07-08 20:48:54 -07:00
Nikita Salnikov-Tarnovski 763779e08a
Move servlet instrumentations around (#601) 2020-07-08 16:43:36 -07:00
Trask Stalnaker b3dd5a020b
Simplify grizzly instrumentation, Part 2 (#618) 2020-06-30 20:02:19 -07:00
Trask Stalnaker e2a0504bb2
Simplify grizzly instrumentation, Part 1 (#604) 2020-06-30 17:44:11 -07:00
Nikita Salnikov-Tarnovski 3418ebf6f7
More module renames (#610) 2020-06-29 13:28:39 -07:00
Nikita Salnikov-Tarnovski de1fb295cb
Now publish all instrumentations as well. (#565)
* Now publish all instrumentations as well.

Changed groupId to `io.opentelemetry.instrumentation`.
Removed `opentelemetry` from auto-exporters' artifactIds.
Some instrumentations will need moving around to have better names, e.g. servlets. Should I do it right away?

* Polish

* Unify names of published artifacts

* Renamed some modules

* Fix CI config

* Rename project-reactor back to reactor
2020-06-27 08:57:24 +03:00
Tyler Benson 88c14dcab2 Add some tests for Java CompletableFuture (DataDog/dd-trace-java#1546) 2020-06-23 14:08:44 -07:00
Trask Stalnaker 82a1b35828
Update otel api instrumentation module name (#551)
* Update otel api instrumentation module name

* Remove vbeta subpackage

Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
2020-06-22 16:42:55 +03:00
Anuraag Agrawal 9a2a0b5de9
Add lettuce 5.2 instrumentation that uses lettuce's native tracing functionality. (#535)
* Copy Lettuce 5.0 to start 5.1 instrumentation

* Begin tracing adapter implementation

Co-authored-by: Dustin Neray <dustin.neray@gmail.com>

* Set floor to 5.2 instead

* Move around

* Finish

* Cleanups

* Instrument 5.1+ instead

* Cleanup

* 5.1

* Remove latestDepTest from lettuce-5.0 since we have a newer lettuce-5.1.

* Remove

* Remove package check

* Spotless

Co-authored-by: Dustin Neray <dustin.neray@gmail.com>
2020-06-18 18:22:45 +03:00
John Watson a59bb19192
rename the root project to match the current project name (#524)
* rename the root project to match the current project name

* rename the root gradle file to be more standard.
2020-06-15 20:36:23 -07:00
Nikita Salnikov-Tarnovski e61ff5bac2
Rename auto-exporters' artifacts names (#514) 2020-06-14 10:53:51 -07:00
Nikita Salnikov-Tarnovski c11835963f
Vert.x instrumentation improvements (#503)
* Support for Vert.x rx-java async tasks

* Use Vert.x route for server span name

* Move reactive Vert.x instrumentation into separate module

* Test fixes

* Format fixes

* Polish

* Fix license header

* Add Vert.x to README
2020-06-13 23:18:30 +03:00
Munir Abdinur 3cd9ffa370
Empty gradle project (#497) 2020-06-11 18:41:18 -07:00
Trask Stalnaker f0c7deb1a9
Use published MetricExporterFactory (#493) 2020-06-11 08:31:58 +03:00
Nikita Salnikov-Tarnovski 357fb6e989
Deduplicate servlets (#469)
* Servlet instrumentations unified

* Grizzly migrated

* Fix tests after merge

* Polish and fix tests

* Polish and fix tests

* Muzzle fixes

* Muzzle fixes

* Muzzle fixes

* Test fixes

* One more check fixed

* Stop using SpanWithScope

* Test fix

* Compilation fix

* Apply suggestions from code review

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* Update agent-bootstrap/src/main/java/io/opentelemetry/auto/bootstrap/instrumentation/decorator/HttpServerTracer.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* Polish

* Tracer does not manage scope anymore

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-06-08 10:49:58 +03:00
Anuraag Agrawal d4a14f6b98
Separate out core instrumentation for AWS SDK to allow manual setup o… (#421)
* Separate out core instrumentation for AWS SDK to allow manual setup of instrumentation.

* Instrumentation core test
2020-05-27 10:43:56 -07:00
Richard Startin d8c9639fbb Grizzly-http and grizzly-client instrumentation (DataDog/dd-trace-java#1365) 2020-05-26 11:54:59 -07:00
Sergei Malafeev 7ea2da3d0b
Add Zipkin exporter support (#411)
* #375 Add Zipkin exporter support

Signed-off-by: Sergei Malafeev <sergeymalafeev@gmail.com>

* #375 use OkHttpSender for Zipkin exporter

Signed-off-by: Sergei Malafeev <sergeymalafeev@gmail.com>

* #375 add Zipkin exporter to README

Signed-off-by: Sergei Malafeev <sergeymalafeev@gmail.com>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-05-19 15:58:41 -07:00
Nikita Salnikov-Tarnovski fe8819fb8f
Support for khttp library (#401) 2020-05-17 10:41:41 -07:00
Tyler Benson 5ecd8cb81e Add instrumentation for okhttp 2.2+ (DataDog/dd-trace-java#1402) 2020-05-14 11:50:27 -07:00
Trask Stalnaker ab0c950140
Update a few last things to otel-java 0.4.0 (#399) 2020-05-11 22:17:16 -07:00
Trask Stalnaker 6d1a58d151 Merge tag 'v0.50.0' into correct-history 2020-05-05 12:41:08 -07:00
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
Tyler Benson e130ab8cf8 Fix Ratpack instrumentation for newer versions of Guava.
Ratpack 1.4 should still work if you increase your guava version to 20+ (instead of 19).
2020-04-27 17:40:12 -04:00
Richard Startin a8e79c4385 rename module to lettuce-4 2020-04-27 15:45:34 +01:00
Richard Startin 3f8bc96e8d get lettuce 4.0 sync and async working 2020-04-27 14:59:11 +01:00
Richard Startin 16b45b6a93 use etaty/rediscala 2020-04-21 15:46:28 +01:00
Richard Startin a969c15040 add version to rediscala instrumentation name, update referenced dd class names, use random port for test 2020-04-21 15:46:28 +01:00
Ali Yakamercan 99408e6ba4 Add instrumentation for Rediscala library 2020-04-21 15:46:28 +01:00
Sergei Malafeev 51cb8c6007
Add Cassandra Driver 4 instrumentation (#334) 2020-04-20 18:23:09 -07:00
Jaroslav Bachorik eb272bcc00
Add exception sampling event (#1297) 2020-04-20 16:31:54 +02: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