opentelemetry-python-contrib/propagator/opentelemetry-propagator-aw...
Leighton Chen 2a707bccce
Bump version for aws propagator and aws sdk extension for release (#2773)
2024-08-05 10:43:04 -07:00
..
benchmarks Move benchmarks outside of tests directory (#2670) 2024-07-09 17:17:00 -06:00
src/opentelemetry/propagators/aws Bump version for aws propagator and aws sdk extension for release (#2773) 2024-08-05 10:43:04 -07:00
tests Enable global propagator for AWS instrumentation (#2599) 2024-07-24 14:55:21 -06:00
LICENSE fix: revert modifications to Apache license (#2429) 2024-04-22 13:23:38 -05:00
MANIFEST.rst Move AWS X-Ray Propagator into its own package (#720) 2021-10-12 15:44:03 +00:00
README.rst Better file naming for AWS XRay Propagator + Add NathanielRN as Propagator owner (#729) 2021-10-12 19:08:16 +00:00
benchmark-requirements.txt Move benchmarks outside of tests directory (#2670) 2024-07-09 17:17:00 -06:00
pyproject.toml Enable global propagator for AWS instrumentation (#2599) 2024-07-24 14:55:21 -06:00
test-requirements.txt Bump certifi and zipp (#2689) 2024-07-10 09:24:05 -06:00

README.rst

OpenTelemetry Propagator for AWS X-Ray Service
==============================================

|pypi|

.. |pypi| image:: https://badge.fury.io/py/opentelemetry-propagator-aws-xray.svg
   :target: https://pypi.org/project/opentelemetry-propagator-aws-xray/


This library provides the propagator necessary to inject or extract a tracing
context across AWS services.

Installation
------------

::

    pip install opentelemetry-propagator-aws-xray


Usage (AWS X-Ray Propagator)
----------------------------

**NOTE**: Because the parent context extracted from the `X-Amzn-Trace-Id` header
assumes the context is _not_ sampled by default, users should make sure to add
`Sampled=1` to their `X-Amzn-Trace-Id` headers so that the child spans are
sampled.

Use the provided AWS X-Ray Propagator to inject the necessary context into
traces sent to external systems.

This can be done by either setting this environment variable:

::

    export OTEL_PROPAGATORS = xray


Or by setting this propagator in your instrumented application:

.. code-block:: python

    from opentelemetry.propagate import set_global_textmap
    from opentelemetry.propagators.aws import AwsXRayPropagator

    set_global_textmap(AwsXRayPropagator())


References
----------

* `OpenTelemetry Project <https://opentelemetry.io/>`_
* `AWS X-Ray Propagation Trace Header <https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader>`_