Commit Graph

172 Commits

Author SHA1 Message Date
王展城 397a5a89b5
fix spring-webflux cast to PathPattern throws ClassCastException (#6872)
when
ServerWebExchange.getAttributes().put(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE,
"path string type").
opentelemetry javaagent will throw exception.

[企业微信截图_76344afd-4541-482c-a90f-0606ad720351](https://user-images.githubusercontent.com/15957476/195615160-45559fb5-5e0c-4c25-8678-7d8aa603f346.png)
2022-10-21 10:35:33 +02:00
Trask Stalnaker f488d94403
Capture net.host.name for netty (#6892)
This may be a regression in 1.19.0 because you can no longer reconstruct
the original url for netty server spans (previously `http.host` was
captured which could be used).
2022-10-19 09:21:50 -07:00
Mateusz Rzeszutek 77035fc88c
Extract `net.peer.{name,port}` on start for CLIENT spans (#6828)
The [HTTP
spec](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-client)
says these two attributes must be provided at span creation time - I
think it makes sense to extend it over to all `net`-related
instrumentations, cause these are supposed to be the logical peer
name/port, which are supposed to be known before the connection is
started/exchange is made.
2022-10-10 16:00:19 -07:00
Trask Stalnaker 6f6af66c04
Update to slf4j 2.0.2 (#6774)
~testLatestDeps is failing, see #6791~
2022-10-06 01:28:53 +00:00
Mateusz Rzeszutek 714ba9189e
Remove deprecated `http.host` and `http.server_name` attributes (#6709)
... and make sure the `TemporaryMetricsView` follows the current spec
2022-09-24 11:02:21 -07:00
Trask Stalnaker 429ecfc713
Update error prone (#6646)
(note that change from BDDMockito is due to
https://github.com/google/error-prone/issues/3396)
2022-09-23 11:24:40 -07:00
Liudmila Molkova 97bc4a4fda
Reactor instrumentation: do not make root context current (#6593)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-09-14 11:23:18 -07:00
Trask Stalnaker d5c6453636
Remove external usages of ClassNames (and move it to internal) (#6584)
* Reduce dependency on simpleName

* Move ClassNames to internal

* Javadoc

* Updates

* Fix

* Spotless

* Rename

* Add test
2022-09-13 13:58:19 -07:00
Mateusz Rzeszutek f50f1fed3b
Fix instrumentation-api-semconv packages (#6590)
* Fix instrumentation-api-semconv packages

* Move test

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-09-12 14:51:27 -07:00
Mateusz Rzeszutek cfdbe758f2
Net attributes getters changes (in preparation for HTTP spec impl) (#6503)
* Net attributes getters changes: instrumentation-api-semconv changes

* Net attributes getters changes: getter implementations

* Net attributes getters changes: test fixes

* Remove net.sock.host.name

* code review comments

* default getter methods & getPeerSocketAddress() method name

* set authority in grpc earlier
2022-09-12 09:20:27 -07:00
Trask Stalnaker f1774cabe2
Update net semantic convention changes (#6268)
* New net conventions: option a

* Feedback + sock.family + sock.peer.name

* peer.service + tests

* server net attributes attempt 1

* server net attributes attempt 2

* Javadoc

* Revisions

* Apply to instrumentations

* Feedback

* One more default method

* Spotless

* Fix javadoc
2022-08-18 09:02:23 -07:00
Mateusz Rzeszutek 6cd79b2a94
Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode() (#6466)
* Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode()

* fix liberty
2022-08-12 17:11:11 -07:00
Mateusz Rzeszutek 08f013f9d6
Update gradle to 7.5.1 (#6359)
* Update gradle to 7.5

* Bump to 7.5.1

* gradle 7.5.1 with jdk17

* spotless

* one more --add-opens

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2022-08-12 12:03:43 +02:00
Trask Stalnaker 68a9f20eb3
Enable PrivateConstructorForUtilityClass errorprone check (#6427)
* PrivateConstructorForUtilityClass

* Advice

* More advice

* More

* More advice

* More

* Spotless

* Fix

* Fix

* Fix

* A better solution

* Revert

* More

* Fix

* Spotless

* Fix
2022-08-10 11:30:22 +03:00
Mateusz Rzeszutek b2c90c79b5
Extract HTTP request & response content length from headers (#6415)
* Extract HTTP request & response content length from headers

* remove unused method

* fix camel tests

* fix google http client tests

* fix HttpUrlConnection tests

* fix k8s and jaxrs tests

* fix aws tests

* actually fix aws tests 🤞

* fix elasticsearch tests

* fix ratpack tests

* fix spring webflux tests

* fix vertx tests

* fix reactor netty tests
2022-08-05 10:55:47 -07:00
Mateusz Rzeszutek 5a152cd289
Deprecate uncompressed content length HTTP attributes (#6383) 2022-07-29 06:17:38 +02:00
Mateusz Rzeszutek 82b39b1012
Rename `newInstrumenter()` into `buildInstrumenter()` (#6363)
* Rename newInstrumenter() into buildInstrumenter()

* spotless
2022-07-25 12:02:46 -07:00
Mateusz Rzeszutek 3af56e7d22
InstrumentationConfig part 3: HTTP headers and peer service mappings (#6302) 2022-07-15 14:52:52 -07:00
Mateusz Rzeszutek 7bbe918008
InstrumentationConfig part 2 (#6292) 2022-07-11 09:47:19 +02:00
Mateusz Rzeszutek e7887ac929
Idea: deprecate `Config`, add agent-only `InstrumentationConfig` (#6264)
* Idea: deprecate Config, add agent-only InstrumentationConfig

* fix

* fix camel test

* fix external-annotation tests
2022-07-08 16:20:49 +02:00
jason plumb f38939134c
Correct spelling of opentelemetry-exporter-logging (#6253) 2022-07-01 21:09:04 +03:00
Mateusz Rzeszutek 87b412fb40
Instrumentation API changes: OperationMetrics, OperationListener (#6016)
* Instrumentation API changes: OperationMetrics, OperationListener

* errorprone
2022-05-12 11:16:46 -07:00
Mateusz Rzeszutek 50f91e6dee
Deprecate AttributesExtractor#set() method (#5749)
* Deprecate AttributesExtractor#set() method

* code review comments
2022-04-05 20:20:02 -07:00
Mateusz Rzeszutek 39e1fcb48e
Rename view and controller suppression config properties (#5747)
* Rename view and controller suppression config properties

* code review comments
2022-04-05 14:24:24 -07:00
Mateusz Rzeszutek 0ca127fe94
Move ClassNames & SpanNames to .util package (#5746)
* Move ClassNames & SpanNames to .util package

* errorprone
2022-04-04 11:17:54 -07:00
Lauri Tulmin 5267462b06
Fix http concurrency test with large responses (#5648)
* Debug http client concurrency test failures

* debugging

* context porpagation to callbacks isn't really implemented

* verify that request succeeds in single connection concurrency test

* spotless

* verify request status in http client concurrency test

* update comment

* remove large response

* Trigger Build

* Update instrumentation/netty/netty-3.8/javaagent/src/test/groovy/Netty38ClientTest.groovy

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-03-25 10:03:22 -07:00
Anuraag Agrawal cd528e98fb
Rename library entrypoints to Telemetry (#5624)
* Rename library entrypoints to Telemetry

* Renames
2022-03-22 14:39:23 +09:00
Trask Stalnaker 7cd3fa4c0a
Update links (#5579) 2022-03-15 09:17:14 -07:00
Mateusz Rzeszutek b0d5fc6b99
Remove deprecated methods from instrumentation-api and library instrumentations (#5575) 2022-03-15 09:33:48 +09:00
Lauri Tulmin 8d513f9099
Make tests provide expected exception instance instead of class (#5540)
* Make tests provide expected exception instance instead of class

* exception is optional
2022-03-11 14:24:03 +02:00
Mateusz Rzeszutek f6cca58f1f
Deprecate CapturedHttpHeaders and replace it with builder methods (#5533) 2022-03-09 12:21:32 -08:00
Lauri Tulmin b3496381f1
Write http server tests in java (#5501)
* Write http server tests in java

* typo

* Apply suggestions from code review

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

* add comments

* address review comments

* use Predicate

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-03-08 14:21:59 -08:00
Mateusz Rzeszutek 4a98dae431
Add builders for setting optional attributes on HTTP extractors (#5347)
* Add builders for setting optional attributes on HTTP extractors

* errorprone

* fix compilation failure
2022-03-08 17:21:14 +01:00
Mateusz Rzeszutek 551418c283
Refactor AttributesExtractor so that it extracts route from Context (#5288)
* Refactor AttributesExtractor so that it extracts route from Context

* typo

* fix tests

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

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

* fix all AttributesExtractors

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-02-08 10:38:41 +01:00
Mateusz Rzeszutek 8b767ac435
Refactor HTTP attributes extractors to use composition over inheritance (#5267)
* Refactor HTTP attributes extractors to use composition over inheritance

* Rename remaining variables: *Extractor to *Getter
2022-01-31 09:25:27 -08:00
Mateusz Rzeszutek 16335a0c47
Use HttpRouteHolder in spring-webflux instrumentation (#5239) 2022-01-28 10:07:19 +01:00
Mateusz Rzeszutek 9381d5a264
Expected server span name for null route should be HTTP GET (#5197) 2022-01-21 19:35:48 -08:00
jason plumb c5c0a2bcdf
NetClientAttributesAdapter - favor composition over inheritance (#5030)
* first pass at separating NetAttributesAdapter interface and make NetClientAttributesExtractor concrete

* rename the implementations extractor -> adapter

* hide constructor and make factory method

* rename to client and add javadoc

* spotless

* finish javadoc thought

* rebase

* renamed NetClientAttributesAdapter to NetClientAttributesGetter

* fix lettuce

* code review comments

* code review comments -- renaming for consistency

* adapter -> getter

* fix ratpack

* adapter -> getter
2022-01-20 10:51:13 -08:00
Mateusz Rzeszutek 540e4cfafb
Remove HttpServerTest#extraAttributes() method (#5176)
* Remove HttpServerTest#extraAttributes() method

* fix ktor tests

* fix ratpack and restlet tests

* fix servlet2 tests

* Fix webflux and vertx tests
2022-01-20 10:41:41 -08:00
Anuraag Agrawal 52394a2ff9
Remove deprecated tracer API (#5175)
* Remove deprecated tracer API

* Groovy too
2022-01-19 09:52:51 -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
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
Trask Stalnaker 6884d66c09
Reduce top level instrumentation directories (#4965)
* akka

* dropwizard

* kafka

* reactor

* vertx
2021-12-22 10:16:13 -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
Zane XiaoYe cd863f6726
update the documentation (#4834)
the `filter` method does not compile in this example, use `filters` instead of `filter`.
2021-12-07 20:40:30 -08:00
Trask Stalnaker ce4cef76f9
Clean up groovy assertions (#4805) 2021-12-05 23:23:58 -08:00
Trask Stalnaker ea7588cd15
Update references to master branch (#4706) 2021-11-24 13:11:21 -08:00
Mateusz Rzeszutek 270c4b4e12
Migrate Spring Webflux HTTP client instrumentation to Instrumenter API (#4517)
* Migrate Spring Webflux HTTP client instrumentation to Instrumenter API

* Update instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/SpringWebfluxHttpAttributesExtractor.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-27 12:52:02 -07:00
Nikita Salnikov-Tarnovski 8ea59f0846
Rename all InjectAdapters to Setters (#4489)
* Rename all InjectAdapters to Setters

* Errorprone fixes

* Make setter public
2021-10-25 12:36:59 -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