Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/env propagator #2110

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

Div95
Copy link

@Div95 Div95 commented Sep 14, 2021

Description

Extended opentelemetry-python to develop a propagator that helps in inter-process propagation of trace/baggage details in a particular format (b3/w3c/any other) using environment dictionary as the carrier.

Using environment dictionary as the carrier will help to connect batch processes.
For example: The environment dictionary containing trace/baggage details can be passed to the next process
in the subprocess call, thereby propagating the trace/baggage details across processes.

The propagator has dependency on opentelemetry-api.

Relates to opentelemetry-specification issue #740

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

All the functions in the propagator have been tested using unittest library.

Following steps can be followed to run the tests:

  1. cd opentelemetry-python/propagator/opentelemetry-propagator-env
  2. Run the command to install the propagator in editable mode: pip install -e .[test]
    For z-shell, use the command: pip install -e ".[test]"
  3. Run the tests: python3 -m unittest
    Then you can uninstall the project by using the command: pip uninstall opentelemetry-propagator-env
    you could also run individual test files by using the command format: python3 -m unittest tests.<test_file_name>.<test_file_class>

Does This PR Require a Contrib Repo Change?

Answer the following question based on these examples of changes that would require a Contrib Repo Change:

  • The OTel specification has changed which prompted this PR to update the method interfaces of opentelemetry-api/ or opentelemetry-sdk/

  • The method interfaces of opentelemetry-instrumentation/ have changed

  • The method interfaces of test/util have changed

  • Scripts in scripts/ that were copied over to the Contrib repo have changed

  • Configuration files that were copied over to the Contrib repo have changed (when consistency between repositories is applicable) such as in

    • pyproject.toml
    • isort.cfg
    • .flake8
  • When a new .github/CODEOWNER is added

  • Major changes to project information, such as in:

    • README.md
    • CONTRIBUTING.md
  • Yes. - Link to PR:

  • No.

Checklist:

  • Followed the style guidelines of this project
  • Changelogs have been updated
  • Unit tests have been added
  • Documentation has been updated

@Div95 Div95 requested a review from a team September 14, 2021 00:57
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Sep 14, 2021

CLA Signed

The committers are authorized under a signed CLA.

@owais
Copy link
Contributor

owais commented Sep 14, 2021

Thanks @Div95. We'll have to wait till this is added to the spec.

@owais owais added the blocked by spec Needs updates to Otel spec label Sep 14, 2021
@Div95
Copy link
Author

Div95 commented Sep 14, 2021

Thanks @Div95. We'll have to wait till this is added to the spec.

Ok sure. Is it ok to leave this PR open till then?

@owais owais marked this pull request as draft September 25, 2021 00:43
@owais
Copy link
Contributor

owais commented Sep 25, 2021

@Div95 I moved this to drafts. You can re-open this when it is ready for review.

@Div95 Div95 marked this pull request as ready for review November 1, 2021 19:22
@Div95 Div95 marked this pull request as draft November 1, 2021 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked by spec Needs updates to Otel spec
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants