Replies: 1 comment
-
Excellent writeup, very helpful. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
As of the 2024-09-20 release, the AWS SDK for Go v2 is now instrument to record both trace spans and client-side metrics.
Background
Service clients now have two additional configuration options:
While heavily inspired by the OpenTelemetry (OTEL) specifications for tracing and metrics, the APIs for these new configs are defined independently in smithy-go. This allows us to retain control over the APIs and component boundaries therein.
By default, clients default to no-op implementations for both tracing and metrics. In order to provide an out-of-the-box solution for connecting a concrete implementation, we have released adapters for the OTEL tracing and metrics SDKs in standalone, independently consumable go modules:
trace.TracerProvider
to be used with a service client'sTracerProvider
.metric.MeterProvider
to be used with a service client'smetrics.MeterProvider
.Tracing
Quickstart guide
The new
Adapt()
API insmithyoteltracing
is used to connect a concrete OTEL SDK TracerProvider to SDK client config:SDK operations have been instrumented with a span hierarchy that roughly breaks down the high-level components of the operation lifecycle (e.g. request serialization, signing, retry loop).
Metrics
The new
Adapt()
API insmithyotelmetrics
is used to connect a concrete OTEL SDK MeterProvider to SDK client config:Quickstart guide
Supported metrics
In this initial release, SDK clients collect the following metrics:
We plan to add HTTP client metrics in a future release. This is tracked in #2809.
Feedback
We'd like to hear from you about your experience with tracing and metrics in this SDK. If you have any feedback or suggestions, or would like to report a bug, please don't hesitate to file an issue in this repository.
Beta Was this translation helpful? Give feedback.
All reactions