|
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