You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The customisation of how @opentelemetry/instrumentation-aws-sdk handles specific AWS services is limited to those pre-built into the package (SNS, SQS, dynamodb). This limits end-user customisability, resulting in either a need to fork or write custom clientside code. For example if a user wants to propagate tracecontext into a SDK lambda invocation they would have to manage this themselves, and AFAICT would not be able to access the inner aws-sdk span ID anyway. The may also wish to customise how SQS/SNS/DynamoDB context is propagated, which is not supported either.
Describe the solution you'd like to see
If AwsSdkInstrumentationConfig allowed the user to provide custom service extensions these could be added into ServicesExtensions to handle services other than SQS, SNS and dynamodb, or to handle SQS, SNS and dynamodb in different ways if the user desired.
These could then be added via the ServicesExtensions constructor (to avoid changing the interface).
Describe alternatives you've considered
Fairly new to opentelemetry so if I've missed anything obvious about passing context into lambda invokes using the SDK I apologise, however the approach we've taken so far (adding to the payload in user code) leaves the aws-sdk instrumented span 'orphaned' (the lambda's span from tracecontext ends up having the active span as the active span when the payload is built.
However more than happy to implement and submit a PR if this would be welcomed.
The text was updated successfully, but these errors were encountered:
The customisation of how @opentelemetry/instrumentation-aws-sdk handles specific AWS services is limited to those pre-built into the package (SNS, SQS, dynamodb). This limits end-user customisability, resulting in either a need to fork or write custom clientside code. For example if a user wants to propagate tracecontext into a SDK lambda invocation they would have to manage this themselves, and AFAICT would not be able to access the inner aws-sdk span ID anyway. The may also wish to customise how SQS/SNS/DynamoDB context is propagated, which is not supported either.
Describe the solution you'd like to see
If
AwsSdkInstrumentationConfig
allowed the user to provide custom service extensions these could be added intoServicesExtensions
to handle services other than SQS, SNS and dynamodb, or to handle SQS, SNS and dynamodb in different ways if the user desired.e.g.
These could then be added via the
ServicesExtensions
constructor (to avoid changing the interface).Describe alternatives you've considered
Fairly new to opentelemetry so if I've missed anything obvious about passing context into lambda invokes using the SDK I apologise, however the approach we've taken so far (adding to the payload in user code) leaves the aws-sdk instrumented span 'orphaned' (the lambda's span from tracecontext ends up having the active span as the active span when the payload is built.
However more than happy to implement and submit a PR if this would be welcomed.
The text was updated successfully, but these errors were encountered: