Commit Graph

391 Commits

Author SHA1 Message Date
Mateusz Rzeszutek 79b2ce3a90
Fix Servlet instrumentation for servlet-api 3.1+ - remove output stream wrapper (#1167) 2020-09-09 15:31:05 +03:00
Anuraag Agrawal fbd4018e4b
Don't run latest deps test for servlet-common (#1051) 2020-08-19 14:55:09 +09:00
Anuraag Agrawal bbfdbb39c0
Create abstraction for library dependencies for instrumentation. (#977)
* Create abstraction for library dependencies for instrumentation.

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-08-19 08:57:31 +09:00
Trask Stalnaker 7159d04b8d
Change groovy import order (#1013)
* Update docs

* Format all groovy code

* Organize imports
2020-08-15 23:19:27 -07:00
Trask Stalnaker 414213f2d1
Remove final from parameters (#1003) 2020-08-15 22:35:51 -07:00
Trask Stalnaker f893ca540b
Scripted package renaming (#988) 2020-08-15 21:55:01 -07:00
Helen Y bb235a0aa3
Update package name for tracers (#991) 2020-08-14 21:07:18 -07:00
Trask Stalnaker f940b2d2de
Use OpenTelemetry.getTracer() shortcut (#965) 2020-08-14 07:11:06 +03:00
Trask Stalnaker 7818e33178
Package renaming (#970) 2020-08-13 20:14:46 -07:00
Nikita Salnikov-Tarnovski e26801482c
Add document describing current problem with context propagation (#910)
* Add document describing current problem with context propagation

* Update docs/contributing/inter-thread-context-propagation.md

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

* Update docs/contributing/inter-thread-context-propagation.md

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

* More clarifications

* More clarifications

* Better example

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-08-12 20:33:07 +03:00
Trask Stalnaker b5fbf90977
Extract instrumentation api module (#884) 2020-08-09 22:52:33 -07:00
Nikita Salnikov-Tarnovski 46dfa263af
Remove HttpServerTestAdvice (#897)
* Remove HttpServerTestAdvice

* Trying to fix
2020-08-06 13:05:55 +03:00
Trask Stalnaker 303d8f427f
Add response generic parameter to HttpServerTracer (#870) 2020-08-03 12:52:55 -07:00
Trask Stalnaker 5dc2ca350a
Update config property prefix from ota to otel (#841)
* Update config property prefix from ota to otel

* more

* format

* more
2020-07-31 08:29:29 +03:00
Frank Spitulski adab0efcd6
feat(tags): http (#827)
flavour, user agent, client ip
2020-07-29 23:57:12 -07:00
Anuraag Agrawal f6594e1a67
Use Span.recordException for logging throwable (#813)
* Use Span.recordException

* Fix tests

* Cleanup

* Update instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy

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

* Spotless (IntelliJ acts weird with groovy files for me :()

* Update for merge

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-07-28 14:44:42 +09:00
Anuraag Agrawal 688733ad43
Update OTel snapshot to 723 for recordException (#786)
* Update OTel snapshot to 723 for recordException

* Fix various servlet issues

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-07-27 14:32:05 +09:00
Nikita Salnikov-Tarnovski fcf4319aac
Faster tests (#725)
🎉
2020-07-22 10:10:34 -07:00
Frank Spitulski d6e39f89e6
feat(servlet): content length (#726) 2020-07-21 20:24:32 -07:00
Helen Y 86c438b154
Remove final from local variables (#732)
* Remove final from local variables
2020-07-20 13:53:34 +09:00
Anuraag Agrawal d8355c672d
Docs for writing new instrumentation... (#652)
* Docs for writing new instrumentation
2020-07-19 14:21:19 +09:00
Alexey Zhokhov f3421e91a0
Remove Lombok (#672)
* Gradle 6.5.1.

* Skip download javadoc and sources automatically in IntelliJ IDEA.

* Added mavenLocal to repositories.

* Removed Lombok usage.

* Removed duplicated idea config.

* Code format.

* Removed useless usage of Objects.requireNonNull.

* Use instanceof to comparing objects.

* Code format.

* Code format.

* Fixes after merge.

* Fixed sneakyThrow exception.

* Code format.
2020-07-18 15:52:55 +03:00
Nikita Salnikov-Tarnovski 9f1ffbe38c
Remove attribute `span.origin.type` (#712) 2020-07-16 10:00:45 -07:00
Nikita Salnikov-Tarnovski 763779e08a
Move servlet instrumentations around (#601) 2020-07-08 16:43:36 -07:00
Sergei Malafeev b78abac82c
#598 Rename "tags" to "attributes" (#645) 2020-07-07 21:03:41 -07:00
Nikita Salnikov-Tarnovski a62801649f
More fixes for Gradle warnings (#643)
* More gradle deprecation warnings fixed

* More gradle deprecation warnings fixed

* More fixes

* More fixes

Co-authored-by: Anuraag Agrawal <aanuraag@amazon.co.jp>
2020-07-07 15:02:07 +03:00
Nikita Salnikov-Tarnovski 3a4470f800
Server spans (#634)
* Milestone 1

* Netty 4.1 done

* Netty 4.0 done

* Netty 3.8 done

* All tests pass

* Test fix

* Last proper server tracers done

* Format fix

* Tests fixed

* Polish

* Polish
2020-07-07 13:48:51 +03:00
Trask Stalnaker 4f48cf6565
Remove response -> request context store (#630)
* Simplify response to request context store

* Remove response to request context store

* Fix test
2020-07-05 14:39:38 +03:00
Tyler Benson 4a943c8411 Use Spotless for formatting (DataDog/dd-trace-java#1619) 2020-06-30 11:15:48 -07:00
Laplie Anderson 45dc02d964 Fix Spring handler mapping affecting character encoding (DataDog/dd-trace-java#1595) 2020-06-30 11:13:20 -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
Nikita Salnikov-Tarnovski bfd7f4428d
Propagate full Context while processing http server requests (#573)
* Propagate full Context while processing http server requests
2020-06-26 20:13:12 +03:00
Anuraag Agrawal 874b157fe5
Newline between license and package. (#581) 2020-06-25 13:31:16 -07:00
Nikita Salnikov-Tarnovski 9a52f6708e
Gradle dependencies cleanup (#556)
* Bootstrap fixed

* Tooling fixed

* Testing fixed

* All instrumentation tests pass

* All tests pass

* Fix test

* Muzzle workaround

* Muzzle fix

* Update instrumentation/trace-annotation/trace-annotation.gradle

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-06-24 12:01:14 +03:00
Richard Startin 4e836f1c72 Replace remaining named disjunctions with namedOneOf or namedNoneOf (DataDog/dd-trace-java#1584) 2020-06-23 14:08:45 -07:00
Richard Startin 0fad251165 Introduce matcher for membership of a set of names (DataDog/dd-trace-java#1583) 2020-06-23 14:08:45 -07:00
Trask Stalnaker 126c972864
Optimization for expensive type matcher (#558) 2020-06-22 19:17:34 -07:00
Trask Stalnaker 4a26bd3ce7
Simplify setting of user.principal attribute (#509) 2020-06-13 12:11:03 +03:00
Trask Stalnaker 4b665dcbe2
Changed instrumentation tracer" TRACER.startSpan() to never return `null` (#499) 2020-06-12 16:15:38 -07:00
Tyler Benson 1b29184e7c Make rootDir usage consistent (DataDog/dd-trace-java#1518) 2020-06-11 10:14:02 -07:00
Nikita Salnikov-Tarnovski 8ee54389da
Try to fix flaky test by replacing list comparison with set comparison (#480) 2020-06-08 20:00:38 +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
Tyler Benson 3bb17e1c3c Remove deprecated usage from internal instrumentation (DataDog/dd-trace-java#1441) 2020-05-26 11:54:55 -07:00
Trask Stalnaker e9096bb60d
Fix java google format (#439) 2020-05-26 08:42:48 +03:00
Nikita Salnikov-Tarnovski 6c8cd2e7f2
Change names of servlet based server spans (#428)
* Add documentation describing non-obvious points of Servlet instrumentations

* Change names of servlet based server spans
2020-05-25 12:53:12 -07:00
Nikita Salnikov-Tarnovski 6d0d3f54ce
Enable the following instrumentation by default: grizzly, jetty, spark-java (#407) 2020-05-17 10:19:35 -07:00
Lev Priima fbf31d3a39 Don't listen 0.0.0.0 in tests (DataDog/dd-trace-java#1434) 2020-05-14 11:50:31 -07:00
Tyler Benson f540ae8fc1 Add null servlet context check (DataDog/dd-trace-java#1414) 2020-05-14 11:50:30 -07:00
Trask Stalnaker 6d1a58d151 Merge tag 'v0.50.0' into correct-history 2020-05-05 12:41:08 -07:00
Pontus Rydin 9568ba079b
Use Builder::setAttribute whenever possible (#348) 2020-04-27 13:51:34 -07:00
Trask Stalnaker f9e74ac9c6
Fix some sporadic test failures (#354)
* Fix some sporadic test failures

* Improve Jetty test advice

* Fix smore sporadic test failures

* Improve test consistency
2020-04-27 11:40:27 -07:00
Trask Stalnaker ce3d764ffa Merge commit '437e0f343dcd66ac344556c03bd340ce791b1fdd' into correct-history 2020-04-21 12:55:51 -07:00
Trask Stalnaker ecc26226dc Merge tag 'v0.49.0' into dd-merge 2020-04-18 16:00:00 -07:00
Trask Stalnaker 7f76929cd5
Rename resource name to span name (#327) 2020-04-16 12:13:42 -07:00
Trask Stalnaker 1f0cd54fd7
Remove copyright year from license header (#322)
* Update template

* Apply template
2020-04-15 11:24:44 -07:00
Trask Stalnaker a333cfe536
Remove unused getComponentName (#314) 2020-04-14 13:29:33 -07:00
Trask Stalnaker bf5b009ef8
Remove unused code (#319)
* Remove unused/deprecated code

* Remove unused code

* Remove unused return value

* Remove unnecessary throws clauses

* Remove unused code

* Remove default attribute value

* Remove unused code

* Remove unused code

* Remove unused code

* Remove unused constants

* Remove unused constant

* Remove unused parameter

* Remove unused PostMatchHook

* Remove unused constants
2020-04-14 12:29:24 -07:00
Trask Stalnaker 4fe685d916
Remove component attribute (#291) 2020-03-29 20:32:19 -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
Trask Stalnaker 68bafd6e0c
Update instrumentation package names, A-J (#266) 2020-03-23 11:22:54 -07:00
Trask Stalnaker 8fa84cb77b
Remove remaining resource.name attributes (#278)
* Remove resource.name validation from ignored tests

* Remove resource.name from test spans

* Remove unused parameter

* Change servlet dispatcher attribute name
2020-03-23 09:51:57 -07:00
Trask Stalnaker 396baa69d6
Update OpenTelemetry API/SDK (#257)
* Update dependency version

* Change getTracerFactory to getTracerProvider

* Update some imports

* Change put to set

* Fix up bridge

* Update package names

* Update test SpanProcessor

* Remove null conditionals around setAttribute

* Update shading

* Update span context extraction
2020-03-20 14:13:55 -07:00
Trask Stalnaker 8700b2eb33
Remove span.type attribute (#262) 2020-03-20 13:05:00 -07:00
Trask Stalnaker 4921fecdb1
Update instrumentation package names, K-Z (#255) 2020-03-19 22:19:22 -07:00
Trask Stalnaker 5287c4a0f1
Better span names for servlet (#243) 2020-03-19 21:23:52 -07:00
Trask Stalnaker 6142b7a2a4
Fix tracer names to match others (#249) 2020-03-19 14:10:17 -07:00
Trask Stalnaker d4740894d1
Follow static import convention (#254)
* Follow static import convention

* Follow decorator static field name convention
2020-03-19 13:52:20 -07:00
Trask Stalnaker 2298885678 Merge tag 'v0.46.0' into dd-merge 2020-03-16 11:25:27 -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
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 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 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
Trask Stalnaker 083988dbe8
Fix comment (#186) 2020-02-27 10:38:29 -08:00
Trask Stalnaker 8ee04d54e9 Merge remote-tracking branch 'datadog/master' into dd-merge 2020-02-22 14:35:03 -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 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 215f611673
Update tracer names (#151) 2020-02-11 12:25:09 -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 faec4901d2
Set span kind and remove prior "span.kind" attribute (#132)
* Set span kind in instrumentation

* Do not set span kind attribute

* Validate span kind in tests

* Remove unused constants
2020-02-05 15:12:33 -08:00
Trask Stalnaker 16ebd812d7
Rename SpanScopePair to SpanWithScope (#124)
* Rename SpanScopePair to SpanWithScope

* Add closeScope() method and remove getScope()

* Rename spanAndScope parameters to spanWithScope

* A few more renames
2020-02-04 18:20:29 -08:00
Trask Stalnaker 147b42d1ff Merge tag 'v0.42.0' 2020-02-01 13:28:58 -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
Pontus Rydin 49e6309cf9
Experimental Jaeger integration (#115)
* Added simple exporter

* Updated config prefix
2020-02-01 12:22:25 -08:00
Pontus Rydin d22f38b320
Changed names of getters and removed instrumentationNames() (#112) 2020-01-31 10:33:24 -08:00
Trask Stalnaker 2d3132e9b8
Convert Trace Annotations and tests to use OpenTelemetry API directly (#110)
* Fix Dropwizard conversion to OpenTelemetry API

* Finish converting JDBC to use OpenTelemetry API directly

* Finish converting Servlet to use OpenTelemetry API directly

* Convert Trace Annotation to use OpenTelemetry API directly

* Convert tests to use OpenTelemetry API directly
2020-01-30 15:51:14 -08:00
Trask Stalnaker 068823c55e
Set SpanKind for servlet requests (#88) 2020-01-27 11:49:09 -08:00
Trask Stalnaker 819ca7c256
Simplify directory/module structure (#77)
* Move things up a directory

* Scripted mass update

find -type f -name "*.gradle" | xargs sed -i 's/:java-agent:/:/g'

* Remove plugin version now that it's in root module

* Update java-agent and instrumentation configs

* Misc
2020-01-22 13:55:47 -08:00