Commit Graph

258 Commits

Author SHA1 Message Date
Nikita Salnikov-Tarnovski 3d92cd2337
Add javadoc to ServletContextPath method (#4484)
* Add javadoc to ServletContextPath method

* Normalise span name and add test

* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/servlet/ServletContextPathTest.java

Co-authored-by: Lauri Tulmin <tulmin@gmail.com>

Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2021-10-25 13:44:02 -07:00
Martin d314d76fce
rename `newBuilder()` to `builder()` (#4475)
* rename `newBuilder()` to `builder()`

* rename `newBuilder()` to `builder()`
2021-10-22 20:50:43 -07:00
Mateusz Rzeszutek 05a391459b
Stabilize HTTP headers capturing configuration property names (#4459)
* Stabilize HTTP headers capturing configuration property names

* code review comments
2021-10-21 21:56:20 -07:00
Trask Stalnaker e9022da102
Remove unshaded javax.annotation classes from bootstrap class loader (#4454)
* Fix shading

* Revert "Fix shading"

This reverts commit 2aad3cfe21.

* Make javax.annotations compileOnly

* Replace checker GuardedBy with otel api internal GuardedBy

* Fix build

* Fix errorprone failures

* Remove extra newline

* Move internal GuardedBy to instrumentation-api

* empty commit

* empty commit
2021-10-21 14:47:50 -07:00
jason plumb a50c13382f
Don't report 400 level as error for SERVER spans (#4403)
* don't report 400 level as error for server spans

* fix HttpServerTest base class

* fix JspInstrumentationForward test

* split HttpStatusConverter into client and server implementations, and create two HttpSpanStatusExtractor.create methods, one for server and one for client.

* rebase

* fix test

* spotless

* fix test

* remove unused

* use strongly typed attributes converters and rename to overloaded create()

* fix tests

* remove redundant assert

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-20 13:39:35 -07:00
Trask Stalnaker 35dd350625
Capture metric dimensions from end attributes also (#4430)
* Capture metric dimensions from end attributes also

* Fix test

* Update tests
2021-10-20 09:29:03 -07:00
Mateusz Rzeszutek b6728de75f
Migrate Grizzly to Instrumenter API (#4409)
* Migrate Grizzly to Instrumenter API

* javax.annotation.Nullable

* Preserve the caught exception in the Context until end() is called

* rename to GrizzlyErrorHolder
2021-10-18 22:55:17 -07:00
Martin 6d9e3618d3
rename `newBuilder()` to `builder()` (#4407)
* rename `newBuilder()` to `builder()`

* code format
2021-10-18 10:00:49 -07:00
Nikita Salnikov-Tarnovski c119fa1bf6
Remove more usages of checker's Nullable (#4410) 2021-10-18 17:32:25 +03:00
Martin ac91dc090a
Type annotation placement (#4406)
* switch annotation `org.checkerframework.checker.nullness.qual.Nullable` to `javax.annotation.Nullable`

* code format
2021-10-17 17:38:43 -07:00
Nikita Salnikov-Tarnovski efddb72cef
Convert AttributesExtractor to interface (#4363) 2021-10-14 08:36:47 +03:00
Mateusz Rzeszutek ff8696586d
Remove VirtualField#computeIfNull() method (#4354) 2021-10-12 11:37:35 -07:00
Nikita Salnikov-Tarnovski 55f987613a
Remove deprecated ServerSpanNaming.updateSource method (#4327)
* Remove deprecated ServerSpanNaming.updateSource method
2021-10-12 13:45:18 +03:00
Mateusz Rzeszutek 51cf64bb3f
Add @UnstableApi annotation to the ExperimentalConfig class (#4346) 2021-10-11 12:50:11 -07:00
Anuraag Agrawal f208ba72b7
Update to OTel 1.7 (#4340)
* Update to OTel 1.7

* Fix metrics tests
2021-10-11 19:52:50 +09:00
Nikita Salnikov-Tarnovski 99f6bcde92
Convert AwsSdk1 to Instrumenter API (#4315)
* Convert AwsSdk1 to Instrumenter API

* Apply suggestions from code review

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Polish

* Polish and tests

* Polish

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-10-08 10:48:41 -07:00
Trask Stalnaker 63a2383905
Split NetAttributesExtractor into NetClientAttributesExtractor and NetServerAttributesExtractor (#4287)
* Net Extractors

* Either request or response but not both

* Fix merge conflicts

* Separate by OnStart/OnEnd

* PeerServiceAttributes

* Fix test

* Restructure to client/server

* Fix merge conflict in main

* more

* peer.service

* Feedback

* peer.service is only for clients

* Fix merge conflict

* rename

* Armeria

* peer.service is only for clients

* rename

* WIP

* Sync Dubbo with Armeria

* More Dubbo and Armeria

* gRPC

* Revert some Dubbo changes

* more peer.service

* Fix test

* Fix merge

* Fixes
2021-10-07 15:40:15 -07:00
Nikita Salnikov-Tarnovski 9476f86920
Remove deprecated ServerSpanNaming.updateServerSpanName method (#4318) 2021-10-07 10:16:50 -07:00
Nikita Salnikov-Tarnovski a48bd9de3f
Move PeerServiceAttributesExtractor from javaagent api to instrumentation api (#4235)
* Move PeerServiceAttributesExtractor from javaagent api to instrumentation api

* spotless
2021-10-06 12:42:55 -07:00
Mateusz Rzeszutek d3dbe415a1
Move HttpHeadersConfig methods back to instrumentation-api (#4298)
* Move HttpHeadersConfig methods back to instrumentation-api

* remove unnecessary method
2021-10-06 10:51:45 +02:00
Nikita Salnikov-Tarnovski c28374615b
Add functionality to generate API changes (#4285)
* Add functionality to generate API changes

* Update conventions/src/main/kotlin/otel.japicmp-conventions.gradle.kts

Co-authored-by: John Watson <jkwatson@gmail.com>

* Do not commit any API changes until we have stable release

Co-authored-by: John Watson <jkwatson@gmail.com>
2021-10-06 09:59:01 +03:00
Mateusz Rzeszutek 66d58aa0a6
Move clientIp extraction to HttpServerAttributesExtractor (#4301)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-05 16:08:17 -07:00
Mateusz Rzeszutek 7791be24e0
Remove implementations of host() and userAgent() in HTTP extractors (#4299)
* Remove implementations of host() and userAgent() in HTTP extractors

* fix broken headers copying
2021-10-05 10:25:45 -07:00
Mateusz Rzeszutek 7473eff1e6
Extract HTTP request/response headers as span attributes (#4237)
* Extract HTTP request/response headers as span attributes

* fix muzzle

* code review comments

* fix compilation failure after merge conflict

* avoid using streams API when transforming the headers list

* fix liberty extractor

* fix spring webmvc extractor
2021-10-05 10:20:59 +02:00
Trask Stalnaker dafc97f96e
Simplify gradle files (#4292) 2021-10-04 21:53:35 -07:00
Mateusz Rzeszutek 9d6fb65b41
Remove ContextStore/InstrumentationContext mentions from internal age… (#4267)
* Remove ContextStore/InstrumentationContext mentions from internal agent classes

* Fix internal-reflection module
2021-10-04 09:24:25 -07:00
Trask Stalnaker 506ae2b894
Flavor extractor (#4274) 2021-10-04 09:23:58 -07:00
Trask Stalnaker 92394ad9ae
Remove url from HttpServerAttributesExtractor (#4209)
* Remove url from HttpServerAttributesExtractor

* Remove UriBuilder

* Tracers too

* apache-camel

* Finatra

* jsp

* Ratpack

* Ratpack library

* Ratpack

* Spark

* Feedback

* Fix Undertow

* Vertx

* vertx-web

* play-2.4

* webflux

* jaxrs

* Spotless

* Update semantic-conventions.md

* Update smoke tests

* More realistic target

* Remove outdated doc

* Wording
2021-10-03 09:17:23 -07:00
Mateusz Rzeszutek c421b66d56
Remove unnecessary VirtualField#setIfNull() method (#4262) 2021-10-02 13:17:48 -07:00
Lauri Tulmin 033c20a3d9
Fix flaky StatementSanitizationConfigTest (#4264) 2021-10-02 10:52:03 -07:00
Nikita Salnikov-Tarnovski bfeb482465
Convert Elasticsearch Transport to Instrumenter API (#4252)
* Convert Elasticsearch Transport to Instrumenter API

* Don't set duplicate attributes

* Code review comments
2021-10-01 13:45:29 +03:00
Mateusz Rzeszutek c11b96e4d0
Make it possible to use InstrumentationContext (now VirtualField) fro… (#4218)
* Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation

* fix tests

* fix javadocs

* fix some more tests

* code review comments

* setIfNull, computeIfNull
2021-10-01 11:13:11 +02:00
Martin 95099144ab
add test for StatementSanitizationConfig (#4211)
* add test for StatementSanitizationConfig

* adjust code style
2021-09-30 09:59:16 -07:00
Nikita Salnikov-Tarnovski 5e6bc60dae
Resolve some Gradle warnings (#4234)
* Resolve some Gradle warnings

* spotless
2021-09-29 10:01:48 -07:00
Trask Stalnaker 9ea33edf08
Remove attrs from http client attributes extractor (#4210)
* Remove scheme/host/target from HttpClientAttributesExtractor

* And jaxrs-client

* Remove unused methods
2021-09-28 12:58:42 -07:00
Lauri Tulmin ba3370e054
Build servlet mapping resolver only when needed (#4197)
* Build servlet mapping resolver only when needed

* move factory interface to boot loader to ensure that everybody has the same class for it

* spotless

* Helper classes should not look up ContextStore on each access
2021-09-27 18:04:22 +03:00
Mateusz Rzeszutek a277a8b636
Separate HTTP client/server AttributesExtractors (#4195) 2021-09-24 10:06:23 -07:00
Trask Stalnaker 3ce940548c
Experimental option to suppress messaging receive spans (#4187)
* Experimental option to suppress messaging receive spans

* Kafka streams too

* Better conditionals

* Remove oops

* Extract base class for kafka streams tests

* Spotless
2021-09-22 21:50:05 -07:00
Trask Stalnaker 8066f2787c
Add context customizer hook to Instrumenter API (#4167)
* Add context customizer hook to Instrumenter API

* Use in tomcat instrumentation

* Some of servlet

* Use in rest of servlet

* Feedback
2021-09-22 14:54:04 -07:00
Mateusz Rzeszutek a8b6faf27d
Add start/end time to RequestListener (#4155) 2021-09-21 13:52:05 -07:00
Lauri Tulmin 59439cb464
Make servlet context path key private (#4125)
* Make servlet context path key private

* remove accidentally added files

* fix servlet2.2

* use non capturing lambda

* Update instrumentation/servlet/servlet-common/library/src/main/java/io/opentelemetry/instrumentation/servlet/ServletHttpServerTracer.java

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* use method reference

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-09-16 10:23:29 -07:00
Anuraag Agrawal 971ca8b19c
Update to OTel 1.6 (#4120)
* Update to OTel 1.6

* Example build

* More example

* More example
2021-09-14 20:12:18 +09:00
Mateusz Rzeszutek 2621ca123e
Make InstrumenterBuilder javadoc about span suppression a bit clearer (#4113)
* Make InstrumenterBuilder javadoc about span suppression a bit clearer

* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-13 11:40:31 -07:00
Lauri Tulmin 15277cf8f5
Convert servlet instrumentation to instrumenter api (#4078)
* Convert servlet to instrumenter api

* make classes final

* Remove some tracer files

* remove xxx

* fix liberty and wildfly exception smoke test

* fix async smoke test on liberty

* Apply suggestions from code review

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* generic TextMapGetter for servlets

* not going to use http.route for servlets

* simplify

* add servlet timeout in attribute extractor

* move classes from library to javaagent

* remove unneeded dependency

* make method private

* move helper class initialization to singleton, remove helpers that don't have any methods, add shouldStart checks

* Update instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletRequestContext.java

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* add import

* rename methods that start and end spans

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-09-13 10:12:34 -07:00
Matthew Ho 6967484a97
Update groovy import order to match default IntelliJ (#1708) (#4047)
* Update groovy import order to match default IntelliJ (#1708)

* organized imports for .groovy files to follow default IntelliJ import settings

* updated intellij-setup.md

* Spotless

* drift

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-11 11:53:08 -07:00
Mateusz Rzeszutek 05d1a4a54f
Separate suppression strategies for CONSUMER receive/process spans (#4076)
* Separate suppression strategies for CONSUMER receive/process spans

* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/SpanKeyExtractor.java

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

* spotless

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-10 10:55:50 -07:00
Mateusz Rzeszutek 4820ec4855
Add error parameter to EndTimeExtractor and AttributesExtractor#onEnd() (#3988) 2021-09-08 07:58:13 -07:00
Trask Stalnaker 400d99467a
Follow http.client_ip spec clarification (#4063) 2021-09-08 07:54:59 -07:00
Trask Stalnaker ec99db5e5b
Support empty values in config maps (#4037)
* Support empty values in config maps

* Rename method
2021-09-02 16:00:29 +09:00
Mateusz Rzeszutek 62eae30a60
Make Config behave exactly as SDK DefaultConfigProperties (#4035)
* Make Config behave exactly as SDK DefaultConfigProperties

* errorprone

* errorprone part 2

* errorprone part 3

* fix failing tests
2021-08-31 10:00:04 -07:00