| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
* feat: Add OpenTelemetry to GRPC * adding rpc.system value * refactor test for both transports * lint * add branch protection rules to otel feature branch * pr comment
* feat: Instrument HTTP Reads and Writes
* feat: instrument HTTP readAllBytes
* feat: Instrument HTTP createFrom * make exception handling more generic
* feat: Instrument Reader and Writer methods
… in method modification (#2856) Refactor com.google.cloud.storage.Storage otel tracing to be based on a decorating instance of Storage rather than modifying the implementations of StorageImpl and GrpcStorageImpl directly. This simplifies things by ensuring any otel tracing for c.g.c.s.Storage is implemented for both http and grpc at the same time and with the same metadata. As a side effect, the previous com.google.cloud.storage.otel package has been removed. The number of lines appears daunting, however a high level overview of the actual modifications: 1. Remove otel tracing from StorageImpl 2. Remove otel tracing from GrpcStorageImpl 3. Cleanup StorageOption 1. classes to specify `@BetaApi` on all otel related methods 2. Add `{Http,Grpc}StorageDefaults.getDefaultOpenTelemetry` default which points at `OpenTelemetry.noop()` 3. Relax dependency on OpenTelemetrySdk to only OpenTelemetry 4. Add OtelStorageDecorator (~1700 Lines of the PR) to decorate nearly all public api methods (excluding batch()) * Each method is "logicless" for the most part, and was generated with the help of IntelliJ live templates * Each method is generally: Define span, and scope invoke delegate catch any exception and complete the span * There are sub decorators for ReadChannel, WriteChannel, BlobWriteSession and CopyWriter which carry the originating span along for their lifetimes 5. Remote `com.google.cloud.storage.otel` package and helpers 6. Update assertions in ITOpenTelemetryTest to be wrapped in an `assertAll`
| Back | FazBrowse Home | New Git URL |
Introducing OpenTelemetry Tracing