|
1 | | -# Compatibility Considerations for AWS |
2 | | - |
3 | | -This document highlights compatibility considerations for OpenTelemetry |
4 | | -instrumentations when interacting with AWS managed services using an aws-sdk, |
5 | | -a third-party library, or a direct HTTP request. |
6 | | - |
7 | | -## Context Propagation |
8 | | - |
9 | | -When making calls to AWS managed services using an AWS SDK, a third-party |
10 | | -library, or a direct HTTP request, an AWS service-supported propagation format should |
11 | | -be used to add context propagation to HTTP headers on the outgoing request in order |
12 | | -to propagate the context to services indirectly invoked by such call. |
13 | | - |
14 | | -Instrumentation may allow a different propagator to be explicitly configured for |
15 | | -the instrumentation (e.g. an explicitly provided propagator, or an option to use the |
16 | | -globally configured propagator for all or certain calls). |
17 | | -This will be useful for certain cases where the services allow transporting these |
18 | | -headers to a receiving side, for example SQS or SNS with message attributes. |
19 | | -Note that this also means that instrumentations providing this option cannot just |
20 | | -replace their call to the X-Ray propagator with a call to another propagator (as |
21 | | -that would only send HTTP headers in the API REST call that would be immediately |
22 | | -ignored by the receiving AWS service), but will need to introduce per-service-call |
23 | | -implementations where it makes sense (e.g., for SQS send and SQS receive). |
24 | | -This can allow for transporting additional context that may not be supported by X-Ray, |
25 | | -such as baggage or tracestate, or supporting certain legacy propagation formats. |
26 | | -Documentation should advise that doing so is subject to attribute limits and billing impacts. |
| 1 | +<!--- Hugo front matter used to generate the website version of this page: |
| 2 | +linkTitle: Compatibility considerations for AWS |
| 3 | +redirect: /docs/specs/semconv/non-normative/compatibility/aws 301! |
| 4 | +manualLinkTarget: _blank |
| 5 | +---> |
27 | 6 |
|
28 | | -Propagation headers must be added before the signature is calculated to prevent |
29 | | -errors on signed requests. If injecting into the request itself (not just adding |
30 | | -additional HTTP headers), additional considerations may apply (for example, the |
31 | | -.NET AWS SDK calculates a hash of the attributes it sends and compares it with |
32 | | -the `MD5OfMessageAttributes` that it receives). |
33 | | - |
34 | | -The following formats are currently natively supported by AWS services for propagation: |
35 | | - |
36 | | -* [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) |
37 | | - |
38 | | -AWS service-supported context propagation is necessary to allow context propagation |
39 | | -through AWS managed services, for example: `S3 -> SNS -> SQS -> Lambda`. |
| 7 | +# Compatibility Considerations for AWS |
40 | 8 |
|
41 | | -(See the [aws-lambda sqs-event semantic convention](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/faas/aws-lambda.md#sqs-event) |
42 | | -doc for details on how this context propagation is consumed by Lambda instrumentation.) |
| 9 | +This page has moved to [semantic-conventions](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/non-normative/compatibility/aws.md). |
0 commit comments