Lauri Tulmin
0f258c669a
Use hasAttributesSatisfyingExactly instead of hasAttributesSatisfying ( #8336 )
2023-04-24 11:57:45 +02:00
Mateusz Rzeszutek
e3944a53a5
Make net.transport an optional attribute ( #8279 )
2023-04-20 08:14:03 -07:00
Lauri Tulmin
4023a59068
Grpc client instrumentation net.sock.peer.addr ( #7742 )
...
Currently grpc client instrumentation unreliably fills
`net.sock.peer.addr` which makes tests flaky
https://ge.opentelemetry.io/s/nni57d5zryafk/tests/:instrumentation:grpc-1.6:javaagent:test/io.opentelemetry.javaagent.instrumentation.grpc.v1_6.GrpcStreamingTest/conversation(int,%20int)%5B8%5D?expanded-stacktrace=WyIwIl0&top-execution=1
This pr moves capturing `net.sock.peer.addr` to a later point where it
seems to work reliably.
2023-02-14 12:04:53 -08:00
Tav Herzlich
b9c10c9607
Add gRPC request metadata instrumentation ( #7011 )
...
Solves. #6991
This PR implements the request portion of the new gRPC metadata
instrumentation spec:
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md#grpc-request-and-response-metadata
The changes include:
- new CommonConfig entry for desired gRPC metadata values:
'otel.instrumentation.grpc.capture-metadata.request'
(Similar to http headers)
- setting the desired metadata values in GrpcTelemetry
- new property in GrpcAttributesExtractor that holds a reference to the
GrpcRpcAttributesGetter
- new property in GrpcAttributesExtractor that stores the desired values
so it can iterate them and extract each one from the request
- inject the GrpcRpcAttributesGetter to GrpcAttributesExtractor (in
GrpcTelemetryBuilder)
- logic in GrpcRpcAttributesGetter to safely extract the gRPC metadata
value
- A new test in GrpcTest that makes sure that when a certain metadata
key name is inserted, it also ends up in the span attributes
** Doesn't take care of the response because gRPC response is not
implemented in java-instrumentation yet. (This is absolutely necessary
but out of scope for this PR)
** "metadataValue" is only implemented inside GrpcRpcAttributesGetter
and not in RpcAttributesGetter to avoid providing implementations for
every RpcAttributesGetter in the repo as this PR only focuses on gRPC.
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-01-17 21:18:37 -08:00
Trask Stalnaker
94e2248940
Use new semantic attribute constants ( #6946 )
2022-10-23 09:32:03 -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
63c0bfbf79
Add grpc status code to metrics attrs ( #6556 )
2022-09-08 12:48:09 +03: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
11e46f5694
Fix gRPC latestDepTest failures ( #6357 )
2022-07-22 01:31:44 +03:00
Trask Stalnaker
8fac01e736
Enable error prone's UnusedVariable check ( #6217 )
...
* Enable error prone's UnusedVariable check
* Spotless
2022-06-27 10:55:27 +02:00
Trask Stalnaker
11dd0797f6
Make rpc.grpc.status_code required ( #6184 )
2022-06-17 13:50:57 -07:00
ET
aca80bee40
Make gRPC metadata available to AttributeExtractors ( #6125 )
...
* Allow GrpcTelemetryBuilder to be customized to add Extractors, etc
* fixup! Allow GrpcTelemetryBuilder to be customized to add Extractors, etc
* Call GrpcRequest.setMetadata() in TracingClientInterceptor.start()
* stop spotless from complaining
* Checkstyle satisfaction
* Spotless
* Suggestions (#6 )
* Suggestions
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-06-03 12:51:12 +03:00
Anuraag Agrawal
d1ee692479
Update to OTel 1.14 ( #5999 )
...
* Update to OTel 1.14
* Fix test
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-05-10 14:23:56 -07:00
jack-berg
6fe3299f52
Add metric support for grpc ( #5923 )
...
* Add metric support for grpc
* Spotless
2022-04-25 10:36:26 -07:00
Anuraag Agrawal
1d9c23bfb3
Do not propagate gRPC deadline when propagating OTel context via javaagent. ( #5543 )
...
* Add test for early return in gRPC pattern.
* Do not propagate gRPC deadline when propagating OTel context via javaagent.
2022-03-11 11:06:26 -08:00
Anuraag Agrawal
9e5fdcebd5
Migrate gRPC tests to Java ( #5521 )
...
* Migrate gRPC tests to Java
* check
* clean
2022-03-09 14:37:59 +09:00
ralphgj
e551d99db3
fix: add attributes of net.peer.* for grpc client span ( #5324 )
2022-02-10 09:54:43 -08:00
Anuraag Agrawal
ec375116be
Fix more lint warnings ( #5174 )
...
* Fix more lint warnings
* Redisable lint
* Drift
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-20 12:48:46 +09:00
Trask Stalnaker
ce4cef76f9
Clean up groovy assertions ( #4805 )
2021-12-05 23:23:58 -08:00
Anuraag Agrawal
39964b39aa
Copy in protobuf conventions from SDK repo. ( #4643 )
...
* Copy in protobuf conventions from SDK repo.
* fix
* Spot
2021-11-16 13:42:06 +09:00
Lauri Tulmin
9b8ab5eeec
Migrate to spock 2 ( #4458 )
...
* Migrate to spock 2
* Fix smoke test suites
* address review comments
* review comment
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-22 08:40:58 -07:00
Trask Stalnaker
d2b7786027
Fix some tests on windows ( #4288 )
2021-10-04 21:40:24 -07:00
Trask Stalnaker
d28f0d3d3f
Remove unneeded catch blocks ( #4130 )
...
* Remove unneeded catch blocks
* Update test!
2021-09-15 09:42:18 -07:00
Trask Stalnaker
9de4041d4c
More grpc events ( #4098 )
...
* More grpc events
* Fix test
* Update new tests
2021-09-13 10:49:04 -07:00
Trask Stalnaker
098aee06c6
Fix grpc instrumentation of callbacks ( #4097 )
...
* Fix grpc instrumentation of callbacks
* Add ListenableFuture test
* Futures.transform
2021-09-13 08:55:46 -07:00
Trask Stalnaker
b48ced5da0
Fix test on windows ( #4094 )
2021-09-12 15:53:38 +02: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
Trask Stalnaker
20c72f3e98
Format kotlin gradle files ( #3942 )
...
* Add ktlint for kotlinGradle
* ktlint fails on wildcard imports
* Auto-format kotlin gradle files
2021-08-25 13:43:57 +09:00
Trask Stalnaker
bb461e5274
Fix tests on windows ( #3360 )
2021-08-09 09:23:41 -07:00
Anuraag Agrawal
f5ce4c03f8
Inline basic usages of basicSpan ( #3583 )
...
* Inline basic usages of basicSpan
* spock
2021-07-18 21:15:51 +03:00
Anuraag Agrawal
d3b62de8a5
Replace most uses of TraceUtils with testRunner runWithSpan. ( #3582 )
2021-07-15 10:30:34 -07:00
Anuraag Agrawal
9219fb6067
Only instrument builders once ( #3544 )
2021-07-14 08:24:15 +09:00
Anuraag Agrawal
761b9c280b
Migrate instrumentation gradle files to kotlin ( #3414 )
...
* Migrate instrumentation gradle files to kotlin
* Convert
* Muzzle
2021-06-28 17:27:12 +09:00
Anuraag Agrawal
785dc6adf2
Rename build files to build.gradle ( #3409 )
...
* Rename build files to build.gradle
* Rename smoke-tests
* Fix already broken
2021-06-25 16:10:31 +09:00
Anuraag Agrawal
deb0e255cf
Use plugins block everywhere for applying plugins ( #3386 )
...
* Use plugins block everywhere for applying plugins
* Actually it's library instrumentation
2021-06-24 11:13:35 +09:00
Anuraag Agrawal
224dc51e93
Migrate java.gradle to conventions plugin ( #3289 )
...
* Migrate java.gradle to convention plugin.
* Switch to java-conventions
* Remove old file
* Fix
* Fix merge
* Missing paragraph
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-15 08:10:39 +09:00
Anuraag Agrawal
c358a35414
Use dependency management pattern for dependency versions ( #3113 )
...
* Use dependency management pattern for dependency versions.
* Add groovy bom too
* Update dependencyManagement/dependencyManagement.gradle.kts
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 11:32:08 +09:00
Anuraag Agrawal
acedbff78d
Migrate gRPC to Instrumenter API ( #3073 )
...
* Migrate gRPC to Instrumenter API
* Don't unwrap grpc exception
* Fix merge and cleanup
2021-05-27 15:40:53 +09:00
Anuraag Agrawal
fe41885ee6
Switch to colon notation for dependencies. ( #2994 )
...
* Switch to colon notation for dependencies.
* Even more cleanup
* Revert mistake
2021-05-15 15:31:06 +09:00
Anuraag Agrawal
a3be8e3613
More lazy Gradle configuration ( #2973 )
2021-05-13 16:24:40 +09:00
Lauri Tulmin
3b807e0efb
Assert spans in grpc client error test ( #2928 )
2021-05-11 17:01:25 +03:00
Anuraag Agrawal
24998f5080
Raise gRPC version floor to 1.6 and use new context bridge API ( #2948 )
...
* Raise gRPC version floor to 1.6 and use new context bridge API
* Drift
* Drift
2021-05-10 16:33:48 +09:00