Skip to content

odigos-io/odigos-opentelemetry-python

Repository files navigation

@odigos/opentelemetry-python

Odigos initializer of OpenTelemetry for Python

This package is utilized in the Odigos project to initialize OpenTelemetry components for automatic instrumentation of Python applications.

Note: This package is currently meant to be used in the odigos project with odigos OpAMP server. It cannot be used as a standalone package in arbitrary Python applications.

Local development of odigos-opentelemetry-python

  1. Start the Local PyPI Server: Build and run a local PyPI server with the following command:
docker build -t local-pypi-server -f debug.Dockerfile . && docker run --rm --name pypi-server -p 8080:8080 local-pypi-server
  • Note: You need to run the Docker build command each time you make changes to odigos-opentelemetry-python.
  1. Update the Development Configuration: The setup.py / requirements.txt should point to the local pypi repo to pull the python package. setup.py e.g:
install_requires = [
odigos-opentelemetry-python @ http://localhost:8080/packages/odigos_opentelemetry_python-0.1.1-py3-none-any.whl
...
]

requirements.txt e.g:

..
..
odigos-opentelemetry-python @ http://localhost:8080/packages/odigos_opentelemetry_python-0.1.1-py3-none-any.whl

Publishing a New Version to PyPI

  1. Ensure all changes are merged into the main branch.

  2. Create a tag for the new version.

git tag <TAG>
  1. Push the tag to the remote repository.
git push origin <TAG>
  1. Let the GitHub workflow handle versioning and publishing to odigos-opentelemetry-python on PyPI.

Adding a new instrumentation to overload

  1. Copy the source code of the new instrumentation to overload into the instrumentations dir.
  2. In the instrumentation's pyproject.toml file, add the odigos- prefix to the name.
  3. Update the install_requires in the setup.py to use the odigos-* for the relevant instrumentation.
  4. Push your changed and push a new tag :)

About

Odigos distribution of OpenTelemetry for Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages