Commit Graph

291 Commits

Author SHA1 Message Date
Anuraag Agrawal b7a95857c7
Fix some java lint warnings (#5120)
* Convert InstrumentationTestRunner from interface to abstract class

* Foo

* Commit

* Revert unintended
2022-01-17 10:26:03 -08:00
Mateusz Rzeszutek 872c6c7d80
Add `http.route` to the server span when `ServerSpanNaming` is updated (#5086)
* Add `http.route` to the server span when `ServerSpanNaming` is updated

* fix camel tests

* fix test compilation failure

* assert route in camel instrumentation
2022-01-14 13:52:06 -08:00
Trask Stalnaker b8ea362112
Don't capture http.target as metrics attribute (#5081) 2022-01-12 17:24:47 +02:00
Trask Stalnaker 642f2c1614
Peer service optimization (#5056) 2022-01-10 10:01:28 +02:00
Nikita Salnikov-Tarnovski 1a9c633b4b
Rename some packages, move some classes (#5043)
* Rename some packages, move some classes
2022-01-09 13:26:51 +02:00
Anuraag Agrawal c75c01f871
Update to OTel 1.10 (#5035)
* Update to OTel 1.10

* Fix metric smoke test

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-07 15:45:20 -08:00
Anuraag Agrawal f6bcd76219
Update errorprone (#5016)
* Update errorprone

* gwt

* Remove unnecessary final

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-06 14:21:56 -08:00
Mateusz Rzeszutek 0fd7b8baa0
Fix time units in HTTP & RPC metrics (#4963) 2021-12-21 11:51:57 -08:00
Anuraag Agrawal 5e1e0c2642
Update to OTel 1.10 (#4866)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-12-16 18:46:17 +09:00
Mateusz Rzeszutek 09beb58a8c
Move SpanKey to internal package (#4869)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-12-14 11:27:37 -08:00
Mateusz Rzeszutek a65e9633ba
Refactor `ServerSpanNaming` (in preparation for `http.route`) (#4852)
* Refactor ServerSpanNaming (in preparation for http.route)

* fix tests

* Add ServerSpanNaming to all HTTP server instrumentations

* fix tests
2021-12-14 10:11:20 +01:00
Mateusz Rzeszutek 331ce287d2
Don't use HttpStatusConverter outside of instrumentation-api (#4870)
* Don't use HttpStatusConverter outside of instrumentation-api

* add comment
2021-12-14 10:07:18 +01:00
Mateusz Rzeszutek 93a3282490
Remove ConfigPropertiesAdatpter as it's no longer needed (#4888) 2021-12-13 12:20:11 -08:00
Mateusz Rzeszutek ca2bce9608
Deprecate the Tracer API (#4868) 2021-12-12 12:14:36 -08:00
yangtaoran c59bebf6e2
add metrics rpc conventions implement (#4838)
* add metrics rpc conventions

* handle format violations

* handle format violations

* resolve the comments suggestion

* update RpcClientMetrics format

* update RpcServerMetrics format

* resolve time precision and cardinality issue

* invoke buildServerFallbackView method

* add RpcServerMetricsTest and RpcClientMetricsTest

* server metrics attibutes remove net.perr* and add net.host

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

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-12-10 16:29:57 -08:00
Mateusz Rzeszutek 0bab0c2aa3
Move `ServletContextPath` to `servlet-common:bootstrap` (#4824)
* Move ServletContextPath to servlet-common:bootstrap

* fix tests

* Simplify ServletContextPath calls in restlet instrumentation
2021-12-08 15:59:31 +01:00
Trask Stalnaker 80790a409d
Add javadoc note about metrics timestamps (#4820)
* Add javadoc note about metrics timestamps

* Move to class level
2021-12-07 15:35:47 -08:00
Mateusz Rzeszutek 075434c5bc
Move `AppServerBridge` and `MappingResolver` to `servlet-common:bootstrap` (#4817)
* Move AppServerBridge and MappingResolver to servlet-common:bootstrap

* Introduce additional gradle configuration for bootstrap libs
2021-12-07 10:20:33 +01:00
Lauri Tulmin 61b0dd3698
Capture servlet request parameters (#4703)
* Capture servlet request parameters

* use concurrenthashmap for cache
2021-12-05 21:25:31 -08:00
Nikita Salnikov-Tarnovski a70682c390
Remove unhelpful benchmarks (#4766)
* Remove unhelpful benchmarks

* Restore one more benchmark

* spotless
2021-12-02 17:17:39 +02:00
Nikita Salnikov-Tarnovski 9f4686cc3d
Move cache implementations to internal package (#4746)
* Move cache implementations to internal package

* Fix import

* Fix import order
2021-11-30 21:43:03 -08:00
Trask Stalnaker f7efe07b06
Merge start and end time extractors (#4692) 2021-11-29 22:07:49 -08:00
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