Files
opentelemetry-python-contrib/propagator/opentelemetry-propagator-ot-trace
Tom de Bruijn 78874df5c2 Fix install of Python 3.10 on GitHub Actions (#1609)
* Fix install of Python 3.10 on GitHub Actions

In PR #1604 the Python version was upgraded to Python 3.10 to fix a
local issue on M1 MacBooks.

The GitHub Action workflows now exit with the following message for the
docker-tests, spellcheck and lint checks, skipping these checks.

```
lint create: /home/runner/work/opentelemetry-python-contrib/opentelemetry-python-contrib/.tox/lint
SKIPPED: InterpreterNotFound: python3.10
___________________________________ summary ____________________________________
SKIPPED:  lint: InterpreterNotFound: python3.10
  congratulations :)
```

Upgrade the Python version in the GitHub Actions workflow to fix this.

* Fix YAML interpretation of Python 3.10

* Upgrade Docker tests dependencies

Upgrade the asyncpg and psycopg2 packages, they don't work on Python
3.10.

This also fixes running these tests no M1 MacBooks.

* Fix linter issues merged into main

They went unnoticed while the CI didn't fail on the lint task not
working.

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-02-03 08:37:24 +05:30
..
2022-10-31 21:19:50 +00:00
2021-02-16 15:42:13 -08:00

OpenTelemetry OT Trace Propagator
=================================

|pypi|

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

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

::

    pip install opentelemetry-propagator-ot-trace

.. _OpenTelemetry: https://github.com/open-telemetry/opentelemetry-python/

OTTrace Format
--------------

So far there is no "formal" specification of the OTTrace format. The best
document that servers this purpose that exists now is this_ implementation.

.. _this: https://github.com/opentracing/basictracer-python/blob/master/basictracer/text_propagator.py

===================== ======================================================================================================================================= =====================
Header Name           Description                                                                                                                             Required
===================== ======================================================================================================================================= =====================
``ot-tracer-traceid`` uint64 encoded as a string of 16 hex characters                                                                                         yes
``ot-tracer-spanid``  uint64 encoded as a string of 16 hex characters                                                                                         yes
``ot-tracer-sampled`` boolean encoded as a string with the values ``true`` or ``false``                                                                       no
``ot-baggage-*``      repeated string to string key-value baggage items; keys are prefixed with ``ot-baggage-`` and the corresponding value is the raw string if baggage is present
===================== ======================================================================================================================================= =====================

Interop and trace ids
---------------------

The OT Trace propagation format expects trace ids to be 64-bits. In order to
interop with OpenTelemetry, trace ids need to be truncated to 64-bits before
sending them on the wire. When truncating, the least significant (right-most)
bits MUST be retained. For example, a trace id of
``3c3039f4d78d5c02ee8e3e41b17ce105`` would be truncated to
``ee8e3e41b17ce105``.

References
----------

* `OpenTelemetry Project <https://opentelemetry.io/>`_