Documentation
¶
Overview ¶
Package otelaws provides instrumentation for the AWS SDK.
Index ¶
- Constants
- func AppendMiddlewares(apiOptions *[]func(*middleware.Stack) error, opts ...Option)
- func DefaultAttributeBuilder(ctx context.Context, in middleware.InitializeInput, ...) []attribute.KeyValue
- func DynamoDBAttributeBuilder(_ context.Context, in middleware.InitializeInput, ...) []attribute.KeyValue
- func OperationAttr(operation string) attribute.KeyValue
- func RegionAttr(region string) attribute.KeyValue
- func RequestIDAttr(requestID string) attribute.KeyValue
- func SNSAttributeBuilder(_ context.Context, in middleware.InitializeInput, ...) []attribute.KeyValue
- func SQSAttributeBuilder(_ context.Context, in middleware.InitializeInput, ...) []attribute.KeyValue
- func ServiceAttr(service string) attribute.KeyValue
- func SystemAttr() attribute.KeyValue
- func Version() string
- type AttributeBuilder
- type Option
Constants ¶
const ( RegionKey attribute.Key = "aws.region" RequestIDKey attribute.Key = "aws.request_id" AWSSystemVal string = "aws-api" )
AWS attributes.
const (
// ScopeName is the instrumentation scope name.
ScopeName = "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
)
Variables ¶
This section is empty.
Functions ¶
func AppendMiddlewares ¶
func AppendMiddlewares(apiOptions *[]func(*middleware.Stack) error, opts ...Option)
AppendMiddlewares attaches OTel middlewares to the AWS Go SDK V2 for instrumentation. OTel middlewares can be appended to either all aws clients or a specific operation. Please see more details in https://aws.github.io/aws-sdk-go-v2/docs/middleware/
func DefaultAttributeBuilder ¶ added in v0.60.0
func DefaultAttributeBuilder(ctx context.Context, in middleware.InitializeInput, out middleware.InitializeOutput) []attribute.KeyValue
DefaultAttributeBuilder checks to see if there are service specific attributes available to set for the AWS service. If there are service specific attributes available then they will be included.
func DynamoDBAttributeBuilder ¶ added in v0.60.0
func DynamoDBAttributeBuilder(_ context.Context, in middleware.InitializeInput, _ middleware.InitializeOutput) []attribute.KeyValue
DynamoDBAttributeBuilder sets DynamoDB specific attributes depending on the DynamoDB operation being performed.
func OperationAttr ¶
OperationAttr returns the AWS operation attribute.
func RegionAttr ¶
RegionAttr returns the AWS region attribute.
func RequestIDAttr ¶
RequestIDAttr returns the AWS request ID attribute.
func SNSAttributeBuilder ¶ added in v0.60.0
func SNSAttributeBuilder(_ context.Context, in middleware.InitializeInput, _ middleware.InitializeOutput) []attribute.KeyValue
SNSAttributeBuilder sets SNS specific attributes depending on the SNS operation is being performed.
func SQSAttributeBuilder ¶ added in v0.60.0
func SQSAttributeBuilder(_ context.Context, in middleware.InitializeInput, _ middleware.InitializeOutput) []attribute.KeyValue
SQSAttributeBuilder sets SQS specific attributes depending on the SQS operation being performed.
func ServiceAttr ¶
ServiceAttr returns the AWS service attribute.
func SystemAttr ¶ added in v0.41.0
SystemAttr return the AWS RPC system attribute.
Types ¶
type AttributeBuilder ¶ added in v0.60.0
type AttributeBuilder func(ctx context.Context, in middleware.InitializeInput, out middleware.InitializeOutput) []attribute.KeyValue
AttributeBuilder returns an array of KeyValue pairs, it can be used to set custom attributes.
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option applies an option value.
func WithAttributeBuilder ¶ added in v0.60.0
func WithAttributeBuilder(attributeBuilders ...AttributeBuilder) Option
WithAttributeBuilder specifies an attribute setter function for setting service specific attributes. If none is specified, the service will be determined by the DefaultAttributeBuilder function and the corresponding attributes will be included.
func WithTextMapPropagator ¶ added in v0.36.4
func WithTextMapPropagator(propagator propagation.TextMapPropagator) Option
WithTextMapPropagator specifies a Text Map Propagator to use when propagating context. If none is specified, the global TextMapPropagator is used.
func WithTracerProvider ¶
func WithTracerProvider(provider trace.TracerProvider) Option
WithTracerProvider specifies a tracer provider to use for creating a tracer. If none is specified, the global TracerProvider is used.