Commit Graph

81 Commits

Author SHA1 Message Date
Trask Stalnaker 2298885678 Merge tag 'v0.46.0' into dd-merge 2020-03-16 11:25:27 -07:00
Trask Stalnaker cecabe522a
Make tests pass on Windows (#217) 2020-03-12 19:42:21 -07:00
Han Zhang 5b1218cdb8
Update instrumentation to be compliant with HTTP semantic conventions (#227)
* Update HTTP client-side span names

* Add query and fragment to  http.url for HTTP client spans

* Add query and fragment to http.url for HTTP server spans

* Update HTTP server span names to be the matched route or resource

* Use net.peer.* instead of peer.* attributes
2020-03-12 18:49:52 -07:00
John Bley 1e1f3b57bb
Fix open-telemetry/opentelemetry-auto-instr-java#226 (#228) 2020-03-12 14:00:05 -07:00
John Bley f30f5f0779
Fix 3 minor javadoc issues. (#225) 2020-03-11 13:25:39 -07:00
Trask Stalnaker 5c4dc47710
Add JBoss logging support (#222) 2020-03-10 17:14:44 -07:00
Trask Stalnaker e5b83218ae
Rename elasticsearch modules (#221) 2020-03-10 16:51:07 -07:00
Trask Stalnaker dec9b95d87
Fix logback instrumentation (#218)
* Fix logback instrumentation

* Remove unnecessary shading
2020-03-10 16:34:09 -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
Trask Stalnaker 08248e4f09
Fix link behavior (#223) 2020-03-10 15:08:22 -07:00
Trask Stalnaker 0ae9ed8a48
Prevent DNS lookup by gRPC instrumentation (#224) 2020-03-10 14:53:04 -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
John Bley 00ae1eca3d
Integrate SpotBugs into build (ignoreFailures=true), fix most found issues (#216)
* Integrate SpotBugs (FindBugs) into build.  Set ignoreFailures so spotted bugs do not break the build.

* Fix many SpotBugs-found items, mostly making things final, but also a redundant null check and a reliance on platform character encoding.  2 items remain which will need further work/review, but as ignoreFailures is set, they will not fail the check stage.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-03-09 10:47:49 -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
Trask Stalnaker b2db595430 Merge tag 'v0.45.0' into dd-merge 2020-03-05 21:49:39 -08: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
Trask Stalnaker f91549e799
Simplify some tests by using runUnderTrace (#204) 2020-03-05 09:50:41 -08:00
Pontus Rydin d3246121cc
Made gRPC instrumenter compliant with semantic conventions (#202)
* Added service name and corrected span name

* Support peer address for clients

* Added server peer address resolution

* Added constants for new tag names

* Cosmetic change

* Fixed muzzle issue

* Better handling of addresses

* Addressed PR comments
2020-03-03 10:01:26 -08:00
Trask Stalnaker fa72243966
Change link behavior for consumers (#198) 2020-03-02 16:29:25 -08:00
Trask Stalnaker 9b73e85bef
Fix class loading instrumentation (#197) 2020-03-02 16:08:46 -08:00
Trask Stalnaker 701b282b17 Merge tag 'v0.44.0' into dd-merge 2020-02-29 14:30:12 -08:00
Trask Stalnaker 40e3932358
Add license headers (#188)
* Add spotless gradle plugin

* Add license headers
2020-02-27 13:24:42 -08:00
Pontus Rydin 147b536891
Made couchbase agent compliant to semantic conventions (#189)
* Made couchbase agent compliant to semantic conventions

* Made tests resilient to variations in internally generated queries

* Fixed test function signatures
2020-02-27 12:28:18 -08:00
Trask Stalnaker 3cb25f0b52
Remove conversion from URI to String back to URI (#191) 2020-02-27 12:11:06 -08:00
Trask Stalnaker d60f18f8a1
Add Apache HTTP Client 3 instrumentation (#190) 2020-02-27 11:29:33 -08:00
Trask Stalnaker f4011b63e3
Capture gRPC messages as events instead of child spans (#185)
* Capture gRPC messages as events

* Rename verification method to avoid conflicts

It's common to have a 'name' test parameter/field which then causes
conflicts with verification method of the same name 'name'.
2020-02-27 11:18:30 -08:00
Trask Stalnaker 083988dbe8
Fix comment (#186) 2020-02-27 10:38:29 -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 23f6e1513d
Capture servlet dispatch as INTERNAL span (#156) 2020-02-21 09:31:48 -08:00
Trask Stalnaker e62d93bb6c
Add instrumentation for OpenTelemetry API itself (#153) 2020-02-21 09:10:01 -08:00
Trask Stalnaker 36eeaa0f3f
Latest tomcat release seems to have some issues (#180)
Instrumentation muzzled: [jsp, jsp-compile] -- datadog.trace.instrumentation.jsp.JasperJSPCompilationContextInstrumentation on jdk.internal.loader.ClassLoaders$AppClassLoader@2c13da15
-- datadog.trace.instrumentation.jsp.JSPDecorator:39 Missing method getServletContext#()Ljavax/servlet/ServletContext;

Co-authored-by: Tyler Benson <tylerbenson@gmail.com>
2020-02-21 08:52:24 -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
Trask Stalnaker a652e39177
Misc minor cleanups (#178)
* Use singleton map for consistency

* Use singletonMap static import for consistency

* Remove unnecessary attribute
2020-02-20 14:21:25 -08:00
Trask Stalnaker ab8fb882f8
Remove async propagating disable instrumentation (#177) 2020-02-20 14:14:19 -08:00
Trask Stalnaker d54f0cd31f
Make sure call depth thread local is reset (#168)
* Make sure CallDepthThreadLocalMap is always reset

* Re-order just for consistency

* Make call depth pattern more consistent
2020-02-18 13:49:15 -08:00
Trask Stalnaker 0a3afc362f
Fix class loading instrumentation on IBM JVM (#169) 2020-02-18 11:42:00 -08:00
Trask Stalnaker 3632e3bb2d
Change some span kinds to INTERNAL (#167)
* Change handler/controller span kind to INTERNAL

* Change hibernate span kind to INTERNAL

* Change spring-data span kind to INTERNAL
2020-02-18 11:28:32 -08:00
Trask Stalnaker cf1623711e
Use links instead of overriding parent (#158)
Also, message receive span kind should be CLIENT.
2020-02-18 11:12:20 -08:00
Trask Stalnaker e718b3067e
Rename Finatra instrumentation package (#162)
I missed changing this when merging over v0.43.0
2020-02-12 20:38:02 -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