Commit Graph

269 Commits

Author SHA1 Message Date
Mateusz Rzeszutek 9a4a68d836
Add Android API-friendliness checks (#4505)
* Add Android API-friendliness checks

* Improve comments

* Remove ignores

* Handle CompletionException

* Spotless

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-24 12:59:11 -08:00
Nikita Salnikov-Tarnovski 821a4b870b
Drop instrumentation-api-caching module and move weak cache implementation to instrumentation-api (#4667)
* Drop instrumentation-api-caching module and move weak cache implementation to instrumentation-api

* Some test fixes

* Some cleanup

* Temporary workaround for using weak values in FutureListenerWrappers

* Spotless

* Update ClassNames and SpanNames

* Compilation and comment

* Add bounded cache and clean interface

* Polish

* Add comment

* Vendor ConcurrentLinkedHashMap in

* Let errorprone ignore vendored CLHM for now

* Keep license in java files too

* Convert Netty wrapper cache to VirtualField

* Work around lambda instrumentation failure

Ideally we would ignore instrumenting helper classes...

* Revert "Work around lambda instrumentation failure"

This reverts commit 6d63815b44.

* Revert "Convert Netty wrapper cache to VirtualField"

This reverts commit dac1522a3f.

* Handle cleared weak values

* Fix comment

* Delete instrumentation-api-caching

* Copy in weak-lock-free

* Remove caffeine remnants

* Fix checkstyle

* Rename BoundedCache to MapBackedCached

* Remove duplicate LICENSE

* Remove outdated comment

* Sync with SDK copy of weaklockfree

* Enable checkstyle:off comment

* Re-generate license report

* Move NOTICE file to package-info.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-24 09:05:12 -08:00
Trask Stalnaker 260c603784
Fix exemplars (#4678) 2021-11-20 10:42:06 -08:00
Mateusz Rzeszutek ee32c41d35
Remove LongAdder and ClassValue usages from instrumentation-api (#4671) 2021-11-18 21:29:45 -08:00
Lauri Tulmin 628df63dad
Remove a few unused methods (#4661) 2021-11-17 09:40:43 -08:00
Lauri Tulmin 625febaeb4
Sql sanitizer: sanitize double quoted strings only in couchbase queries (#4615)
* Sql sanitizer: sanitize double quotes strings only in couchbase queries

* remove unused method

* use AutoValue
2021-11-10 13:43:03 -08:00
Lauri Tulmin 16728e2445
Add a ClassAndMethod class to Instrumentation API (#4619)
* Add a ClassAndMethod class to Instrumentation API

* remove sentence

* Update docs/contributing/writing-instrumentation.md

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

* address review comment

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-10 13:33:11 -08:00
Roberto Cortez 21d6648c95
Add version to the InstrumenterBuilder and Instrumenter (#4611) 2021-11-09 10:21:05 -08:00
Josh Suereth d3f8ab6c82
Update HTTP metrics 'view' code to match the specification (#4556)
* Update HTTP metrics 'view' code to match the specification, including optional attribute rules.

* Update server metrics test for new logic.

* Fix client metrics test.

* Spotless fix.

* Updates from Java SiG discussion.

* Fixes from review.

* Apply suggestions from code review

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

* Update spotless from code reivew merge.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-06 09:09:01 -07:00
Mateusz Rzeszutek f3ec9a215b
Document Instrumenter API (#4544)
* Document Instrumenter API

* Apply suggestions from code review

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>

* reformat and code review comments

* code review comments

* Apply suggestions from code review

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

* formatting

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-05 15:15:48 +01:00
Lauri Tulmin e31439ee0d
Fix context propagation in tomcat thread pool (#4521) 2021-10-27 16:52:55 -07:00
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