diff --git a/CHANGELOG.md b/CHANGELOG.md index 16139fa7a6..1e09da0110 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.7.0 + ([#3100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3100)) +- Add support to database stability opt-in in `_semconv` utilities and add tests + ([#3111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3111)) + +### Fixed + +- `opentelemetry-instrumentation-httpx` Fix `RequestInfo`/`ResponseInfo` type hints + ([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105)) + + +## Version 1.29.0/0.50b0 (2024-12-11) + +### Added + - `opentelemetry-instrumentation-starlette` Add type hints to the instrumentation ([#3045](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3045)) - `opentelemetry-distro` default to OTLP log exporter. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e90402edc2..ab22d3821f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -63,7 +63,7 @@ You can run `tox` with the following arguments: * `tox` to run all existing tox commands, including unit tests for all packages under multiple Python versions -* `tox -e docs` to regenerate the API docs +* `tox -e docs` to regenerate all docs * `tox -e py312-test-instrumentation-aiopg` to e.g. run the aiopg instrumentation unit tests under a specific Python version * `tox -e spellcheck` to run a spellcheck on all the code @@ -89,7 +89,9 @@ for more detail on available tox commands. ### Troubleshooting -> Some packages may require additional system wide dependencies to be installed. For example, you may need to install `libpq-dev` to run the postgresql client libraries instrumentation tests. or `libsnappy-dev` to run the prometheus exporter tests. If you encounter a build error, please check the installation instructions for the package you are trying to run tests for. +Some packages may require additional system-wide dependencies to be installed. For example, you may need to install `libpq-dev` to run the postgresql client libraries instrumentation tests or `libsnappy-dev` to run the prometheus exporter tests. If you encounter a build error, please check the installation instructions for the package you are trying to run tests for. + +For `docs` building, you may need to install `mysql-client` and other required dependencies as necessary. Ensure the Python version used in your local setup matches the version used in the [CI](./.github/workflows/) to maintain compatibility when building the documentation. ### Benchmarks @@ -278,6 +280,20 @@ Below is a checklist of things to be mindful of when implementing a new instrume - Testing - When adding a new instrumentation remember to update `tox.ini` adding appropriate rules in `envlist`, `command_pre` and `commands` sections +### Update supported instrumentation package versions + +- Navigate to the **instrumentation package directory:** + - Update **`pyproject.toml`** file by modifying _instruments_ entry in the `[project.optional-dependencies]` section with the new version constraint + - Update `_instruments` variable in instrumentation **`package.py`** file with the new version constraint +- At the **root of the project directory**, run `tox -e generate` to regenerate necessary files + +If you're adding support for a new version of the instrumentation package, follow these additional steps: + +- At the **instrumentation package directory:** Add new test-requirements.txt file with the respective package version required for testing +- At the **root of the project directory**: Add a new test environment entry for the package version in [tox.ini](./tox.ini) and run `tox -e generate-workflows` to regenerate new workflows accordingly. In the same [tox.ini](./tox.ini) file, search for `opentelemetry-instrumentation-{package}/test-requirements` and add a new line to point to the new test-requirements.txt you created in the previous step so tox can install the correct requirements. + +Example PRs: [#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976), [#2845](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2845) + ## Guideline for GenAI instrumentations Instrumentations that relate to [Generative AI](https://opentelemetry.io/docs/specs/semconv/gen-ai/) systems will be placed in the [instrumentation-genai](./instrumentation-genai) folder. This section covers contributions related to those instrumentations. Please note that the [guidelines for instrumentations](#guideline-for-instrumentations) and [expectations from contributors](#expectations-from-contributors) still apply. diff --git a/_template/pyproject.toml b/_template/pyproject.toml index b180d32ad8..bb60cb1578 100644 --- a/_template/pyproject.toml +++ b/_template/pyproject.toml @@ -41,6 +41,7 @@ REPLACE_ME = "opentelemetry.instrumentation." # url of the instrumentation e.g # Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-sqlalchemy" Homepage = "" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] # REPLACE ME: the path to the version file e.g diff --git a/_template/version.py b/_template/version.py index 0559ba6227..6e2923f0db 100644 --- a/_template/version.py +++ b/_template/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/dev-requirements.txt b/dev-requirements.txt index 70464ffdd7..2668677cc5 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -8,7 +8,6 @@ pytest==7.4.4 pytest-cov==4.1.0 readme-renderer==42.0 bleach==4.1.0 # transient dependency for readme-renderer -protobuf~=3.13 markupsafe>=2.0.1 codespell==2.1.0 requests==2.32.3 diff --git a/docs/nitpick-exceptions.ini b/docs/nitpick-exceptions.ini index 4b1b06f95b..e27bee26bb 100644 --- a/docs/nitpick-exceptions.ini +++ b/docs/nitpick-exceptions.ini @@ -29,6 +29,8 @@ py-class= httpx.SyncByteStream httpx.AsyncByteStream httpx.Response + httpx.URL + httpx.Headers aiohttp.web_request.Request yarl.URL cimpl.Producer diff --git a/eachdist.ini b/eachdist.ini index e27258fe65..b63fa7edbc 100644 --- a/eachdist.ini +++ b/eachdist.ini @@ -16,7 +16,7 @@ sortfirst= ext/* [stable] -version=1.29.0.dev +version=1.30.0.dev packages= opentelemetry-sdk @@ -34,7 +34,7 @@ packages= opentelemetry-api [prerelease] -version=0.50b0.dev +version=0.51b0.dev packages= all diff --git a/exporter/opentelemetry-exporter-prometheus-remote-write/pyproject.toml b/exporter/opentelemetry-exporter-prometheus-remote-write/pyproject.toml index 4218e13472..78db2c6cb5 100644 --- a/exporter/opentelemetry-exporter-prometheus-remote-write/pyproject.toml +++ b/exporter/opentelemetry-exporter-prometheus-remote-write/pyproject.toml @@ -35,6 +35,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/exporter/opentelemetry-exporter-prometheus-remote-write" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/exporter/prometheus_remote_write/version.py" diff --git a/exporter/opentelemetry-exporter-prometheus-remote-write/src/opentelemetry/exporter/prometheus_remote_write/version.py b/exporter/opentelemetry-exporter-prometheus-remote-write/src/opentelemetry/exporter/prometheus_remote_write/version.py index 0559ba6227..6e2923f0db 100644 --- a/exporter/opentelemetry-exporter-prometheus-remote-write/src/opentelemetry/exporter/prometheus_remote_write/version.py +++ b/exporter/opentelemetry-exporter-prometheus-remote-write/src/opentelemetry/exporter/prometheus_remote_write/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/exporter/opentelemetry-exporter-richconsole/pyproject.toml b/exporter/opentelemetry-exporter-richconsole/pyproject.toml index 03a38a8647..140e6c6080 100644 --- a/exporter/opentelemetry-exporter-richconsole/pyproject.toml +++ b/exporter/opentelemetry-exporter-richconsole/pyproject.toml @@ -27,12 +27,13 @@ classifiers = [ dependencies = [ "opentelemetry-api ~= 1.12", "opentelemetry-sdk ~= 1.12", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "rich>=10.0.0", ] [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/exporter/opentelemetry-exporter-richconsole" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/exporter/richconsole/version.py" diff --git a/exporter/opentelemetry-exporter-richconsole/src/opentelemetry/exporter/richconsole/version.py b/exporter/opentelemetry-exporter-richconsole/src/opentelemetry/exporter/richconsole/version.py index 0559ba6227..6e2923f0db 100644 --- a/exporter/opentelemetry-exporter-richconsole/src/opentelemetry/exporter/richconsole/version.py +++ b/exporter/opentelemetry-exporter-richconsole/src/opentelemetry/exporter/richconsole/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/manual/requirements.txt b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/manual/requirements.txt index 436f63e1d5..75b6bee8f7 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/manual/requirements.txt +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/manual/requirements.txt @@ -1,5 +1,5 @@ -openai~=1.54.4 +openai~=1.57.3 -opentelemetry-sdk~=1.28.2 -opentelemetry-exporter-otlp-proto-grpc~=1.28.2 +opentelemetry-sdk~=1.29.0 +opentelemetry-exporter-otlp-proto-grpc~=1.29.0 opentelemetry-instrumentation-openai-v2~=2.0b0 diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/zero-code/requirements.txt b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/zero-code/requirements.txt index 77ed112ebb..df462da758 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/zero-code/requirements.txt +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/examples/zero-code/requirements.txt @@ -1,6 +1,6 @@ -openai~=1.54.4 +openai~=1.57.3 -opentelemetry-sdk~=1.28.2 -opentelemetry-exporter-otlp-proto-grpc~=1.28.2 -opentelemetry-distro~=0.49b2 +opentelemetry-sdk~=1.29.0 +opentelemetry-exporter-otlp-proto-grpc~=1.29.0 +opentelemetry-distro~=0.50b0 opentelemetry-instrumentation-openai-v2~=2.0b0 diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/pyproject.toml b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/pyproject.toml index f37b6915e3..88e559a511 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/pyproject.toml +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/pyproject.toml @@ -40,6 +40,7 @@ openai = "opentelemetry.instrumentation.openai_v2:OpenAIInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation-genai/opentelemetry-instrumentation-openai-v2" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/openai_v2/version.py" diff --git a/instrumentation/README.md b/instrumentation/README.md index bff37fde6c..b12ac1aa21 100644 --- a/instrumentation/README.md +++ b/instrumentation/README.md @@ -16,7 +16,7 @@ | [opentelemetry-instrumentation-cassandra](./opentelemetry-instrumentation-cassandra) | cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | No | experimental | [opentelemetry-instrumentation-celery](./opentelemetry-instrumentation-celery) | celery >= 4.0, < 6.0 | No | experimental | [opentelemetry-instrumentation-click](./opentelemetry-instrumentation-click) | click >= 8.1.3, < 9.0.0 | No | experimental -| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.4.0 | No | experimental +| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.7.0 | No | experimental | [opentelemetry-instrumentation-dbapi](./opentelemetry-instrumentation-dbapi) | dbapi | No | experimental | [opentelemetry-instrumentation-django](./opentelemetry-instrumentation-django) | django >= 1.10 | Yes | experimental | [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 6.0 | No | experimental diff --git a/instrumentation/opentelemetry-instrumentation-aio-pika/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aio-pika/pyproject.toml index c6dff9b9bd..3e21377aff 100644 --- a/instrumentation/opentelemetry-instrumentation-aio-pika/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-aio-pika/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.5", - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -40,6 +40,7 @@ aio-pika = "opentelemetry.instrumentation.aio_pika:AioPikaInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aio-pika" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/aio_pika/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-aio-pika/src/opentelemetry/instrumentation/aio_pika/version.py b/instrumentation/opentelemetry-instrumentation-aio-pika/src/opentelemetry/instrumentation/aio_pika/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-aio-pika/src/opentelemetry/instrumentation/aio_pika/version.py +++ b/instrumentation/opentelemetry-instrumentation-aio-pika/src/opentelemetry/instrumentation/aio_pika/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-client/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aiohttp-client/pyproject.toml index f6f4263ec6..4d2d626786 100644 --- a/instrumentation/opentelemetry-instrumentation-aiohttp-client/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-aiohttp-client/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -42,6 +42,7 @@ aiohttp-client = "opentelemetry.instrumentation.aiohttp_client:AioHttpClientInst [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aiohttp-client" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/aiohttp_client/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/__init__.py b/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/__init__.py index de60fa6379..c43522efe1 100644 --- a/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/__init__.py @@ -92,13 +92,13 @@ def response_hook(span: Span, params: typing.Union[ from opentelemetry import trace from opentelemetry.instrumentation._semconv import ( _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, _set_http_method, _set_http_url, _set_status, + _StabilityMode, ) from opentelemetry.instrumentation.aiohttp_client.package import _instruments from opentelemetry.instrumentation.aiohttp_client.version import __version__ @@ -142,7 +142,7 @@ def _set_http_status_code_attribute( span, status_code, metric_attributes=None, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ): status_code_str = str(status_code) try: @@ -169,7 +169,7 @@ def create_trace_config( request_hook: _RequestHookT = None, response_hook: _ResponseHookT = None, tracer_provider: TracerProvider = None, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ) -> aiohttp.TraceConfig: """Create an aiohttp-compatible trace configuration. @@ -326,7 +326,7 @@ def _instrument( trace_configs: typing.Optional[ typing.Sequence[aiohttp.TraceConfig] ] = None, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): """Enables tracing of all ClientSessions diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/version.py b/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/version.py index 192d972f78..c683b00846 100644 --- a/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/version.py +++ b/instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests/test_aiohttp_client_integration.py b/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests/test_aiohttp_client_integration.py index 33b08fc0b6..62c837f88d 100644 --- a/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests/test_aiohttp_client_integration.py +++ b/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests/test_aiohttp_client_integration.py @@ -29,8 +29,8 @@ from opentelemetry.instrumentation import aiohttp_client from opentelemetry.instrumentation._semconv import ( OTEL_SEMCONV_STABILITY_OPT_IN, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, + _StabilityMode, ) from opentelemetry.instrumentation.aiohttp_client import ( AioHttpClientInstrumentor, @@ -150,7 +150,7 @@ def test_status_codes_new_semconv(self): path = "test-path?query=param#foobar" host, port = self._http_request( trace_config=aiohttp_client.create_trace_config( - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP + sem_conv_opt_in_mode=_StabilityMode.HTTP ), url=f"/{path}", status_code=status_code, @@ -173,7 +173,7 @@ def test_status_codes_both_semconv(self): path = "test-path?query=param#foobar" host, port = self._http_request( trace_config=aiohttp_client.create_trace_config( - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP_DUP + sem_conv_opt_in_mode=_StabilityMode.HTTP_DUP ), url=f"/{path}", status_code=status_code, @@ -213,7 +213,7 @@ def test_schema_url_new_semconv(self): with self.subTest(status_code=200): self._http_request( trace_config=aiohttp_client.create_trace_config( - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP + sem_conv_opt_in_mode=_StabilityMode.HTTP ), url="/test-path?query=param#foobar", status_code=200, @@ -230,7 +230,7 @@ def test_schema_url_both_semconv(self): with self.subTest(status_code=200): self._http_request( trace_config=aiohttp_client.create_trace_config( - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP_DUP + sem_conv_opt_in_mode=_StabilityMode.HTTP_DUP ), url="/test-path?query=param#foobar", status_code=200, @@ -398,7 +398,7 @@ async def request_handler(request): host, port = self._http_request( trace_config=aiohttp_client.create_trace_config( - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP + sem_conv_opt_in_mode=_StabilityMode.HTTP ), url="/test", request_handler=request_handler, @@ -426,7 +426,7 @@ async def request_handler(request): host, port = self._http_request( trace_config=aiohttp_client.create_trace_config( - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP_DUP + sem_conv_opt_in_mode=_StabilityMode.HTTP_DUP ), url="/test", request_handler=request_handler, @@ -546,7 +546,7 @@ async def do_request(url): def test_nonstandard_http_method_new_semconv(self): trace_configs = [ aiohttp_client.create_trace_config( - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP + sem_conv_opt_in_mode=_StabilityMode.HTTP ) ] app = HttpServerMock("nonstandard_method") diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-server/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aiohttp-server/pyproject.toml index 86df1fc38e..7b0cf4c501 100644 --- a/instrumentation/opentelemetry-instrumentation-aiohttp-server/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-aiohttp-server/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -42,6 +42,7 @@ aiohttp-server = "opentelemetry.instrumentation.aiohttp_server:AioHttpServerInst [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aiohttp-server" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/aiohttp_server/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/version.py b/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/version.py +++ b/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-aiokafka/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aiokafka/pyproject.toml index 4398f686c8..0787695f26 100644 --- a/instrumentation/opentelemetry-instrumentation-aiokafka/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-aiokafka/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.27", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -38,6 +38,7 @@ aiokafka = "opentelemetry.instrumentation.aiokafka:AIOKafkaInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aiokafka" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/aiokafka/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-aiokafka/src/opentelemetry/instrumentation/aiokafka/version.py b/instrumentation/opentelemetry-instrumentation-aiokafka/src/opentelemetry/instrumentation/aiokafka/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-aiokafka/src/opentelemetry/instrumentation/aiokafka/version.py +++ b/instrumentation/opentelemetry-instrumentation-aiokafka/src/opentelemetry/instrumentation/aiokafka/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-aiopg/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aiopg/pyproject.toml index 5236344665..4b55ea8dfe 100644 --- a/instrumentation/opentelemetry-instrumentation-aiopg/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-aiopg/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-dbapi == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-dbapi == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -41,6 +41,7 @@ aiopg = "opentelemetry.instrumentation.aiopg:AiopgInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aiopg" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/aiopg/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/version.py b/instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/version.py +++ b/instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-asgi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-asgi/pyproject.toml index eef272575a..40a9e3e49b 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-asgi/pyproject.toml @@ -27,9 +27,9 @@ classifiers = [ dependencies = [ "asgiref ~= 3.0", "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] @@ -39,6 +39,7 @@ instruments = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-asgi" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/asgi/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py index 725532bc15..b060095160 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py @@ -205,7 +205,6 @@ def client_response_hook(span: Span, scope: dict[str, Any], message: dict[str, A _filter_semconv_active_request_count_attr, _filter_semconv_duration_attrs, _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, @@ -225,6 +224,7 @@ def client_response_hook(span: Span, scope: dict[str, Any], message: dict[str, A _set_http_url, _set_http_user_agent, _set_status, + _StabilityMode, ) from opentelemetry.instrumentation.asgi.types import ( ClientRequestHook, @@ -324,7 +324,7 @@ def set(self, carrier: dict, key: str, value: str) -> None: # pylint: disable=n # pylint: disable=too-many-branches def collect_request_attributes( - scope, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + scope, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ): """Collects HTTP request attributes from the ASGI scope and returns a dictionary to be used as span creation attributes.""" @@ -356,7 +356,7 @@ def collect_request_attributes( _set_http_url( result, remove_url_credentials(http_url), - _HTTPStabilityMode.DEFAULT, + _StabilityMode.DEFAULT, ) http_method = scope.get("method", "") if http_method: @@ -439,7 +439,7 @@ def set_status_code( span, status_code, metric_attributes=None, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ): """Adds HTTP response attributes to span using the status_code argument.""" status_code_str = str(status_code) @@ -755,12 +755,12 @@ async def __call__( ) duration_s = default_timer() - start duration_attrs_old = _parse_duration_attrs( - attributes, _HTTPStabilityMode.DEFAULT + attributes, _StabilityMode.DEFAULT ) if target: duration_attrs_old[SpanAttributes.HTTP_TARGET] = target duration_attrs_new = _parse_duration_attrs( - attributes, _HTTPStabilityMode.HTTP + attributes, _StabilityMode.HTTP ) if self.duration_histogram_old: self.duration_histogram_old.record( @@ -960,7 +960,7 @@ async def otel_send(message: dict[str, Any]): def _parse_duration_attrs( - req_attrs, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + req_attrs, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ): return _filter_semconv_duration_attrs( req_attrs, @@ -971,7 +971,7 @@ def _parse_duration_attrs( def _parse_active_request_count_attrs( - req_attrs, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + req_attrs, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ): return _filter_semconv_active_request_count_attr( req_attrs, diff --git a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/version.py b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/version.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py index a9d7897ea6..6fcccf84ec 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py @@ -24,12 +24,12 @@ from opentelemetry import trace as trace_api from opentelemetry.instrumentation._semconv import ( OTEL_SEMCONV_STABILITY_OPT_IN, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _server_active_requests_count_attrs_new, _server_active_requests_count_attrs_old, _server_duration_attrs_new, _server_duration_attrs_old, + _StabilityMode, ) from opentelemetry.instrumentation.propagators import ( TraceResponsePropagator, @@ -1652,7 +1652,7 @@ def test_request_attributes_new_semconv(self): attrs = otel_asgi.collect_request_attributes( self.scope, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ) self.assertDictEqual( @@ -1677,7 +1677,7 @@ def test_request_attributes_both_semconv(self): attrs = otel_asgi.collect_request_attributes( self.scope, - _HTTPStabilityMode.HTTP_DUP, + _StabilityMode.HTTP_DUP, ) self.assertDictEqual( @@ -1715,7 +1715,7 @@ def test_query_string_new_semconv(self): self.scope["query_string"] = b"foo=bar" attrs = otel_asgi.collect_request_attributes( self.scope, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ) self.assertEqual(attrs[URL_SCHEME], "http") self.assertEqual(attrs[CLIENT_ADDRESS], "127.0.0.1") @@ -1726,7 +1726,7 @@ def test_query_string_both_semconv(self): self.scope["query_string"] = b"foo=bar" attrs = otel_asgi.collect_request_attributes( self.scope, - _HTTPStabilityMode.HTTP_DUP, + _StabilityMode.HTTP_DUP, ) self.assertEqual( attrs[SpanAttributes.HTTP_URL], "http://127.0.0.1/?foo=bar" @@ -1762,7 +1762,7 @@ def test_response_attributes_new_semconv(self): self.span, 404, None, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ) expected = (mock.call(HTTP_RESPONSE_STATUS_CODE, 404),) self.assertEqual(self.span.set_attribute.call_count, 1) @@ -1774,7 +1774,7 @@ def test_response_attributes_both_semconv(self): self.span, 404, None, - _HTTPStabilityMode.HTTP_DUP, + _StabilityMode.HTTP_DUP, ) expected = (mock.call(SpanAttributes.HTTP_STATUS_CODE, 404),) expected2 = (mock.call(HTTP_RESPONSE_STATUS_CODE, 404),) diff --git a/instrumentation/opentelemetry-instrumentation-asyncio/pyproject.toml b/instrumentation/opentelemetry-instrumentation-asyncio/pyproject.toml index b7e1287c72..279b2709b4 100644 --- a/instrumentation/opentelemetry-instrumentation-asyncio/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-asyncio/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.14", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -39,6 +39,7 @@ asyncio = "opentelemetry.instrumentation.asyncio:AsyncioInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-asyncio" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/asyncio/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/version.py b/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/version.py +++ b/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-asyncpg/pyproject.toml b/instrumentation/opentelemetry-instrumentation-asyncpg/pyproject.toml index b5ba5d6ad2..9ba7a060d5 100644 --- a/instrumentation/opentelemetry-instrumentation-asyncpg/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-asyncpg/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ asyncpg = "opentelemetry.instrumentation.asyncpg:AsyncPGInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-asyncpg" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/asyncpg/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/version.py b/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/version.py +++ b/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml index bc5c7c4426..a5f9f44f13 100644 --- a/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml @@ -25,8 +25,8 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] dependencies = [ - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "opentelemetry-propagator-aws-xray ~= 1.0", ] @@ -38,6 +38,7 @@ aws-lambda = "opentelemetry.instrumentation.aws_lambda:AwsLambdaInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aws-lambda" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/aws_lambda/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/version.py b/instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/version.py +++ b/instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-boto/pyproject.toml b/instrumentation/opentelemetry-instrumentation-boto/pyproject.toml index 68628c427a..065e8ec79d 100644 --- a/instrumentation/opentelemetry-instrumentation-boto/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-boto/pyproject.toml @@ -25,8 +25,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -39,6 +39,7 @@ boto = "opentelemetry.instrumentation.boto:BotoInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-boto" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/boto/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-boto/src/opentelemetry/instrumentation/boto/version.py b/instrumentation/opentelemetry-instrumentation-boto/src/opentelemetry/instrumentation/boto/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-boto/src/opentelemetry/instrumentation/boto/version.py +++ b/instrumentation/opentelemetry-instrumentation-boto/src/opentelemetry/instrumentation/boto/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-boto3sqs/pyproject.toml b/instrumentation/opentelemetry-instrumentation-boto3sqs/pyproject.toml index 172642033d..6f24df391b 100644 --- a/instrumentation/opentelemetry-instrumentation-boto3sqs/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-boto3sqs/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -41,6 +41,7 @@ boto3 = "opentelemetry.instrumentation.boto3sqs:Boto3SQSInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-boto3sqs" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/boto3sqs/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/version.py b/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/version.py +++ b/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-botocore/pyproject.toml b/instrumentation/opentelemetry-instrumentation-botocore/pyproject.toml index 3e4618844f..ddf246a114 100644 --- a/instrumentation/opentelemetry-instrumentation-botocore/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-botocore/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "opentelemetry-propagator-aws-xray ~= 1.0", ] @@ -41,6 +41,7 @@ botocore = "opentelemetry.instrumentation.botocore:BotocoreInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-botocore" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/botocore/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/version.py b/instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/version.py +++ b/instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-cassandra/pyproject.toml b/instrumentation/opentelemetry-instrumentation-cassandra/pyproject.toml index 98b1121db4..771199ddfa 100644 --- a/instrumentation/opentelemetry-instrumentation-cassandra/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-cassandra/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -42,6 +42,7 @@ cassandra = "opentelemetry.instrumentation.cassandra:CassandraInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-cassandra" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/cassandra/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-cassandra/src/opentelemetry/instrumentation/cassandra/version.py b/instrumentation/opentelemetry-instrumentation-cassandra/src/opentelemetry/instrumentation/cassandra/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-cassandra/src/opentelemetry/instrumentation/cassandra/version.py +++ b/instrumentation/opentelemetry-instrumentation-cassandra/src/opentelemetry/instrumentation/cassandra/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-celery/pyproject.toml b/instrumentation/opentelemetry-instrumentation-celery/pyproject.toml index 4c88789714..6f37573860 100644 --- a/instrumentation/opentelemetry-instrumentation-celery/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-celery/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ celery = "opentelemetry.instrumentation.celery:CeleryInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-celery" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/celery/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/version.py b/instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/version.py +++ b/instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-click/pyproject.toml b/instrumentation/opentelemetry-instrumentation-click/pyproject.toml index d5b8e71830..43a95f5cae 100644 --- a/instrumentation/opentelemetry-instrumentation-click/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-click/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -40,6 +40,7 @@ click = "opentelemetry.instrumentation.click:ClickInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-click" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/click/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-click/src/opentelemetry/instrumentation/click/version.py b/instrumentation/opentelemetry-instrumentation-click/src/opentelemetry/instrumentation/click/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-click/src/opentelemetry/instrumentation/click/version.py +++ b/instrumentation/opentelemetry-instrumentation-click/src/opentelemetry/instrumentation/click/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml b/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml index 5c9436513f..2694dcedc7 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml @@ -25,14 +25,14 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] dependencies = [ - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", "opentelemetry-api ~= 1.12", "wrapt >= 1.0.0, < 2.0.0", ] [project.optional-dependencies] instruments = [ - "confluent-kafka >= 1.8.2, <= 2.4.0", + "confluent-kafka >= 1.8.2, <= 2.7.0", ] [project.entry-points.opentelemetry_instrumentor] @@ -40,6 +40,7 @@ confluent_kafka = "opentelemetry.instrumentation.confluent_kafka:ConfluentKafkaI [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-confluent-kafka" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/confluent_kafka/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py index 6ebddd30ac..7b5c10ba14 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py @@ -13,4 +13,4 @@ # limitations under the License. -_instruments = ("confluent-kafka >= 1.8.2, <= 2.4.0",) +_instruments = ("confluent-kafka >= 1.8.2, <= 2.7.0",) diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/version.py b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/version.py +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt index 88b5bbe680..be0142a36b 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt @@ -1,5 +1,5 @@ asgiref==3.8.1 -confluent-kafka==2.4.0 +confluent-kafka==2.6.1 Deprecated==1.2.14 iniconfig==2.0.0 packaging==24.0 diff --git a/instrumentation/opentelemetry-instrumentation-dbapi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-dbapi/pyproject.toml index da1b043672..8b4e96ba32 100644 --- a/instrumentation/opentelemetry-instrumentation-dbapi/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-dbapi/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -36,6 +36,7 @@ instruments = [] [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-dbapi" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/dbapi/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/version.py b/instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/version.py index d7d982fafc..c3c9026f93 100644 --- a/instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/version.py +++ b/instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/version.py @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" _instruments = tuple() diff --git a/instrumentation/opentelemetry-instrumentation-django/pyproject.toml b/instrumentation/opentelemetry-instrumentation-django/pyproject.toml index 6b0204ef81..27b5865033 100644 --- a/instrumentation/opentelemetry-instrumentation-django/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-django/pyproject.toml @@ -26,15 +26,15 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-wsgi == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-wsgi == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] asgi = [ - "opentelemetry-instrumentation-asgi == 0.50b0.dev", + "opentelemetry-instrumentation-asgi == 0.51b0.dev", ] instruments = [ "django >= 1.10", @@ -45,6 +45,7 @@ django = "opentelemetry.instrumentation.django:DjangoInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-django" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/django/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_middleware.py b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_middleware.py index da807cc310..f607046959 100644 --- a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_middleware.py +++ b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_middleware.py @@ -25,13 +25,13 @@ from opentelemetry.instrumentation._semconv import ( _filter_semconv_active_request_count_attr, _filter_semconv_duration_attrs, - _HTTPStabilityMode, _report_new, _report_old, _server_active_requests_count_attrs_new, _server_active_requests_count_attrs_old, _server_duration_attrs_new, _server_duration_attrs_old, + _StabilityMode, ) from opentelemetry.instrumentation.propagators import ( get_global_response_propagator, @@ -158,7 +158,7 @@ class _DjangoMiddleware(MiddlewareMixin): _duration_histogram_old = None _duration_histogram_new = None _active_request_counter = None - _sem_conv_opt_in_mode = _HTTPStabilityMode.DEFAULT + _sem_conv_opt_in_mode = _StabilityMode.DEFAULT _otel_request_hook: Callable[[Span, HttpRequest], None] = None _otel_response_hook: Callable[[Span, HttpRequest, HttpResponse], None] = ( @@ -430,7 +430,7 @@ def process_response(self, request, response): duration_s = default_timer() - request_start_time if self._duration_histogram_old: duration_attrs_old = _parse_duration_attrs( - duration_attrs, _HTTPStabilityMode.DEFAULT + duration_attrs, _StabilityMode.DEFAULT ) # http.target to be included in old semantic conventions target = duration_attrs.get(SpanAttributes.HTTP_TARGET) @@ -441,7 +441,7 @@ def process_response(self, request, response): ) if self._duration_histogram_new: duration_attrs_new = _parse_duration_attrs( - duration_attrs, _HTTPStabilityMode.HTTP + duration_attrs, _StabilityMode.HTTP ) self._duration_histogram_new.record( max(duration_s, 0), duration_attrs_new @@ -455,7 +455,7 @@ def process_response(self, request, response): def _parse_duration_attrs( - req_attrs, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + req_attrs, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ): return _filter_semconv_duration_attrs( req_attrs, @@ -466,7 +466,7 @@ def _parse_duration_attrs( def _parse_active_request_count_attrs( - req_attrs, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + req_attrs, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ): return _filter_semconv_active_request_count_attr( req_attrs, diff --git a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/version.py b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/version.py +++ b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/pyproject.toml b/instrumentation/opentelemetry-instrumentation-elasticsearch/pyproject.toml index 32dcb1ad7e..7a8899bd14 100644 --- a/instrumentation/opentelemetry-instrumentation-elasticsearch/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-elasticsearch/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -41,6 +41,7 @@ elasticsearch = "opentelemetry.instrumentation.elasticsearch:ElasticsearchInstru [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-elasticsearch" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/elasticsearch/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/version.py b/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/version.py +++ b/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-falcon/pyproject.toml b/instrumentation/opentelemetry-instrumentation-falcon/pyproject.toml index dd30ee6ba2..883c76a9fd 100644 --- a/instrumentation/opentelemetry-instrumentation-falcon/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-falcon/pyproject.toml @@ -26,10 +26,10 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-wsgi == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-wsgi == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", "packaging >= 20.0", ] @@ -43,6 +43,7 @@ falcon = "opentelemetry.instrumentation.falcon:FalconInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-falcon" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/falcon/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/version.py b/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/version.py +++ b/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-fastapi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-fastapi/pyproject.toml index 9f64ab1ca4..34e3450540 100644 --- a/instrumentation/opentelemetry-instrumentation-fastapi/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-fastapi/pyproject.toml @@ -26,10 +26,10 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-asgi == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-asgi == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] @@ -42,6 +42,7 @@ fastapi = "opentelemetry.instrumentation.fastapi:FastAPIInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-fastapi" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/fastapi/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/__init__.py b/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/__init__.py index 7e4d0aac07..a19480b234 100644 --- a/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/__init__.py @@ -186,9 +186,9 @@ def client_response_hook(span: Span, scope: dict[str, Any], message: dict[str, A from opentelemetry.instrumentation._semconv import ( _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, + _StabilityMode, ) from opentelemetry.instrumentation.asgi import OpenTelemetryMiddleware from opentelemetry.instrumentation.asgi.types import ( @@ -362,7 +362,7 @@ class _InstrumentedFastAPI(fastapi.FastAPI): _client_request_hook: ClientRequestHook = None _client_response_hook: ClientResponseHook = None _instrumented_fastapi_apps = set() - _sem_conv_opt_in_mode = _HTTPStabilityMode.DEFAULT + _sem_conv_opt_in_mode = _StabilityMode.DEFAULT def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/version.py b/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/version.py +++ b/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-flask/pyproject.toml b/instrumentation/opentelemetry-instrumentation-flask/pyproject.toml index d5a27c78e7..c0945a8935 100644 --- a/instrumentation/opentelemetry-instrumentation-flask/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-flask/pyproject.toml @@ -26,10 +26,10 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-wsgi == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-wsgi == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", "packaging >= 21.0", ] @@ -43,6 +43,7 @@ flask = "opentelemetry.instrumentation.flask:FlaskInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-flask" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/flask/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py b/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py index f80c0de808..9691f884ab 100644 --- a/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py @@ -252,11 +252,11 @@ def response_hook(span: Span, status: str, response_headers: List): from opentelemetry import context, trace from opentelemetry.instrumentation._semconv import ( _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, _report_old, + _StabilityMode, ) from opentelemetry.instrumentation.flask.package import _instruments from opentelemetry.instrumentation.flask.version import __version__ @@ -321,7 +321,7 @@ def _rewrapped_app( duration_histogram_old=None, response_hook=None, excluded_urls=None, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, duration_histogram_new=None, ): def _wrapped_app(wrapped_app_environ, start_response): @@ -392,7 +392,7 @@ def _start_response(status, response_headers, *args, **kwargs): duration_s = default_timer() - start if duration_histogram_old: duration_attrs_old = otel_wsgi._parse_duration_attrs( - attributes, _HTTPStabilityMode.DEFAULT + attributes, _StabilityMode.DEFAULT ) if request_route: @@ -406,7 +406,7 @@ def _start_response(status, response_headers, *args, **kwargs): ) if duration_histogram_new: duration_attrs_new = otel_wsgi._parse_duration_attrs( - attributes, _HTTPStabilityMode.HTTP + attributes, _StabilityMode.HTTP ) if request_route: @@ -427,7 +427,7 @@ def _wrapped_before_request( excluded_urls=None, enable_commenter=True, commenter_options=None, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ): def _before_request(): if excluded_urls and excluded_urls.url_disabled(flask.request.url): @@ -548,7 +548,7 @@ class _InstrumentedFlask(flask.Flask): _enable_commenter = True _commenter_options = None _meter_provider = None - _sem_conv_opt_in_mode = _HTTPStabilityMode.DEFAULT + _sem_conv_opt_in_mode = _StabilityMode.DEFAULT def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/version.py b/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/version.py +++ b/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-grpc/pyproject.toml b/instrumentation/opentelemetry-instrumentation-grpc/pyproject.toml index 18cb2d3f0e..c1239d7ebd 100644 --- a/instrumentation/opentelemetry-instrumentation-grpc/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-grpc/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -44,6 +44,7 @@ grpc_aio_server = "opentelemetry.instrumentation.grpc:GrpcAioInstrumentorServer" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-grpc" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/grpc/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/version.py b/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/version.py +++ b/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-httpx/pyproject.toml b/instrumentation/opentelemetry-instrumentation-httpx/pyproject.toml index e4479223a4..1138704387 100644 --- a/instrumentation/opentelemetry-instrumentation-httpx/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-httpx/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -42,6 +42,7 @@ httpx = "opentelemetry.instrumentation.httpx:HTTPXClientInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-httpx" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/httpx/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py b/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py index 195c784408..27bb3d639d 100644 --- a/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py @@ -192,6 +192,8 @@ async def async_response_hook(span, request, response): --- """ +from __future__ import annotations + import logging import typing from asyncio import iscoroutinefunction @@ -203,7 +205,6 @@ async def async_response_hook(span, request, response): from opentelemetry.instrumentation._semconv import ( _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, @@ -213,6 +214,7 @@ async def async_response_hook(span, request, response): _set_http_peer_port_client, _set_http_status_code, _set_http_url, + _StabilityMode, ) from opentelemetry.instrumentation.httpx.package import _instruments from opentelemetry.instrumentation.httpx.version import __version__ @@ -249,8 +251,8 @@ async def async_response_hook(span, request, response): class RequestInfo(typing.NamedTuple): method: bytes - url: URL - headers: typing.Optional[Headers] + url: httpx.URL + headers: httpx.Headers | None stream: typing.Optional[ typing.Union[httpx.SyncByteStream, httpx.AsyncByteStream] ] @@ -259,7 +261,7 @@ class RequestInfo(typing.NamedTuple): class ResponseInfo(typing.NamedTuple): status_code: int - headers: typing.Optional[Headers] + headers: httpx.Headers | None stream: typing.Iterable[bytes] extensions: typing.Optional[dict] @@ -332,7 +334,7 @@ def _apply_request_client_attributes_to_span( span_attributes: dict, url: typing.Union[str, URL, httpx.URL], method_original: str, - semconv: _HTTPStabilityMode, + semconv: _StabilityMode, ): url = httpx.URL(url) # http semconv transition: http.method -> http.request.method @@ -361,7 +363,7 @@ def _apply_response_client_attributes_to_span( span: Span, status_code: int, http_version: str, - semconv: _HTTPStabilityMode, + semconv: _StabilityMode, ): # http semconv transition: http.status_code -> http.response.status_code # TODO: use _set_status when it's stable for http clients diff --git a/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/version.py b/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/version.py +++ b/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-jinja2/pyproject.toml b/instrumentation/opentelemetry-instrumentation-jinja2/pyproject.toml index 57f689a961..9c853efd52 100644 --- a/instrumentation/opentelemetry-instrumentation-jinja2/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-jinja2/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -40,6 +40,7 @@ jinja2 = "opentelemetry.instrumentation.jinja2:Jinja2Instrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-jinja2" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/jinja2/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-jinja2/src/opentelemetry/instrumentation/jinja2/version.py b/instrumentation/opentelemetry-instrumentation-jinja2/src/opentelemetry/instrumentation/jinja2/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-jinja2/src/opentelemetry/instrumentation/jinja2/version.py +++ b/instrumentation/opentelemetry-instrumentation-jinja2/src/opentelemetry/instrumentation/jinja2/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-kafka-python/pyproject.toml b/instrumentation/opentelemetry-instrumentation-kafka-python/pyproject.toml index d5dc500101..a6868816c0 100644 --- a/instrumentation/opentelemetry-instrumentation-kafka-python/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-kafka-python/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.5", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -41,6 +41,7 @@ kafka = "opentelemetry.instrumentation.kafka:KafkaInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-kafka-python" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/kafka/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/version.py b/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/version.py +++ b/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-logging/pyproject.toml b/instrumentation/opentelemetry-instrumentation-logging/pyproject.toml index 2bb377f5ef..ef1442b574 100644 --- a/instrumentation/opentelemetry-instrumentation-logging/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-logging/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", ] [project.optional-dependencies] @@ -37,6 +37,7 @@ logging = "opentelemetry.instrumentation.logging:LoggingInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-logging" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/logging/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-logging/src/opentelemetry/instrumentation/logging/version.py b/instrumentation/opentelemetry-instrumentation-logging/src/opentelemetry/instrumentation/logging/version.py index d7d982fafc..c3c9026f93 100644 --- a/instrumentation/opentelemetry-instrumentation-logging/src/opentelemetry/instrumentation/logging/version.py +++ b/instrumentation/opentelemetry-instrumentation-logging/src/opentelemetry/instrumentation/logging/version.py @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" _instruments = tuple() diff --git a/instrumentation/opentelemetry-instrumentation-mysql/pyproject.toml b/instrumentation/opentelemetry-instrumentation-mysql/pyproject.toml index 41273b0e22..6e74ba69b6 100644 --- a/instrumentation/opentelemetry-instrumentation-mysql/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-mysql/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-dbapi == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-dbapi == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ mysql = "opentelemetry.instrumentation.mysql:MySQLInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-mysql" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/mysql/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-mysql/src/opentelemetry/instrumentation/mysql/version.py b/instrumentation/opentelemetry-instrumentation-mysql/src/opentelemetry/instrumentation/mysql/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-mysql/src/opentelemetry/instrumentation/mysql/version.py +++ b/instrumentation/opentelemetry-instrumentation-mysql/src/opentelemetry/instrumentation/mysql/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-mysqlclient/pyproject.toml b/instrumentation/opentelemetry-instrumentation-mysqlclient/pyproject.toml index 4edcbb08b1..2b827f8667 100644 --- a/instrumentation/opentelemetry-instrumentation-mysqlclient/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-mysqlclient/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-dbapi == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-dbapi == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ mysqlclient = "opentelemetry.instrumentation.mysqlclient:MySQLClientInstrumentor [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-mysqlclient" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/mysqlclient/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-mysqlclient/src/opentelemetry/instrumentation/mysqlclient/version.py b/instrumentation/opentelemetry-instrumentation-mysqlclient/src/opentelemetry/instrumentation/mysqlclient/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-mysqlclient/src/opentelemetry/instrumentation/mysqlclient/version.py +++ b/instrumentation/opentelemetry-instrumentation-mysqlclient/src/opentelemetry/instrumentation/mysqlclient/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-pika/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pika/pyproject.toml index 4c32c12e82..655cb5a7ee 100644 --- a/instrumentation/opentelemetry-instrumentation-pika/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-pika/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] dependencies = [ - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", "opentelemetry-api ~= 1.5", "packaging >= 20.0", "wrapt >= 1.0.0, < 2.0.0", @@ -41,6 +41,7 @@ pika = "opentelemetry.instrumentation.pika:PikaInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-pika" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/pika/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/version.py b/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/version.py +++ b/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-psycopg/pyproject.toml b/instrumentation/opentelemetry-instrumentation-psycopg/pyproject.toml index 22af126330..e2cf929371 100644 --- a/instrumentation/opentelemetry-instrumentation-psycopg/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-psycopg/pyproject.toml @@ -27,8 +27,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-dbapi == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-dbapi == 0.51b0.dev", ] [project.optional-dependencies] @@ -41,6 +41,7 @@ psycopg = "opentelemetry.instrumentation.psycopg:PsycopgInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-psycopg" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/psycopg/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-psycopg/src/opentelemetry/instrumentation/psycopg/version.py b/instrumentation/opentelemetry-instrumentation-psycopg/src/opentelemetry/instrumentation/psycopg/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-psycopg/src/opentelemetry/instrumentation/psycopg/version.py +++ b/instrumentation/opentelemetry-instrumentation-psycopg/src/opentelemetry/instrumentation/psycopg/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/pyproject.toml b/instrumentation/opentelemetry-instrumentation-psycopg2/pyproject.toml index daf8c8efd4..d73fbc020a 100644 --- a/instrumentation/opentelemetry-instrumentation-psycopg2/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-psycopg2/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-dbapi == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-dbapi == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ psycopg2 = "opentelemetry.instrumentation.psycopg2:Psycopg2Instrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-psycopg2" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/psycopg2/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/version.py b/instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/version.py +++ b/instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pymemcache/pyproject.toml index 0e1fa1a47f..6da560c333 100644 --- a/instrumentation/opentelemetry-instrumentation-pymemcache/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-pymemcache/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -41,6 +41,7 @@ pymemcache = "opentelemetry.instrumentation.pymemcache:PymemcacheInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-pymemcache" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/pymemcache/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/src/opentelemetry/instrumentation/pymemcache/version.py b/instrumentation/opentelemetry-instrumentation-pymemcache/src/opentelemetry/instrumentation/pymemcache/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-pymemcache/src/opentelemetry/instrumentation/pymemcache/version.py +++ b/instrumentation/opentelemetry-instrumentation-pymemcache/src/opentelemetry/instrumentation/pymemcache/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-pymongo/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pymongo/pyproject.toml index c9204d71b9..55926c5591 100644 --- a/instrumentation/opentelemetry-instrumentation-pymongo/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-pymongo/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ pymongo = "opentelemetry.instrumentation.pymongo:PymongoInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-pymongo" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/pymongo/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo/version.py b/instrumentation/opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo/version.py +++ b/instrumentation/opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-pymysql/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pymysql/pyproject.toml index fe68be60ab..a806ff9ce4 100644 --- a/instrumentation/opentelemetry-instrumentation-pymysql/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-pymysql/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-dbapi == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-dbapi == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ pymysql = "opentelemetry.instrumentation.pymysql:PyMySQLInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-pymysql" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/pymysql/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-pymysql/src/opentelemetry/instrumentation/pymysql/version.py b/instrumentation/opentelemetry-instrumentation-pymysql/src/opentelemetry/instrumentation/pymysql/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-pymysql/src/opentelemetry/instrumentation/pymysql/version.py +++ b/instrumentation/opentelemetry-instrumentation-pymysql/src/opentelemetry/instrumentation/pymysql/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-pyramid/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pyramid/pyproject.toml index 585a52c879..c72a22a53e 100644 --- a/instrumentation/opentelemetry-instrumentation-pyramid/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-pyramid/pyproject.toml @@ -26,10 +26,10 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-wsgi == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-wsgi == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -43,6 +43,7 @@ pyramid = "opentelemetry.instrumentation.pyramid:PyramidInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-pyramid" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/pyramid/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/version.py b/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/version.py +++ b/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-redis/pyproject.toml b/instrumentation/opentelemetry-instrumentation-redis/pyproject.toml index c46d97aa9a..4ffaeef263 100644 --- a/instrumentation/opentelemetry-instrumentation-redis/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-redis/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.12.1", ] @@ -41,6 +41,7 @@ redis = "opentelemetry.instrumentation.redis:RedisInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-redis" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/redis/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/__init__.py b/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/__init__.py index e81beb6f3d..8a3096ad41 100644 --- a/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/__init__.py @@ -91,8 +91,9 @@ def response_hook(span, instance, response): --- """ -import typing -from typing import Any, Collection +from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Callable, Collection import redis from wrapt import wrap_function_wrapper @@ -109,18 +110,43 @@ def response_hook(span, instance, response): from opentelemetry.instrumentation.redis.version import __version__ from opentelemetry.instrumentation.utils import unwrap from opentelemetry.semconv.trace import SpanAttributes -from opentelemetry.trace import Span, StatusCode +from opentelemetry.trace import Span, StatusCode, Tracer -_DEFAULT_SERVICE = "redis" +if TYPE_CHECKING: + from typing import Awaitable, TypeVar -_RequestHookT = typing.Optional[ - typing.Callable[ - [Span, redis.connection.Connection, typing.List, typing.Dict], None + import redis.asyncio.client + import redis.asyncio.cluster + import redis.client + import redis.cluster + import redis.connection + + _RequestHookT = Callable[ + [Span, redis.connection.Connection, list[Any], dict[str, Any]], None ] -] -_ResponseHookT = typing.Optional[ - typing.Callable[[Span, redis.connection.Connection, Any], None] -] + _ResponseHookT = Callable[[Span, redis.connection.Connection, Any], None] + + AsyncPipelineInstance = TypeVar( + "AsyncPipelineInstance", + redis.asyncio.client.Pipeline, + redis.asyncio.cluster.ClusterPipeline, + ) + AsyncRedisInstance = TypeVar( + "AsyncRedisInstance", redis.asyncio.Redis, redis.asyncio.RedisCluster + ) + PipelineInstance = TypeVar( + "PipelineInstance", + redis.client.Pipeline, + redis.cluster.ClusterPipeline, + ) + RedisInstance = TypeVar( + "RedisInstance", redis.client.Redis, redis.cluster.RedisCluster + ) + R = TypeVar("R") + + +_DEFAULT_SERVICE = "redis" + _REDIS_ASYNCIO_VERSION = (4, 2, 0) if redis.VERSION >= _REDIS_ASYNCIO_VERSION: @@ -132,7 +158,9 @@ def response_hook(span, instance, response): _FIELD_TYPES = ["NUMERIC", "TEXT", "GEO", "TAG", "VECTOR"] -def _set_connection_attributes(span, conn): +def _set_connection_attributes( + span: Span, conn: RedisInstance | AsyncRedisInstance +) -> None: if not span.is_recording() or not hasattr(conn, "connection_pool"): return for key, value in _extract_conn_attributes( @@ -141,7 +169,9 @@ def _set_connection_attributes(span, conn): span.set_attribute(key, value) -def _build_span_name(instance, cmd_args): +def _build_span_name( + instance: RedisInstance | AsyncRedisInstance, cmd_args: tuple[Any, ...] +) -> str: if len(cmd_args) > 0 and cmd_args[0]: if cmd_args[0] == "FT.SEARCH": name = "redis.search" @@ -154,7 +184,9 @@ def _build_span_name(instance, cmd_args): return name -def _build_span_meta_data_for_pipeline(instance): +def _build_span_meta_data_for_pipeline( + instance: PipelineInstance | AsyncPipelineInstance, +) -> tuple[list[Any], str, str]: try: command_stack = ( instance.command_stack @@ -184,11 +216,16 @@ def _build_span_meta_data_for_pipeline(instance): # pylint: disable=R0915 def _instrument( - tracer, - request_hook: _RequestHookT = None, - response_hook: _ResponseHookT = None, + tracer: Tracer, + request_hook: _RequestHookT | None = None, + response_hook: _ResponseHookT | None = None, ): - def _traced_execute_command(func, instance, args, kwargs): + def _traced_execute_command( + func: Callable[..., R], + instance: RedisInstance, + args: tuple[Any, ...], + kwargs: dict[str, Any], + ) -> R: query = _format_command_args(args) name = _build_span_name(instance, args) with tracer.start_as_current_span( @@ -210,7 +247,12 @@ def _traced_execute_command(func, instance, args, kwargs): response_hook(span, instance, response) return response - def _traced_execute_pipeline(func, instance, args, kwargs): + def _traced_execute_pipeline( + func: Callable[..., R], + instance: PipelineInstance, + args: tuple[Any, ...], + kwargs: dict[str, Any], + ) -> R: ( command_stack, resource, @@ -242,7 +284,7 @@ def _traced_execute_pipeline(func, instance, args, kwargs): return response - def _add_create_attributes(span, args): + def _add_create_attributes(span: Span, args: tuple[Any, ...]): _set_span_attribute_if_value( span, "redis.create_index.index", _value_or_none(args, 1) ) @@ -266,7 +308,7 @@ def _add_create_attributes(span, args): field_attribute, ) - def _add_search_attributes(span, response, args): + def _add_search_attributes(span: Span, response, args): _set_span_attribute_if_value( span, "redis.search.index", _value_or_none(args, 1) ) @@ -326,7 +368,12 @@ def _add_search_attributes(span, response, args): _traced_execute_pipeline, ) - async def _async_traced_execute_command(func, instance, args, kwargs): + async def _async_traced_execute_command( + func: Callable[..., Awaitable[R]], + instance: AsyncRedisInstance, + args: tuple[Any, ...], + kwargs: dict[str, Any], + ) -> Awaitable[R]: query = _format_command_args(args) name = _build_span_name(instance, args) @@ -344,7 +391,12 @@ async def _async_traced_execute_command(func, instance, args, kwargs): response_hook(span, instance, response) return response - async def _async_traced_execute_pipeline(func, instance, args, kwargs): + async def _async_traced_execute_pipeline( + func: Callable[..., Awaitable[R]], + instance: AsyncPipelineInstance, + args: tuple[Any, ...], + kwargs: dict[str, Any], + ) -> Awaitable[R]: ( command_stack, resource, @@ -408,14 +460,15 @@ async def _async_traced_execute_pipeline(func, instance, args, kwargs): class RedisInstrumentor(BaseInstrumentor): - """An instrumentor for Redis + """An instrumentor for Redis. + See `BaseInstrumentor` """ def instrumentation_dependencies(self) -> Collection[str]: return _instruments - def _instrument(self, **kwargs): + def _instrument(self, **kwargs: Any): """Instruments the redis module Args: @@ -436,7 +489,7 @@ def _instrument(self, **kwargs): response_hook=kwargs.get("response_hook"), ) - def _uninstrument(self, **kwargs): + def _uninstrument(self, **kwargs: Any): if redis.VERSION < (3, 0, 0): unwrap(redis.StrictRedis, "execute_command") unwrap(redis.StrictRedis, "pipeline") diff --git a/instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/py.typed b/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/py.typed similarity index 100% rename from instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/py.typed rename to instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/py.typed diff --git a/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/version.py b/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/version.py +++ b/instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-remoulade/pyproject.toml b/instrumentation/opentelemetry-instrumentation-remoulade/pyproject.toml index b7ff83f4db..76ad80c786 100644 --- a/instrumentation/opentelemetry-instrumentation-remoulade/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-remoulade/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ remoulade = "opentelemetry.instrumentation.remoulade:RemouladeInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-remoulade" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/remoulade/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/version.py b/instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/version.py +++ b/instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml b/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml index 7dab991cbc..e4c5e63742 100644 --- a/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] @@ -41,6 +41,7 @@ requests = "opentelemetry.instrumentation.requests:RequestsInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-requests" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/requests/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/__init__.py b/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/__init__.py index db67d378d9..d1afa834d6 100644 --- a/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/__init__.py @@ -87,7 +87,6 @@ def response_hook(span, request_obj, response) _client_duration_attrs_old, _filter_semconv_duration_attrs, _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, @@ -100,6 +99,7 @@ def response_hook(span, request_obj, response) _set_http_scheme, _set_http_status_code, _set_http_url, + _StabilityMode, ) from opentelemetry.instrumentation.instrumentor import BaseInstrumentor from opentelemetry.instrumentation.requests.package import _instruments @@ -147,7 +147,7 @@ def _instrument( request_hook: _RequestHookT = None, response_hook: _ResponseHookT = None, excluded_urls: ExcludeList = None, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): """Enables tracing of all requests calls that go through :code:`requests.session.Session.request` (this includes @@ -312,7 +312,7 @@ def get_or_create_headers(): metric_labels, _client_duration_attrs_old, _client_duration_attrs_new, - _HTTPStabilityMode.DEFAULT, + _StabilityMode.DEFAULT, ) duration_histogram_old.record( max(round(elapsed_time * 1000), 0), @@ -323,7 +323,7 @@ def get_or_create_headers(): metric_labels, _client_duration_attrs_old, _client_duration_attrs_new, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ) duration_histogram_new.record( elapsed_time, attributes=duration_attrs_new diff --git a/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/version.py b/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/version.py +++ b/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-sqlalchemy/pyproject.toml b/instrumentation/opentelemetry-instrumentation-sqlalchemy/pyproject.toml index d6d8c7aff9..1c758e19e8 100644 --- a/instrumentation/opentelemetry-instrumentation-sqlalchemy/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-sqlalchemy/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "packaging >= 21.0", "wrapt >= 1.11.2", ] @@ -42,6 +42,7 @@ sqlalchemy = "opentelemetry.instrumentation.sqlalchemy:SQLAlchemyInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-sqlalchemy" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/sqlalchemy/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/version.py b/instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/version.py +++ b/instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-sqlite3/pyproject.toml b/instrumentation/opentelemetry-instrumentation-sqlite3/pyproject.toml index d089fc27e9..d10a280c47 100644 --- a/instrumentation/opentelemetry-instrumentation-sqlite3/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-sqlite3/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-dbapi == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-dbapi == 0.51b0.dev", ] [project.optional-dependencies] @@ -38,6 +38,7 @@ sqlite3 = "opentelemetry.instrumentation.sqlite3:SQLite3Instrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-sqlite3" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/sqlite3/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-sqlite3/src/opentelemetry/instrumentation/sqlite3/version.py b/instrumentation/opentelemetry-instrumentation-sqlite3/src/opentelemetry/instrumentation/sqlite3/version.py index d7d982fafc..c3c9026f93 100644 --- a/instrumentation/opentelemetry-instrumentation-sqlite3/src/opentelemetry/instrumentation/sqlite3/version.py +++ b/instrumentation/opentelemetry-instrumentation-sqlite3/src/opentelemetry/instrumentation/sqlite3/version.py @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" _instruments = tuple() diff --git a/instrumentation/opentelemetry-instrumentation-starlette/pyproject.toml b/instrumentation/opentelemetry-instrumentation-starlette/pyproject.toml index 13c4cc0fc2..6a0a011245 100644 --- a/instrumentation/opentelemetry-instrumentation-starlette/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-starlette/pyproject.toml @@ -26,10 +26,10 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-instrumentation-asgi == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-instrumentation-asgi == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] @@ -42,6 +42,7 @@ starlette = "opentelemetry.instrumentation.starlette:StarletteInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-starlette" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/starlette/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/py.typed b/instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/py.typed new file mode 100644 index 0000000000..e69de29bb2 diff --git a/instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/version.py b/instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/version.py +++ b/instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-system-metrics/pyproject.toml b/instrumentation/opentelemetry-instrumentation-system-metrics/pyproject.toml index 3808b4ec0f..867c21a8d4 100644 --- a/instrumentation/opentelemetry-instrumentation-system-metrics/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-system-metrics/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] dependencies = [ - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", "opentelemetry-api ~= 1.11", "psutil >= 5.9.0, < 7", ] @@ -40,6 +40,7 @@ system_metrics = "opentelemetry.instrumentation.system_metrics:SystemMetricsInst [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-system-metrics" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/system_metrics/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/version.py b/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/version.py +++ b/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-threading/pyproject.toml b/instrumentation/opentelemetry-instrumentation-threading/pyproject.toml index 7f18ae7b40..59aeb4e6b4 100644 --- a/instrumentation/opentelemetry-instrumentation-threading/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-threading/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -38,6 +38,7 @@ threading = "opentelemetry.instrumentation.threading:ThreadingInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-threading" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/threading/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-threading/src/opentelemetry/instrumentation/threading/version.py b/instrumentation/opentelemetry-instrumentation-threading/src/opentelemetry/instrumentation/threading/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-threading/src/opentelemetry/instrumentation/threading/version.py +++ b/instrumentation/opentelemetry-instrumentation-threading/src/opentelemetry/instrumentation/threading/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-tornado/pyproject.toml b/instrumentation/opentelemetry-instrumentation-tornado/pyproject.toml index eaeb69324f..b20805fa3c 100644 --- a/instrumentation/opentelemetry-instrumentation-tornado/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-tornado/pyproject.toml @@ -25,9 +25,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] @@ -40,6 +40,7 @@ tornado = "opentelemetry.instrumentation.tornado:TornadoInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-tornado" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/tornado/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/version.py b/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/version.py +++ b/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-tortoiseorm/pyproject.toml b/instrumentation/opentelemetry-instrumentation-tortoiseorm/pyproject.toml index f53e19018c..71dfe82508 100644 --- a/instrumentation/opentelemetry-instrumentation-tortoiseorm/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-tortoiseorm/pyproject.toml @@ -26,8 +26,8 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", ] [project.optional-dependencies] @@ -41,6 +41,7 @@ tortoiseorm = "opentelemetry.instrumentation.tortoiseorm:TortoiseORMInstrumentor [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-tortoiseorm" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/tortoiseorm/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-tortoiseorm/src/opentelemetry/instrumentation/tortoiseorm/version.py b/instrumentation/opentelemetry-instrumentation-tortoiseorm/src/opentelemetry/instrumentation/tortoiseorm/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-tortoiseorm/src/opentelemetry/instrumentation/tortoiseorm/version.py +++ b/instrumentation/opentelemetry-instrumentation-tortoiseorm/src/opentelemetry/instrumentation/tortoiseorm/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-urllib/pyproject.toml b/instrumentation/opentelemetry-instrumentation-urllib/pyproject.toml index d7a98924aa..62e272a4d1 100644 --- a/instrumentation/opentelemetry-instrumentation-urllib/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-urllib/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] @@ -39,6 +39,7 @@ urllib = "opentelemetry.instrumentation.urllib:URLLibInstrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-urllib" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/urllib/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/__init__.py b/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/__init__.py index 8b72a2f3db..9fe9996ba4 100644 --- a/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/__init__.py @@ -90,7 +90,6 @@ def response_hook(span, request_obj, response) _client_duration_attrs_old, _filter_semconv_duration_attrs, _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, @@ -99,6 +98,7 @@ def response_hook(span, request_obj, response) _set_http_network_protocol_version, _set_http_url, _set_status, + _StabilityMode, ) from opentelemetry.instrumentation.instrumentor import BaseInstrumentor from opentelemetry.instrumentation.urllib.package import _instruments @@ -209,7 +209,7 @@ def _instrument( request_hook: _RequestHookT = None, response_hook: _ResponseHookT = None, excluded_urls: ExcludeList = None, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): """Enables tracing of all requests calls that go through :code:`urllib.Client._make_request`""" @@ -305,13 +305,13 @@ def _instrumented_open_call( labels, _client_duration_attrs_old, _client_duration_attrs_new, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ) duration_attrs_new = _filter_semconv_duration_attrs( labels, _client_duration_attrs_old, _client_duration_attrs_new, - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP, + sem_conv_opt_in_mode=_StabilityMode.HTTP, ) duration_attrs_old[SpanAttributes.HTTP_URL] = url @@ -372,7 +372,7 @@ def _set_status_code_attribute( span: Span, status_code: int, metric_attributes: dict = None, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ) -> None: status_code_str = str(status_code) try: @@ -394,7 +394,7 @@ def _set_status_code_attribute( def _create_client_histograms( - meter, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + meter, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ) -> Dict[str, Histogram]: histograms = {} if _report_old(sem_conv_opt_in_mode): @@ -442,7 +442,7 @@ def _record_histograms( request_size: int, response_size: int, duration_s: float, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): if _report_old(sem_conv_opt_in_mode): duration = max(round(duration_s * 1000), 0) diff --git a/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/version.py b/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/version.py index d7d982fafc..c3c9026f93 100644 --- a/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/version.py +++ b/instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/version.py @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" _instruments = tuple() diff --git a/instrumentation/opentelemetry-instrumentation-urllib3/pyproject.toml b/instrumentation/opentelemetry-instrumentation-urllib3/pyproject.toml index b1cf28d8ff..214d3e8fb8 100644 --- a/instrumentation/opentelemetry-instrumentation-urllib3/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-urllib3/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", ] @@ -42,6 +42,7 @@ urllib3 = "opentelemetry.instrumentation.urllib3:URLLib3Instrumentor" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-urllib3" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/urllib3/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/__init__.py b/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/__init__.py index eda66bea37..2d1cf4c1b0 100644 --- a/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/__init__.py @@ -98,7 +98,6 @@ def response_hook( _client_duration_attrs_old, _filter_semconv_duration_attrs, _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, @@ -111,6 +110,7 @@ def response_hook( _set_http_scheme, _set_http_url, _set_status, + _StabilityMode, ) from opentelemetry.instrumentation.instrumentor import BaseInstrumentor from opentelemetry.instrumentation.urllib3.package import _instruments @@ -309,7 +309,7 @@ def _instrument( response_hook: _ResponseHookT = None, url_filter: _UrlFilterT = None, excluded_urls: ExcludeList = None, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): def instrumented_urlopen(wrapped, instance, args, kwargs): if not is_http_instrumentation_enabled(): @@ -461,7 +461,7 @@ def _set_status_code_attribute( span: Span, status_code: int, metric_attributes: dict = None, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ) -> None: status_code_str = str(status_code) try: @@ -487,7 +487,7 @@ def _set_metric_attributes( instance: urllib3.connectionpool.HTTPConnectionPool, response: urllib3.response.HTTPResponse, method: str, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ) -> None: _set_http_host_client( metric_attributes, instance.host, sem_conv_opt_in_mode @@ -516,7 +516,7 @@ def _set_metric_attributes( def _filter_attributes_semconv( metric_attributes, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): duration_attrs_old = None duration_attrs_new = None @@ -525,14 +525,14 @@ def _filter_attributes_semconv( metric_attributes, _client_duration_attrs_old, _client_duration_attrs_new, - _HTTPStabilityMode.DEFAULT, + _StabilityMode.DEFAULT, ) if _report_new(sem_conv_opt_in_mode): duration_attrs_new = _filter_semconv_duration_attrs( metric_attributes, _client_duration_attrs_old, _client_duration_attrs_new, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ) return (duration_attrs_old, duration_attrs_new) @@ -549,7 +549,7 @@ def _record_metrics( duration_s: float, request_size: typing.Optional[int], response_size: int, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): attrs_old, attrs_new = _filter_attributes_semconv( metric_attributes, sem_conv_opt_in_mode diff --git a/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/version.py b/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/version.py +++ b/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-urllib3/tests/test_urllib3_integration.py b/instrumentation/opentelemetry-instrumentation-urllib3/tests/test_urllib3_integration.py index 69bed0eaee..e5a9f3b7e1 100644 --- a/instrumentation/opentelemetry-instrumentation-urllib3/tests/test_urllib3_integration.py +++ b/instrumentation/opentelemetry-instrumentation-urllib3/tests/test_urllib3_integration.py @@ -24,8 +24,8 @@ from opentelemetry import trace from opentelemetry.instrumentation._semconv import ( OTEL_SEMCONV_STABILITY_OPT_IN, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, + _StabilityMode, ) from opentelemetry.instrumentation.urllib3 import ( RequestInfo, @@ -106,7 +106,7 @@ def assert_success_span( self, response: urllib3.response.HTTPResponse, url: str, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): self.assertEqual(b"Hello!", response.data) @@ -129,9 +129,9 @@ def assert_success_span( } attributes = { - _HTTPStabilityMode.DEFAULT: expected_attr_old, - _HTTPStabilityMode.HTTP: expected_attr_new, - _HTTPStabilityMode.HTTP_DUP: { + _StabilityMode.DEFAULT: expected_attr_old, + _StabilityMode.HTTP: expected_attr_new, + _StabilityMode.HTTP_DUP: { **expected_attr_new, **expected_attr_old, }, @@ -143,7 +143,7 @@ def assert_success_span( def assert_exception_span( self, url: str, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): span = self.assert_span() @@ -159,9 +159,9 @@ def assert_exception_span( } attributes = { - _HTTPStabilityMode.DEFAULT: expected_attr_old, - _HTTPStabilityMode.HTTP: expected_attr_new, - _HTTPStabilityMode.HTTP_DUP: { + _StabilityMode.DEFAULT: expected_attr_old, + _StabilityMode.HTTP: expected_attr_new, + _StabilityMode.HTTP_DUP: { **expected_attr_new, **expected_attr_old, }, @@ -192,7 +192,7 @@ def test_basic_http_success(self): self.assert_success_span( response, self.HTTP_URL, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ) def test_basic_http_success_new_semconv(self): @@ -200,7 +200,7 @@ def test_basic_http_success_new_semconv(self): self.assert_success_span( response, self.HTTP_URL, - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP, + sem_conv_opt_in_mode=_StabilityMode.HTTP, ) def test_basic_http_success_both_semconv(self): @@ -208,7 +208,7 @@ def test_basic_http_success_both_semconv(self): self.assert_success_span( response, self.HTTP_URL, - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP_DUP, + sem_conv_opt_in_mode=_StabilityMode.HTTP_DUP, ) def test_basic_http_success_using_connection_pool(self): @@ -471,7 +471,7 @@ def test_request_exception_new_semconv(self, _): ) self.assert_exception_span( - self.HTTP_URL, sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP + self.HTTP_URL, sem_conv_opt_in_mode=_StabilityMode.HTTP ) @mock.patch( @@ -485,7 +485,7 @@ def test_request_exception_both_semconv(self, _): ) self.assert_exception_span( - self.HTTP_URL, sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP_DUP + self.HTTP_URL, sem_conv_opt_in_mode=_StabilityMode.HTTP_DUP ) @mock.patch( diff --git a/instrumentation/opentelemetry-instrumentation-wsgi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-wsgi/pyproject.toml index dddb4a4eb1..1e6a85f758 100644 --- a/instrumentation/opentelemetry-instrumentation-wsgi/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-wsgi/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", - "opentelemetry-semantic-conventions == 0.50b0.dev", - "opentelemetry-util-http == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", + "opentelemetry-util-http == 0.51b0.dev", ] [project.optional-dependencies] @@ -36,6 +36,7 @@ instruments = [] [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-wsgi" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/wsgi/version.py" diff --git a/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py b/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py index c0384d594b..eb7cbced9c 100644 --- a/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py @@ -217,7 +217,6 @@ def response_hook(span: Span, environ: WSGIEnvironment, status: str, response_he _filter_semconv_active_request_count_attr, _filter_semconv_duration_attrs, _get_schema_url, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _OpenTelemetryStabilitySignalType, _report_new, @@ -237,6 +236,7 @@ def response_hook(span: Span, environ: WSGIEnvironment, status: str, response_he _set_http_target, _set_http_user_agent, _set_status, + _StabilityMode, ) from opentelemetry.instrumentation.utils import _start_internal_or_server_span from opentelemetry.instrumentation.wsgi.version import __version__ @@ -308,7 +308,7 @@ def setifnotnone(dic, key, value): def collect_request_attributes( environ, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ): """Collects HTTP request attributes from the PEP3333-conforming WSGI environ and returns a dictionary to be used as span creation attributes. @@ -449,7 +449,7 @@ def _parse_status_code(resp_status): def _parse_active_request_count_attrs( - req_attrs, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + req_attrs, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ): return _filter_semconv_active_request_count_attr( req_attrs, @@ -460,7 +460,7 @@ def _parse_active_request_count_attrs( def _parse_duration_attrs( - req_attrs, sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT + req_attrs, sem_conv_opt_in_mode=_StabilityMode.DEFAULT ): return _filter_semconv_duration_attrs( req_attrs, @@ -475,7 +475,7 @@ def add_response_attributes( start_response_status, response_headers, duration_attrs=None, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ): # pylint: disable=unused-argument """Adds HTTP response attributes to span using the arguments passed to a PEP3333-conforming start_response callable. @@ -685,14 +685,14 @@ def __call__(self, environ, start_response): duration_s = default_timer() - start if self.duration_histogram_old: duration_attrs_old = _parse_duration_attrs( - req_attrs, _HTTPStabilityMode.DEFAULT + req_attrs, _StabilityMode.DEFAULT ) self.duration_histogram_old.record( max(round(duration_s * 1000), 0), duration_attrs_old ) if self.duration_histogram_new: duration_attrs_new = _parse_duration_attrs( - req_attrs, _HTTPStabilityMode.HTTP + req_attrs, _StabilityMode.HTTP ) self.duration_histogram_new.record( max(duration_s, 0), duration_attrs_new diff --git a/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/version.py b/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/version.py index 0559ba6227..6e2923f0db 100644 --- a/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/version.py +++ b/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-wsgi/tests/test_wsgi_middleware.py b/instrumentation/opentelemetry-instrumentation-wsgi/tests/test_wsgi_middleware.py index 095e263732..da1a3c2696 100644 --- a/instrumentation/opentelemetry-instrumentation-wsgi/tests/test_wsgi_middleware.py +++ b/instrumentation/opentelemetry-instrumentation-wsgi/tests/test_wsgi_middleware.py @@ -24,12 +24,12 @@ from opentelemetry import trace as trace_api from opentelemetry.instrumentation._semconv import ( OTEL_SEMCONV_STABILITY_OPT_IN, - _HTTPStabilityMode, _OpenTelemetrySemanticConventionStability, _server_active_requests_count_attrs_new, _server_active_requests_count_attrs_old, _server_duration_attrs_new, _server_duration_attrs_old, + _StabilityMode, ) from opentelemetry.sdk.metrics.export import ( HistogramDataPoint, @@ -527,7 +527,7 @@ def test_request_attributes_new_semconv(self): attrs = otel_wsgi.collect_request_attributes( self.environ, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ) self.assertDictEqual( attrs, @@ -742,7 +742,7 @@ def test_request_attributes_with_full_request_uri(self): self.assertGreaterEqual( otel_wsgi.collect_request_attributes( self.environ, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ).items(), expected_new.items(), ) @@ -758,7 +758,7 @@ def test_http_user_agent_attribute(self): self.assertGreaterEqual( otel_wsgi.collect_request_attributes( self.environ, - _HTTPStabilityMode.HTTP, + _StabilityMode.HTTP, ).items(), expected_new.items(), ) @@ -769,7 +769,7 @@ def test_response_attributes(self): self.span, "404 Not Found", {}, - sem_conv_opt_in_mode=_HTTPStabilityMode.HTTP, + sem_conv_opt_in_mode=_StabilityMode.HTTP, ) expected = (mock.call(SpanAttributes.HTTP_STATUS_CODE, 404),) expected_new = ( diff --git a/opentelemetry-contrib-instrumentations/pyproject.toml b/opentelemetry-contrib-instrumentations/pyproject.toml index a0edde1390..bded7f840a 100644 --- a/opentelemetry-contrib-instrumentations/pyproject.toml +++ b/opentelemetry-contrib-instrumentations/pyproject.toml @@ -29,59 +29,60 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] dependencies = [ - "opentelemetry-instrumentation-aio-pika==0.50b0.dev", - "opentelemetry-instrumentation-aiohttp-client==0.50b0.dev", - "opentelemetry-instrumentation-aiohttp-server==0.50b0.dev", - "opentelemetry-instrumentation-aiokafka==0.50b0.dev", - "opentelemetry-instrumentation-aiopg==0.50b0.dev", - "opentelemetry-instrumentation-asgi==0.50b0.dev", - "opentelemetry-instrumentation-asyncio==0.50b0.dev", - "opentelemetry-instrumentation-asyncpg==0.50b0.dev", - "opentelemetry-instrumentation-aws-lambda==0.50b0.dev", - "opentelemetry-instrumentation-boto==0.50b0.dev", - "opentelemetry-instrumentation-boto3sqs==0.50b0.dev", - "opentelemetry-instrumentation-botocore==0.50b0.dev", - "opentelemetry-instrumentation-cassandra==0.50b0.dev", - "opentelemetry-instrumentation-celery==0.50b0.dev", - "opentelemetry-instrumentation-click==0.50b0.dev", - "opentelemetry-instrumentation-confluent-kafka==0.50b0.dev", - "opentelemetry-instrumentation-dbapi==0.50b0.dev", - "opentelemetry-instrumentation-django==0.50b0.dev", - "opentelemetry-instrumentation-elasticsearch==0.50b0.dev", - "opentelemetry-instrumentation-falcon==0.50b0.dev", - "opentelemetry-instrumentation-fastapi==0.50b0.dev", - "opentelemetry-instrumentation-flask==0.50b0.dev", - "opentelemetry-instrumentation-grpc==0.50b0.dev", - "opentelemetry-instrumentation-httpx==0.50b0.dev", - "opentelemetry-instrumentation-jinja2==0.50b0.dev", - "opentelemetry-instrumentation-kafka-python==0.50b0.dev", - "opentelemetry-instrumentation-logging==0.50b0.dev", - "opentelemetry-instrumentation-mysql==0.50b0.dev", - "opentelemetry-instrumentation-mysqlclient==0.50b0.dev", - "opentelemetry-instrumentation-pika==0.50b0.dev", - "opentelemetry-instrumentation-psycopg==0.50b0.dev", - "opentelemetry-instrumentation-psycopg2==0.50b0.dev", - "opentelemetry-instrumentation-pymemcache==0.50b0.dev", - "opentelemetry-instrumentation-pymongo==0.50b0.dev", - "opentelemetry-instrumentation-pymysql==0.50b0.dev", - "opentelemetry-instrumentation-pyramid==0.50b0.dev", - "opentelemetry-instrumentation-redis==0.50b0.dev", - "opentelemetry-instrumentation-remoulade==0.50b0.dev", - "opentelemetry-instrumentation-requests==0.50b0.dev", - "opentelemetry-instrumentation-sqlalchemy==0.50b0.dev", - "opentelemetry-instrumentation-sqlite3==0.50b0.dev", - "opentelemetry-instrumentation-starlette==0.50b0.dev", - "opentelemetry-instrumentation-system-metrics==0.50b0.dev", - "opentelemetry-instrumentation-threading==0.50b0.dev", - "opentelemetry-instrumentation-tornado==0.50b0.dev", - "opentelemetry-instrumentation-tortoiseorm==0.50b0.dev", - "opentelemetry-instrumentation-urllib==0.50b0.dev", - "opentelemetry-instrumentation-urllib3==0.50b0.dev", - "opentelemetry-instrumentation-wsgi==0.50b0.dev", + "opentelemetry-instrumentation-aio-pika==0.51b0.dev", + "opentelemetry-instrumentation-aiohttp-client==0.51b0.dev", + "opentelemetry-instrumentation-aiohttp-server==0.51b0.dev", + "opentelemetry-instrumentation-aiokafka==0.51b0.dev", + "opentelemetry-instrumentation-aiopg==0.51b0.dev", + "opentelemetry-instrumentation-asgi==0.51b0.dev", + "opentelemetry-instrumentation-asyncio==0.51b0.dev", + "opentelemetry-instrumentation-asyncpg==0.51b0.dev", + "opentelemetry-instrumentation-aws-lambda==0.51b0.dev", + "opentelemetry-instrumentation-boto==0.51b0.dev", + "opentelemetry-instrumentation-boto3sqs==0.51b0.dev", + "opentelemetry-instrumentation-botocore==0.51b0.dev", + "opentelemetry-instrumentation-cassandra==0.51b0.dev", + "opentelemetry-instrumentation-celery==0.51b0.dev", + "opentelemetry-instrumentation-click==0.51b0.dev", + "opentelemetry-instrumentation-confluent-kafka==0.51b0.dev", + "opentelemetry-instrumentation-dbapi==0.51b0.dev", + "opentelemetry-instrumentation-django==0.51b0.dev", + "opentelemetry-instrumentation-elasticsearch==0.51b0.dev", + "opentelemetry-instrumentation-falcon==0.51b0.dev", + "opentelemetry-instrumentation-fastapi==0.51b0.dev", + "opentelemetry-instrumentation-flask==0.51b0.dev", + "opentelemetry-instrumentation-grpc==0.51b0.dev", + "opentelemetry-instrumentation-httpx==0.51b0.dev", + "opentelemetry-instrumentation-jinja2==0.51b0.dev", + "opentelemetry-instrumentation-kafka-python==0.51b0.dev", + "opentelemetry-instrumentation-logging==0.51b0.dev", + "opentelemetry-instrumentation-mysql==0.51b0.dev", + "opentelemetry-instrumentation-mysqlclient==0.51b0.dev", + "opentelemetry-instrumentation-pika==0.51b0.dev", + "opentelemetry-instrumentation-psycopg==0.51b0.dev", + "opentelemetry-instrumentation-psycopg2==0.51b0.dev", + "opentelemetry-instrumentation-pymemcache==0.51b0.dev", + "opentelemetry-instrumentation-pymongo==0.51b0.dev", + "opentelemetry-instrumentation-pymysql==0.51b0.dev", + "opentelemetry-instrumentation-pyramid==0.51b0.dev", + "opentelemetry-instrumentation-redis==0.51b0.dev", + "opentelemetry-instrumentation-remoulade==0.51b0.dev", + "opentelemetry-instrumentation-requests==0.51b0.dev", + "opentelemetry-instrumentation-sqlalchemy==0.51b0.dev", + "opentelemetry-instrumentation-sqlite3==0.51b0.dev", + "opentelemetry-instrumentation-starlette==0.51b0.dev", + "opentelemetry-instrumentation-system-metrics==0.51b0.dev", + "opentelemetry-instrumentation-threading==0.51b0.dev", + "opentelemetry-instrumentation-tornado==0.51b0.dev", + "opentelemetry-instrumentation-tortoiseorm==0.51b0.dev", + "opentelemetry-instrumentation-urllib==0.51b0.dev", + "opentelemetry-instrumentation-urllib3==0.51b0.dev", + "opentelemetry-instrumentation-wsgi==0.51b0.dev", ] [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-contrib-instrumentations" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/contrib-instrumentations/version.py" diff --git a/opentelemetry-contrib-instrumentations/src/opentelemetry/contrib-instrumentations/version.py b/opentelemetry-contrib-instrumentations/src/opentelemetry/contrib-instrumentations/version.py index 0559ba6227..6e2923f0db 100644 --- a/opentelemetry-contrib-instrumentations/src/opentelemetry/contrib-instrumentations/version.py +++ b/opentelemetry-contrib-instrumentations/src/opentelemetry/contrib-instrumentations/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/opentelemetry-distro/pyproject.toml b/opentelemetry-distro/pyproject.toml index dd995f2f99..3acea19815 100644 --- a/opentelemetry-distro/pyproject.toml +++ b/opentelemetry-distro/pyproject.toml @@ -27,13 +27,13 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.12", - "opentelemetry-instrumentation == 0.50b0.dev", + "opentelemetry-instrumentation == 0.51b0.dev", "opentelemetry-sdk ~= 1.13", ] [project.optional-dependencies] otlp = [ - "opentelemetry-exporter-otlp == 1.29.0.dev", + "opentelemetry-exporter-otlp == 1.30.0.dev", ] [project.entry-points.opentelemetry_configurator] @@ -44,6 +44,7 @@ distro = "opentelemetry.distro:OpenTelemetryDistro" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-distro" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/distro/version.py" diff --git a/opentelemetry-distro/src/opentelemetry/distro/version.py b/opentelemetry-distro/src/opentelemetry/distro/version.py index 0559ba6227..6e2923f0db 100644 --- a/opentelemetry-distro/src/opentelemetry/distro/version.py +++ b/opentelemetry-distro/src/opentelemetry/distro/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/opentelemetry-instrumentation/pyproject.toml b/opentelemetry-instrumentation/pyproject.toml index f8aad72f4a..54e717d4c8 100644 --- a/opentelemetry-instrumentation/pyproject.toml +++ b/opentelemetry-instrumentation/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ ] dependencies = [ "opentelemetry-api ~= 1.4", - "opentelemetry-semantic-conventions == 0.50b0.dev", + "opentelemetry-semantic-conventions == 0.51b0.dev", "wrapt >= 1.0.0, < 2.0.0", "packaging >= 18.0", ] @@ -40,6 +40,7 @@ instrumentation = "opentelemetry.instrumentation.environment_variables" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/instrumentation/version.py" diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py index c4e720fd04..091c876535 100644 --- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py +++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py @@ -109,23 +109,23 @@ class _OpenTelemetryStabilitySignalType: HTTP = "http" + DATABASE = "database" -class _HTTPStabilityMode(Enum): - # http - emit the new, stable HTTP and networking conventions ONLY +class _StabilityMode(Enum): + DEFAULT = "default" HTTP = "http" - # http/dup - emit both the old and the stable HTTP and networking conventions HTTP_DUP = "http/dup" - # default - continue emitting old experimental HTTP and networking conventions - DEFAULT = "default" + DATABASE = "database" + DATABASE_DUP = "database/dup" -def _report_new(mode): - return mode.name != _HTTPStabilityMode.DEFAULT.name +def _report_new(mode: _StabilityMode): + return mode != _StabilityMode.DEFAULT -def _report_old(mode): - return mode.name != _HTTPStabilityMode.HTTP.name +def _report_old(mode: _StabilityMode): + return mode not in (_StabilityMode.HTTP, _StabilityMode.DATABASE) class _OpenTelemetrySemanticConventionStability: @@ -135,35 +135,61 @@ class _OpenTelemetrySemanticConventionStability: @classmethod def _initialize(cls): - with _OpenTelemetrySemanticConventionStability._lock: - if not _OpenTelemetrySemanticConventionStability._initialized: - # Users can pass in comma delimited string for opt-in options - # Only values for http stability are supported for now - opt_in = os.environ.get(OTEL_SEMCONV_STABILITY_OPT_IN, "") - opt_in_list = [] - if opt_in: - opt_in_list = [s.strip() for s in opt_in.split(",")] - http_opt_in = _HTTPStabilityMode.DEFAULT - if opt_in_list: - # Process http opt-in - # http/dup takes priority over http - if _HTTPStabilityMode.HTTP_DUP.value in opt_in_list: - http_opt_in = _HTTPStabilityMode.HTTP_DUP - elif _HTTPStabilityMode.HTTP.value in opt_in_list: - http_opt_in = _HTTPStabilityMode.HTTP - _OpenTelemetrySemanticConventionStability._OTEL_SEMCONV_STABILITY_SIGNAL_MAPPING[ - _OpenTelemetryStabilitySignalType.HTTP - ] = http_opt_in - _OpenTelemetrySemanticConventionStability._initialized = True + with cls._lock: + if cls._initialized: + return + + # Users can pass in comma delimited string for opt-in options + # Only values for http and database stability are supported for now + opt_in = os.environ.get(OTEL_SEMCONV_STABILITY_OPT_IN) + + if not opt_in: + # early return in case of default + cls._OTEL_SEMCONV_STABILITY_SIGNAL_MAPPING = { + _OpenTelemetryStabilitySignalType.HTTP: _StabilityMode.DEFAULT, + _OpenTelemetryStabilitySignalType.DATABASE: _StabilityMode.DEFAULT, + } + cls._initialized = True + return + + opt_in_list = [s.strip() for s in opt_in.split(",")] + + cls._OTEL_SEMCONV_STABILITY_SIGNAL_MAPPING[ + _OpenTelemetryStabilitySignalType.HTTP + ] = cls._filter_mode( + opt_in_list, _StabilityMode.HTTP, _StabilityMode.HTTP_DUP + ) + + cls._OTEL_SEMCONV_STABILITY_SIGNAL_MAPPING[ + _OpenTelemetryStabilitySignalType.DATABASE + ] = cls._filter_mode( + opt_in_list, + _StabilityMode.DATABASE, + _StabilityMode.DATABASE_DUP, + ) + + cls._initialized = True + + @staticmethod + def _filter_mode(opt_in_list, stable_mode, dup_mode): + # Process semconv stability opt-in + # http/dup,database/dup has higher precedence over http,database + if dup_mode.value in opt_in_list: + return dup_mode + + return ( + stable_mode + if stable_mode.value in opt_in_list + else _StabilityMode.DEFAULT + ) @classmethod - # Get OpenTelemetry opt-in mode based off of signal type (http, messaging, etc.) def _get_opentelemetry_stability_opt_in_mode( - cls, - signal_type: _OpenTelemetryStabilitySignalType, - ) -> _HTTPStabilityMode: - return _OpenTelemetrySemanticConventionStability._OTEL_SEMCONV_STABILITY_SIGNAL_MAPPING.get( - signal_type, _HTTPStabilityMode.DEFAULT + cls, signal_type: _OpenTelemetryStabilitySignalType + ) -> _StabilityMode: + # Get OpenTelemetry opt-in mode based off of signal type (http, messaging, etc.) + return cls._OTEL_SEMCONV_STABILITY_SIGNAL_MAPPING.get( + signal_type, _StabilityMode.DEFAULT ) @@ -171,14 +197,12 @@ def _filter_semconv_duration_attrs( attrs, old_attrs, new_attrs, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ): filtered_attrs = {} # duration is two different metrics depending on sem_conv_opt_in_mode, so no DUP attributes allowed_attributes = ( - new_attrs - if sem_conv_opt_in_mode == _HTTPStabilityMode.HTTP - else old_attrs + new_attrs if sem_conv_opt_in_mode == _StabilityMode.HTTP else old_attrs ) for key, val in attrs.items(): if key in allowed_attributes: @@ -190,7 +214,7 @@ def _filter_semconv_active_request_count_attr( attrs, old_attrs, new_attrs, - sem_conv_opt_in_mode=_HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, ): filtered_attrs = {} if _report_old(sem_conv_opt_in_mode): @@ -367,10 +391,11 @@ def _set_status( status_code: int, status_code_str: str, server_span: bool = True, - sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT, + sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT, ): if status_code < 0: - metrics_attributes[ERROR_TYPE] = status_code_str + if _report_new(sem_conv_opt_in_mode): + metrics_attributes[ERROR_TYPE] = status_code_str if span.is_recording(): if _report_new(sem_conv_opt_in_mode): span.set_attribute(ERROR_TYPE, status_code_str) @@ -404,7 +429,7 @@ def _set_status( # Get schema version based off of opt-in mode -def _get_schema_url(mode: _HTTPStabilityMode) -> str: - if mode is _HTTPStabilityMode.DEFAULT: +def _get_schema_url(mode: _StabilityMode) -> str: + if mode is _StabilityMode.DEFAULT: return "https://opentelemetry.io/schemas/1.11.0" return SpanAttributes.SCHEMA_URL diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py index a292299d70..4e497b8208 100644 --- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py +++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py @@ -22,187 +22,187 @@ }, { "library": "aio_pika >= 7.2.0, < 10.0.0", - "instrumentation": "opentelemetry-instrumentation-aio-pika==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-aio-pika==0.51b0.dev", }, { "library": "aiohttp ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.51b0.dev", }, { "library": "aiohttp ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.51b0.dev", }, { "library": "aiokafka >= 0.8, < 1.0", - "instrumentation": "opentelemetry-instrumentation-aiokafka==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-aiokafka==0.51b0.dev", }, { "library": "aiopg >= 0.13.0, < 2.0.0", - "instrumentation": "opentelemetry-instrumentation-aiopg==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-aiopg==0.51b0.dev", }, { "library": "asgiref ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-asgi==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-asgi==0.51b0.dev", }, { "library": "asyncpg >= 0.12.0", - "instrumentation": "opentelemetry-instrumentation-asyncpg==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-asyncpg==0.51b0.dev", }, { "library": "boto~=2.0", - "instrumentation": "opentelemetry-instrumentation-boto==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-boto==0.51b0.dev", }, { "library": "boto3 ~= 1.0", - "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.51b0.dev", }, { "library": "botocore ~= 1.0", - "instrumentation": "opentelemetry-instrumentation-botocore==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-botocore==0.51b0.dev", }, { "library": "cassandra-driver ~= 3.25", - "instrumentation": "opentelemetry-instrumentation-cassandra==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-cassandra==0.51b0.dev", }, { "library": "scylla-driver ~= 3.25", - "instrumentation": "opentelemetry-instrumentation-cassandra==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-cassandra==0.51b0.dev", }, { "library": "celery >= 4.0, < 6.0", - "instrumentation": "opentelemetry-instrumentation-celery==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-celery==0.51b0.dev", }, { "library": "click >= 8.1.3, < 9.0.0", - "instrumentation": "opentelemetry-instrumentation-click==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-click==0.51b0.dev", }, { - "library": "confluent-kafka >= 1.8.2, <= 2.4.0", - "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.50b0.dev", + "library": "confluent-kafka >= 1.8.2, <= 2.7.0", + "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.51b0.dev", }, { "library": "django >= 1.10", - "instrumentation": "opentelemetry-instrumentation-django==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-django==0.51b0.dev", }, { "library": "elasticsearch >= 6.0", - "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.51b0.dev", }, { "library": "falcon >= 1.4.1, < 3.1.2", - "instrumentation": "opentelemetry-instrumentation-falcon==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-falcon==0.51b0.dev", }, { "library": "fastapi ~= 0.58", - "instrumentation": "opentelemetry-instrumentation-fastapi==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-fastapi==0.51b0.dev", }, { "library": "flask >= 1.0", - "instrumentation": "opentelemetry-instrumentation-flask==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-flask==0.51b0.dev", }, { "library": "grpcio >= 1.42.0", - "instrumentation": "opentelemetry-instrumentation-grpc==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-grpc==0.51b0.dev", }, { "library": "httpx >= 0.18.0", - "instrumentation": "opentelemetry-instrumentation-httpx==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-httpx==0.51b0.dev", }, { "library": "jinja2 >= 2.7, < 4.0", - "instrumentation": "opentelemetry-instrumentation-jinja2==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-jinja2==0.51b0.dev", }, { "library": "kafka-python >= 2.0, < 3.0", - "instrumentation": "opentelemetry-instrumentation-kafka-python==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-kafka-python==0.51b0.dev", }, { "library": "kafka-python-ng >= 2.0, < 3.0", - "instrumentation": "opentelemetry-instrumentation-kafka-python==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-kafka-python==0.51b0.dev", }, { "library": "mysql-connector-python >= 8.0, < 10.0", - "instrumentation": "opentelemetry-instrumentation-mysql==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-mysql==0.51b0.dev", }, { "library": "mysqlclient < 3", - "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.51b0.dev", }, { "library": "pika >= 0.12.0", - "instrumentation": "opentelemetry-instrumentation-pika==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-pika==0.51b0.dev", }, { "library": "psycopg >= 3.1.0", - "instrumentation": "opentelemetry-instrumentation-psycopg==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-psycopg==0.51b0.dev", }, { "library": "psycopg2 >= 2.7.3.1", - "instrumentation": "opentelemetry-instrumentation-psycopg2==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-psycopg2==0.51b0.dev", }, { "library": "pymemcache >= 1.3.5, < 5", - "instrumentation": "opentelemetry-instrumentation-pymemcache==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-pymemcache==0.51b0.dev", }, { "library": "pymongo >= 3.1, < 5.0", - "instrumentation": "opentelemetry-instrumentation-pymongo==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-pymongo==0.51b0.dev", }, { "library": "PyMySQL < 2", - "instrumentation": "opentelemetry-instrumentation-pymysql==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-pymysql==0.51b0.dev", }, { "library": "pyramid >= 1.7", - "instrumentation": "opentelemetry-instrumentation-pyramid==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-pyramid==0.51b0.dev", }, { "library": "redis >= 2.6", - "instrumentation": "opentelemetry-instrumentation-redis==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-redis==0.51b0.dev", }, { "library": "remoulade >= 0.50", - "instrumentation": "opentelemetry-instrumentation-remoulade==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-remoulade==0.51b0.dev", }, { "library": "requests ~= 2.0", - "instrumentation": "opentelemetry-instrumentation-requests==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-requests==0.51b0.dev", }, { "library": "sqlalchemy >= 1.0.0, < 2.1.0", - "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.51b0.dev", }, { "library": "starlette ~= 0.13.0", - "instrumentation": "opentelemetry-instrumentation-starlette==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-starlette==0.51b0.dev", }, { "library": "psutil >= 5", - "instrumentation": "opentelemetry-instrumentation-system-metrics==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-system-metrics==0.51b0.dev", }, { "library": "tornado >= 5.1.1", - "instrumentation": "opentelemetry-instrumentation-tornado==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-tornado==0.51b0.dev", }, { "library": "tortoise-orm >= 0.17.0", - "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.51b0.dev", }, { "library": "pydantic >= 1.10.2", - "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.51b0.dev", }, { "library": "urllib3 >= 1.0.0, < 3.0.0", - "instrumentation": "opentelemetry-instrumentation-urllib3==0.50b0.dev", + "instrumentation": "opentelemetry-instrumentation-urllib3==0.51b0.dev", }, ] default_instrumentations = [ - "opentelemetry-instrumentation-asyncio==0.50b0.dev", - "opentelemetry-instrumentation-dbapi==0.50b0.dev", - "opentelemetry-instrumentation-logging==0.50b0.dev", - "opentelemetry-instrumentation-sqlite3==0.50b0.dev", - "opentelemetry-instrumentation-threading==0.50b0.dev", - "opentelemetry-instrumentation-urllib==0.50b0.dev", - "opentelemetry-instrumentation-wsgi==0.50b0.dev", + "opentelemetry-instrumentation-asyncio==0.51b0.dev", + "opentelemetry-instrumentation-dbapi==0.51b0.dev", + "opentelemetry-instrumentation-logging==0.51b0.dev", + "opentelemetry-instrumentation-sqlite3==0.51b0.dev", + "opentelemetry-instrumentation-threading==0.51b0.dev", + "opentelemetry-instrumentation-urllib==0.51b0.dev", + "opentelemetry-instrumentation-wsgi==0.51b0.dev", ] diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/version.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/version.py index 0559ba6227..6e2923f0db 100644 --- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/version.py +++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/opentelemetry-instrumentation/tests/test_semconv.py b/opentelemetry-instrumentation/tests/test_semconv.py new file mode 100644 index 0000000000..6a56efcc37 --- /dev/null +++ b/opentelemetry-instrumentation/tests/test_semconv.py @@ -0,0 +1,258 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +from unittest import TestCase +from unittest.mock import Mock, patch + +from opentelemetry.instrumentation._semconv import ( + OTEL_SEMCONV_STABILITY_OPT_IN, + _OpenTelemetrySemanticConventionStability, + _OpenTelemetryStabilitySignalType, + _set_status, + _StabilityMode, +) +from opentelemetry.trace.status import StatusCode + + +def stability_mode(mode): + def decorator(test_case): + @patch.dict(os.environ, {OTEL_SEMCONV_STABILITY_OPT_IN: mode}) + def wrapper(*args, **kwargs): + _OpenTelemetrySemanticConventionStability._initialized = False + _OpenTelemetrySemanticConventionStability._initialize() + return test_case(*args, **kwargs) + + return wrapper + + return decorator + + +class TestOpenTelemetrySemConvStability(TestCase): + @stability_mode("") + def test_default_mode(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.HTTP + ), + _StabilityMode.DEFAULT, + ) + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.DATABASE + ), + _StabilityMode.DEFAULT, + ) + + @stability_mode("http") + def test_http_stable_mode(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.HTTP + ), + _StabilityMode.HTTP, + ) + + @stability_mode("http/dup") + def test_http_dup_mode(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.HTTP + ), + _StabilityMode.HTTP_DUP, + ) + + @stability_mode("database") + def test_database_stable_mode(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.DATABASE + ), + _StabilityMode.DATABASE, + ) + + @stability_mode("database/dup") + def test_database_dup_mode(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.DATABASE + ), + _StabilityMode.DATABASE_DUP, + ) + + @stability_mode("database,http") + def test_multiple_stability_database_http_modes(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.DATABASE + ), + _StabilityMode.DATABASE, + ) + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.HTTP + ), + _StabilityMode.HTTP, + ) + + @stability_mode("database,http/dup") + def test_multiple_stability_database_http_dup_modes(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.DATABASE + ), + _StabilityMode.DATABASE, + ) + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.HTTP + ), + _StabilityMode.HTTP_DUP, + ) + + @stability_mode("database/dup,http") + def test_multiple_stability_database_dup_http_stable_modes(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.DATABASE + ), + _StabilityMode.DATABASE_DUP, + ) + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.HTTP + ), + _StabilityMode.HTTP, + ) + + @stability_mode("database,database/dup,http,http/dup") + def test_stability_mode_dup_precedence(self): + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.DATABASE + ), + _StabilityMode.DATABASE_DUP, + ) + self.assertEqual( + _OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode( + _OpenTelemetryStabilitySignalType.HTTP + ), + _StabilityMode.HTTP_DUP, + ) + + +class TestOpenTelemetrySemConvStabilityHTTP(TestCase): + def test_set_status_for_non_http_code_with_recording_span(self): + span = Mock() + span.is_recording.return_value = True + metric_attributes = {} + _set_status( + span, + metric_attributes, + -1, + "Exception", + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, + ) + + self.assertIsNone(metric_attributes.get("error.type")) + span.set_attribute.assert_not_called() + status_call = span.set_status.call_args[0][0] + self.assertEqual(status_call.status_code, StatusCode.ERROR) + self.assertEqual( + status_call.description, "Non-integer HTTP status: " + "Exception" + ) + + def test_status_code_http_default(self): + span = Mock() + metrics_attributes = {} + _set_status( + span=span, + metrics_attributes=metrics_attributes, + status_code=404, + status_code_str="404", + server_span=True, + sem_conv_opt_in_mode=_StabilityMode.DEFAULT, + ) + # Verify only old conventions are emitted + span.set_attribute.assert_called_with("http.status_code", 404) + self.assertIn("http.status_code", metrics_attributes) + self.assertNotIn("http.response_status_code", metrics_attributes) + + def test_status_code_http_stable(self): + span = Mock() + metrics_attributes = {} + _set_status( + span=span, + metrics_attributes=metrics_attributes, + status_code=200, + status_code_str="200", + server_span=True, + sem_conv_opt_in_mode=_StabilityMode.HTTP, + ) + # Verify only new conventions are emitted + span.set_attribute.assert_called_with("http.response.status_code", 200) + self.assertIn("http.response.status_code", metrics_attributes) + self.assertNotIn("http.status_code", metrics_attributes) + + def test_status_code_http_dup(self): + span = Mock() + metrics_attributes = {} + _set_status( + span=span, + metrics_attributes=metrics_attributes, + status_code=500, + status_code_str="500", + server_span=True, + sem_conv_opt_in_mode=_StabilityMode.HTTP_DUP, + ) + # Verify both old and new conventions are emitted + span.set_attribute.assert_any_call("http.status_code", 500) + span.set_attribute.assert_any_call("http.response.status_code", 500) + self.assertIn("http.status_code", metrics_attributes) + self.assertIn("http.response.status_code", metrics_attributes) + + def test_error_status_code_new_mode(self): + span = Mock() + metrics_attributes = {} + _set_status( + span=span, + metrics_attributes=metrics_attributes, + status_code=500, + status_code_str="500", + server_span=True, + sem_conv_opt_in_mode=_StabilityMode.HTTP, + ) + # Verify error type is set for new conventions + span.set_attribute.assert_any_call("error.type", "500") + self.assertIn("error.type", metrics_attributes) + self.assertEqual(metrics_attributes["error.type"], "500") + + def test_non_recording_span(self): + span = Mock() + span.is_recording.return_value = False + metrics_attributes = {} + _set_status( + span=span, + metrics_attributes=metrics_attributes, + status_code=200, + status_code_str="200", + server_span=True, + sem_conv_opt_in_mode=_StabilityMode.HTTP_DUP, + ) + # Verify no span attributes are set if not recording + span.set_attribute.assert_not_called() + span.set_status.assert_not_called() + # Verify status code set for metrics independent of tracing decision + self.assertIn("http.status_code", metrics_attributes) + self.assertIn("http.response.status_code", metrics_attributes) diff --git a/processor/opentelemetry-processor-baggage/pyproject.toml b/processor/opentelemetry-processor-baggage/pyproject.toml index 29fc2e8681..6e9681fe99 100644 --- a/processor/opentelemetry-processor-baggage/pyproject.toml +++ b/processor/opentelemetry-processor-baggage/pyproject.toml @@ -32,6 +32,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/processor/opentelemetry-processor-baggage" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/processor/baggage/version.py" diff --git a/processor/opentelemetry-processor-baggage/src/opentelemetry/processor/baggage/version.py b/processor/opentelemetry-processor-baggage/src/opentelemetry/processor/baggage/version.py index 0559ba6227..6e2923f0db 100644 --- a/processor/opentelemetry-processor-baggage/src/opentelemetry/processor/baggage/version.py +++ b/processor/opentelemetry-processor-baggage/src/opentelemetry/processor/baggage/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/propagator/opentelemetry-propagator-aws-xray/pyproject.toml b/propagator/opentelemetry-propagator-aws-xray/pyproject.toml index 14f16409b3..0307db4a8e 100644 --- a/propagator/opentelemetry-propagator-aws-xray/pyproject.toml +++ b/propagator/opentelemetry-propagator-aws-xray/pyproject.toml @@ -34,6 +34,7 @@ xray-lambda = "opentelemetry.propagators.aws:AwsXRayLambdaPropagator" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/propagator/opentelemetry-propagator-aws-xray" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/propagators/aws/version.py" diff --git a/propagator/opentelemetry-propagator-ot-trace/pyproject.toml b/propagator/opentelemetry-propagator-ot-trace/pyproject.toml index 93c7ad6784..5793d55870 100644 --- a/propagator/opentelemetry-propagator-ot-trace/pyproject.toml +++ b/propagator/opentelemetry-propagator-ot-trace/pyproject.toml @@ -34,6 +34,7 @@ ottrace = "opentelemetry.propagators.ot_trace:OTTracePropagator" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/propagator/opentelemetry-propagator-ot-trace" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/propagators/ot_trace/version.py" diff --git a/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/version.py b/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/version.py index 0559ba6227..6e2923f0db 100644 --- a/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/version.py +++ b/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/resource/opentelemetry-resource-detector-azure/pyproject.toml b/resource/opentelemetry-resource-detector-azure/pyproject.toml index 9427a1bee4..a1bd1dc37c 100644 --- a/resource/opentelemetry-resource-detector-azure/pyproject.toml +++ b/resource/opentelemetry-resource-detector-azure/pyproject.toml @@ -36,6 +36,7 @@ azure_vm = "opentelemetry.resource.detector.azure.vm:AzureVMResourceDetector" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/resource/opentelemetry-resource-detector-azure" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/resource/detector/azure/version.py" diff --git a/resource/opentelemetry-resource-detector-container/pyproject.toml b/resource/opentelemetry-resource-detector-container/pyproject.toml index 3993ecd06c..ba38089465 100644 --- a/resource/opentelemetry-resource-detector-container/pyproject.toml +++ b/resource/opentelemetry-resource-detector-container/pyproject.toml @@ -33,6 +33,7 @@ container = "opentelemetry.resource.detector.container:ContainerResourceDetector [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/resource/opentelemetry-resource-detector-container" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/resource/detector/container/version.py" diff --git a/resource/opentelemetry-resource-detector-container/src/opentelemetry/resource/detector/container/version.py b/resource/opentelemetry-resource-detector-container/src/opentelemetry/resource/detector/container/version.py index 0559ba6227..6e2923f0db 100644 --- a/resource/opentelemetry-resource-detector-container/src/opentelemetry/resource/detector/container/version.py +++ b/resource/opentelemetry-resource-detector-container/src/opentelemetry/resource/detector/container/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev" diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/CHANGELOG.md b/sdk-extension/opentelemetry-sdk-extension-aws/CHANGELOG.md index 2d01260554..c1c8286894 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/CHANGELOG.md +++ b/sdk-extension/opentelemetry-sdk-extension-aws/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +- Make ecs and beanstalk resource detector silent when loaded outside AWS + ([#3076](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3076)) +- Make EKS resource detector don't warn when not running in EKS + ([#3074](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3074)) + ## Version 2.0.2 (2024-08-05) See [common CHANGELOG](../../CHANGELOG.md) for the changes in this and prior versions. diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/pyproject.toml b/sdk-extension/opentelemetry-sdk-extension-aws/pyproject.toml index 767bebdd10..fb7e4cecf2 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/pyproject.toml +++ b/sdk-extension/opentelemetry-sdk-extension-aws/pyproject.toml @@ -40,6 +40,7 @@ aws_lambda = "opentelemetry.sdk.extension.aws.resource._lambda:AwsLambdaResource [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/sdk-extension/opentelemetry-sdk-extension-aws" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/sdk/extension/aws/version.py" diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/beanstalk.py b/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/beanstalk.py index 7d6fcd96ce..12e28bf35b 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/beanstalk.py +++ b/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/beanstalk.py @@ -41,6 +41,9 @@ def detect(self) -> "Resource": else: conf_file_path = "/var/elasticbeanstalk/xray/environment.conf" + if not os.path.exists(conf_file_path): + return Resource.get_empty() + try: with open(conf_file_path, encoding="utf-8") as conf_file: parsed_data = json.load(conf_file) diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/ecs.py b/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/ecs.py index b780633b69..07d4553350 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/ecs.py +++ b/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/ecs.py @@ -41,9 +41,7 @@ def detect(self) -> "Resource": if not os.environ.get( "ECS_CONTAINER_METADATA_URI" ) and not os.environ.get("ECS_CONTAINER_METADATA_URI_V4"): - raise RuntimeError( - "Missing ECS_CONTAINER_METADATA_URI therefore process is not on ECS." - ) + return Resource.get_empty() container_id = "" try: diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/eks.py b/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/eks.py index c712e9875f..07f78b2d29 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/eks.py +++ b/sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/eks.py @@ -14,6 +14,7 @@ import json import logging +import os import ssl from urllib.request import Request, urlopen @@ -29,6 +30,9 @@ _CONTAINER_ID_LENGTH = 64 _GET_METHOD = "GET" +_TOKEN_PATH = "/var/run/secrets/kubernetes.io/serviceaccount/token" +_CERT_PATH = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + def _aws_http_request(method, path, cred_value): with urlopen( @@ -39,7 +43,7 @@ def _aws_http_request(method, path, cred_value): ), timeout=5, context=ssl.create_default_context( - cafile="/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + cafile=_CERT_PATH, ), ) as response: return response.read().decode("utf-8") @@ -47,10 +51,7 @@ def _aws_http_request(method, path, cred_value): def _get_k8s_cred_value(): try: - with open( - "/var/run/secrets/kubernetes.io/serviceaccount/token", - encoding="utf8", - ) as token_file: + with open(_TOKEN_PATH, encoding="utf8") as token_file: return "Bearer " + token_file.read() # pylint: disable=broad-except except Exception as exception: @@ -97,6 +98,10 @@ def _get_container_id(): return container_id +def _is_k8s() -> bool: + return os.path.exists(_TOKEN_PATH) and os.path.exists(_CERT_PATH) + + class AwsEksResourceDetector(ResourceDetector): """Detects attribute values only available when the app is running on AWS Elastic Kubernetes Service (EKS) and returns them in a Resource. @@ -106,6 +111,10 @@ class AwsEksResourceDetector(ResourceDetector): def detect(self) -> "Resource": try: + # if we are not running on eks exit early without warnings + if not _is_k8s(): + return Resource.get_empty() + cred_value = _get_k8s_cred_value() if not _is_eks(cred_value): diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_beanstalk.py b/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_beanstalk.py index 29db8e459c..d41c0d9adb 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_beanstalk.py +++ b/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_beanstalk.py @@ -41,9 +41,19 @@ class AwsBeanstalkResourceDetectorTest(unittest.TestCase): new_callable=mock_open, read_data=f'{{"deployment_id":"{MockBeanstalkResourceAttributes[ResourceAttributes.SERVICE_INSTANCE_ID]}","environment_name":"{MockBeanstalkResourceAttributes[ResourceAttributes.SERVICE_NAMESPACE]}","version_label":"{MockBeanstalkResourceAttributes[ResourceAttributes.SERVICE_VERSION]}"}}', ) - def test_simple_create(self, mock_open_function): + @patch("os.path.exists", return_value=True) + def test_simple_create(self, mock_path_exists, mock_open_function): actual = AwsBeanstalkResourceDetector().detect() self.assertDictEqual( actual.attributes.copy(), OrderedDict(MockBeanstalkResourceAttributes), ) + + @patch("os.name", "posix") + @patch("os.path.exists", return_value=False) + def test_not_on_beanstalk(self, mock_path_exists): + actual = AwsBeanstalkResourceDetector().detect() + self.assertDictEqual(actual.attributes.copy(), {}) + mock_path_exists.assert_called_once_with( + "/var/elasticbeanstalk/xray/environment.conf" + ) diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_ecs.py b/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_ecs.py index 4f892cc1bb..b116ae8229 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_ecs.py +++ b/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_ecs.py @@ -79,6 +79,11 @@ def _http_get_function_fargate(url: str, *args, **kwargs) -> str: class AwsEcsResourceDetectorTest(unittest.TestCase): + @patch.dict("os.environ", {}, clear=True) + def test_not_on_ecs(self): + actual = AwsEcsResourceDetector().detect() + self.assertDictEqual(actual.attributes.copy(), {}) + @patch.dict( "os.environ", {"ECS_CONTAINER_METADATA_URI": "mock-uri"}, diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_eks.py b/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_eks.py index a3819e6383..a2adcb3969 100644 --- a/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_eks.py +++ b/sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_eks.py @@ -42,6 +42,10 @@ class AwsEksResourceDetectorTest(unittest.TestCase): "opentelemetry.sdk.extension.aws.resource.eks._is_eks", return_value=True, ) + @patch( + "opentelemetry.sdk.extension.aws.resource.eks._is_k8s", + return_value=True, + ) @patch( "opentelemetry.sdk.extension.aws.resource.eks._get_cluster_info", return_value=f"""{{ @@ -88,6 +92,7 @@ def test_simple_create( self, mock_open_function, mock_get_cluster_info, + mock_is_k8s, mock_is_eks, mock_get_k8_cred_value, ): @@ -104,8 +109,32 @@ def test_simple_create( "opentelemetry.sdk.extension.aws.resource.eks._is_eks", return_value=False, ) + @patch( + "opentelemetry.sdk.extension.aws.resource.eks._is_k8s", + return_value=True, + ) def test_if_no_eks_env_var_and_should_raise( - self, mock_is_eks, mock_get_k8_cred_value + self, mock_is_k8s, mock_is_eks, mock_get_k8_cred_value ): with self.assertRaises(RuntimeError): AwsEksResourceDetector(raise_on_error=True).detect() + + @patch( + "opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value", + return_value="MOCK_TOKEN", + ) + @patch( + "opentelemetry.sdk.extension.aws.resource.eks._is_eks", + return_value=False, + ) + @patch( + "opentelemetry.sdk.extension.aws.resource.eks._is_k8s", + return_value=False, + ) + def test_if_no_eks_paths_should_not_raise( + self, mock_is_k8s, mock_is_eks, mock_get_k8_cred_value + ): + try: + AwsEksResourceDetector(raise_on_error=True).detect() + except RuntimeError: + self.fail("Should not raise") diff --git a/tests/opentelemetry-docker-tests/tests/test-requirements.txt b/tests/opentelemetry-docker-tests/tests/test-requirements.txt new file mode 100644 index 0000000000..374aef7fff --- /dev/null +++ b/tests/opentelemetry-docker-tests/tests/test-requirements.txt @@ -0,0 +1,75 @@ +aiopg==1.4.0 +amqp==5.2.0 +asgiref==3.8.1 +async-timeout==4.0.3 +asyncpg==0.29.0 +attrs==23.2.0 +bcrypt==4.1.2 +billiard==4.2.0 +celery==5.3.6 +certifi==2024.2.2 +cffi==1.16.0 +chardet==3.0.4 +click==8.1.7 +click-didyoumean==0.3.0 +click-plugins==1.1.1 +click-repl==0.3.0 +cryptography==42.0.5 +Deprecated==1.2.14 +distro==1.9.0 +dnspython==2.6.1 +docker==5.0.3 +docker-compose==1.29.2 +dockerpty==0.4.1 +docopt==0.6.2 +exceptiongroup==1.2.0 +flaky==3.7.0 +greenlet==3.0.3 +grpcio==1.62.1 +idna==2.10 +iniconfig==2.0.0 +jsonschema==3.2.0 +kombu==5.3.5 +mysql-connector-python==8.3.0 +mysqlclient==2.1.1 +opencensus-proto==0.1.0 +packaging==24.0 +paramiko==3.4.0 +pluggy==1.4.0 +prometheus_client==0.20.0 +prompt-toolkit==3.0.43 +protobuf==3.20.3 +# prerequisite: install libpq-dev (debian) or postgresql-devel (rhel), postgresql (mac) +# see https://www.psycopg.org/docs/install.html#build-prerequisites +# you might have to install additional packages depending on your OS +psycopg==3.1.18 +psycopg2==2.9.9 +psycopg2-binary==2.9.9 +pycparser==2.21 +pymongo==4.6.3 +PyMySQL==0.10.1 +PyNaCl==1.5.0 +# prerequisite: install unixodbc +pyodbc==5.0.1 +pyrsistent==0.20.0 +pytest==8.0.2 +pytest-celery==0.0.0 +python-dateutil==2.9.0.post0 +python-dotenv==0.21.1 +pytz==2024.1 +PyYAML==5.3.1 +redis==5.0.1 +remoulade==3.2.0 +requests==2.25.0 +six==1.16.0 +SQLAlchemy==1.4.52 +texttable==1.7.0 +tomli==2.0.1 +typing_extensions==4.12.2 +tzdata==2024.1 +urllib3==1.26.19 +vine==5.1.0 +wcwidth==0.2.13 +websocket-client==0.59.0 +wrapt==1.16.0 +zipp==3.18.0 diff --git a/tox.ini b/tox.ini index 5fa58e5139..563f6cc34d 100644 --- a/tox.ini +++ b/tox.ini @@ -393,456 +393,281 @@ envlist = ruff [testenv] +test_deps = + opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api + opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions + opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk + opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils + deps = lint: -r dev-requirements.txt coverage: pytest coverage: pytest-cov - ; FIXME: add coverage testing - ; FIXME: add mypy testing -allowlist_externals = - sh + opentelemetry-instrumentation: {[testenv]test_deps} + opentelemetry-instrumentation: -r {toxinidir}/opentelemetry-instrumentation/test-requirements.txt -setenv = - ; override CORE_REPO_SHA via env variable when testing other branches/commits than main - ; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e - CORE_REPO_SHA={env:CORE_REPO_SHA:main} - CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA} - -commands_pre = - opentelemetry-instrumentation: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - opentelemetry-instrumentation: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - opentelemetry-instrumentation: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - opentelemetry-instrumentation: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - opentelemetry-instrumentation: pip install -r {toxinidir}/opentelemetry-instrumentation/test-requirements.txt + distro: {[testenv]test_deps} + distro: -r {toxinidir}/opentelemetry-distro/test-requirements.txt # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API # and SDK supported to test we are honoring it - openai-0: pip install -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements-0.txt + openai-0: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements-0.txt # and the latest version of OTel API and SDK - openai-1: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - openai-1: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - openai-1: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - openai-1: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - openai-1: pip install -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements-1.txt - lint-instrumentation-openai-v2: pip install -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements-0.txt - - distro: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - distro: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - distro: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - distro: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - distro: pip install -r {toxinidir}/opentelemetry-distro/test-requirements.txt - - asgi: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - asgi: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - asgi: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - asgi: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - asgi: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt - - celery: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - celery: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - celery: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - celery: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - py3{8,9}-test-instrumentation-celery: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt - py3{10,11,12}-test-instrumentation-celery: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - pypy3-test-instrumentation-celery: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - lint-instrumentation-celery: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - - click: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - click: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - click: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - click: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - click: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-click/test-requirements.txt - - sio-pika: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - sio-pika: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - sio-pika: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - sio-pika-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt - sio-pika-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt - lint-instrumentation-sio-pika: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt - - aio-pika: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - aio-pika: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - aio-pika: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - aio-pika-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt - aio-pika-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt - aio-pika-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt - aio-pika-3: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt - lint-instrumentation-aio-pika: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt - - aiokafka: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - aiokafka: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - aiokafka: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - aiokafka: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - aiokafka: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/test-requirements.txt - - kafka-python: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - kafka-python: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - kafka-python: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - kafka-python: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt - kafka-pythonng: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - kafka-pythonng: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - kafka-pythonng: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - kafka-pythonng: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt - - confluent-kafka: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - confluent-kafka: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - confluent-kafka: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - confluent-kafka: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - confluent-kafka: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt - - grpc: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - grpc: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - grpc: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - grpc: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - grpc-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt - grpc-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt - lint-instrumentation-grpc: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt - - wsgi: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - wsgi: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - wsgi: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - wsgi: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - wsgi: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt - - asyncpg: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - asyncpg: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - asyncpg: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - asyncpg: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - asyncpg: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt - - aws-lambda: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - aws-lambda: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - aws-lambda: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - aws-lambda: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - aws-lambda: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt - - boto: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - boto: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - boto: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - boto: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - boto: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt - - boto3sqs: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - boto3sqs: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - boto3sqs: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - boto3sqs: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - boto3sqs: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt - - falcon: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - falcon: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - falcon: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - falcon: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - falcon-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt - falcon-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt - falcon-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt - lint-instrumentation-falcon: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt - - flask: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - flask: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - flask: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - flask: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - flask-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt - flask-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt - flask-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt - lint-instrumentation-flask: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt - - urllib: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - urllib: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - urllib: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - urllib: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - urllib: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt - - urllib3: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - urllib3: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - urllib3: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - urllib3: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - urllib3-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt - urllib3-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt - lint-instrumentation-urllib3: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt - - botocore: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - botocore: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - botocore: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - botocore: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - botocore: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements.txt - - cassandra: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - cassandra: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - cassandra: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - cassandra: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - cassandra: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt - - dbapi: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - dbapi: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - dbapi: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - dbapi: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - dbapi: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt - - django: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - django: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - django: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - django: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - py3{8,9}-test-instrumentation-django-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt - py3{8,9}-test-instrumentation-django-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - py3{8,9}-test-instrumentation-django-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt - py3{10,11,12}-test-instrumentation-django-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - py3{10,11,12}-test-instrumentation-django-3: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt - pypy3-test-instrumentation-django-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt - pypy3-test-instrumentation-django-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - lint-instrumentation-django: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt - - fastapi: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - fastapi: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - fastapi: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - fastapi: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - fastapi: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt - - mysql: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - mysql: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - mysql: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - mysql: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - mysql-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt - mysql-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt - lint-instrumentation-mysql: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt - - mysqlclient: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - mysqlclient: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - mysqlclient: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - mysqlclient: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - mysqlclient: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt - - pymemcache: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - pymemcache: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - pymemcache: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - pymemcache: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - pymemcache-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt - pymemcache-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt - pymemcache-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt - pymemcache-3: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt - pymemcache-4: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt - lint-instrumentation-pymemcache: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt - - pymongo: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - pymongo: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - pymongo: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - pymongo: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - pymongo: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt - - psycopg: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - psycopg: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - psycopg: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - psycopg: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - py3{8,9}-test-instrumentation-psycopg: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt - py3{10,11,12}-test-instrumentation-psycopg: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - pypy3-test-instrumentation-psycopg: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - lint-instrumentation-psycopg: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - - psycopg2: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - psycopg2: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - psycopg2: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - psycopg2: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - psycopg2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt - - pymysql: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - pymysql: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - pymysql: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - pymysql: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - pymysql: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt - - pyramid: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - pyramid: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - pyramid: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - pyramid: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - pyramid: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt - - sqlite3: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - sqlite3: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - sqlite3: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - sqlite3: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - sqlite3: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt - - redis: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - redis: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - redis: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - redis: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - redis: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt - - remoulade: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - remoulade: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - remoulade: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - remoulade: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - remoulade: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt - - requests: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - requests: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - requests: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - requests: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - requests: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt - - starlette: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - starlette: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - starlette: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - starlette: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - starlette: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.txt - - system-metrics: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - system-metrics: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - system-metrics: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - system-metrics: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - system-metrics: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt - - threading: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - threading: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - threading: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - threading: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - threading: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt - - tornado: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - tornado: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - tornado: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - tornado: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - tornado: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt - - tortoiseorm: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - tortoiseorm: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - tortoiseorm: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - tortoiseorm: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - tortoiseorm: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt - - jinja2: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - jinja2: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - jinja2: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - jinja2: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - jinja2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt - - logging: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - logging: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - logging: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - logging: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - logging: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt - - aiohttp-client: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - aiohttp-client: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - aiohttp-client: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - aiohttp-client: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - aiohttp-client: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt - - aiohttp-server: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - aiohttp-server: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - aiohttp-server: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - aiohttp-server: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - aiohttp-server: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt - - aiopg: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - aiopg: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - aiopg: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - aiopg: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - aiopg: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt - - richconsole: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - richconsole: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - richconsole: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - richconsole: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - richconsole: pip install -r {toxinidir}/exporter/opentelemetry-exporter-richconsole/test-requirements.txt - - prometheus: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - prometheus: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - prometheus: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - prometheus: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - prometheus: pip install -r {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt - - sqlalchemy: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - sqlalchemy: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - sqlalchemy: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - sqlalchemy: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - sqlalchemy-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt - sqlalchemy-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt - sqlalchemy-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt - lint-instrumentation-sqlalchemy: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt - - elasticsearch: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - elasticsearch: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - elasticsearch: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - elasticsearch: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - elasticsearch-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt - elasticsearch-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt - elasticsearch-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt - lint-instrumentation-elasticsearch: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt - - asyncio: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - asyncio: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - asyncio: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - asyncio: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - asyncio: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt - - httpx: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - httpx: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - httpx: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - httpx: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - httpx-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt - httpx-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt - lint-instrumentation-httpx: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt + openai-1: {[testenv]test_deps} + openai-1: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements-1.txt + lint-instrumentation-openai-v2: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements-0.txt + + asgi: {[testenv]test_deps} + asgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt + + celery: {[testenv]test_deps} + py3{8,9}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt + py3{10,11,12}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + pypy3-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + lint-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + + click: {[testenv]test_deps} + click: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-click/test-requirements.txt + + sio-pika: {[testenv]test_deps} + sio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt + sio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt + lint-instrumentation-sio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt + + aio-pika: {[testenv]test_deps} + aio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt + aio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt + aio-pika-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt + aio-pika-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt + lint-instrumentation-aio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt + + aiokafka: {[testenv]test_deps} + aiokafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/test-requirements.txt + + kafka-python: {[testenv]test_deps} + kafka-python: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt + + kafka-pythonng: {[testenv]test_deps} + kafka-pythonng: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt + + confluent-kafka: {[testenv]test_deps} + confluent-kafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt + + grpc: {[testenv]test_deps} + grpc-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt + grpc-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt + lint-instrumentation-grpc: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt + + wsgi: {[testenv]test_deps} + wsgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt + + asyncpg: {[testenv]test_deps} + asyncpg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt + + aws-lambda: {[testenv]test_deps} + aws-lambda: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt + + boto: {[testenv]test_deps} + boto: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt + + boto3sqs: {[testenv]test_deps} + boto3sqs: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt + + falcon: {[testenv]test_deps} + falcon-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt + falcon-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt + falcon-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt + lint-instrumentation-falcon: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt + + flask: {[testenv]test_deps} + flask-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt + flask-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt + flask-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt + lint-instrumentation-flask: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt + + urllib: {[testenv]test_deps} + urllib: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt + + urllib3: {[testenv]test_deps} + urllib3-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt + urllib3-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt + lint-instrumentation-urllib3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt + + botocore: {[testenv]test_deps} + botocore: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements.txt + + cassandra: {[testenv]test_deps} + cassandra: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt + + dbapi: {[testenv]test_deps} + dbapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt + + django: {[testenv]test_deps} + py3{8,9}-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt + py3{8,9}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + py3{8,9}-test-instrumentation-django-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt + py3{10,11,12}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + py3{10,11,12}-test-instrumentation-django-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt + pypy3-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt + pypy3-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + lint-instrumentation-django: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt + + fastapi: {[testenv]test_deps} + fastapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt + + mysql: {[testenv]test_deps} + mysql-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt + mysql-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt + lint-instrumentation-mysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt + + mysqlclient: {[testenv]test_deps} + mysqlclient: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt + + pymemcache: {[testenv]test_deps} + pymemcache-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt + pymemcache-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt + pymemcache-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt + pymemcache-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt + pymemcache-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt + lint-instrumentation-pymemcache: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt + + pymongo: {[testenv]test_deps} + pymongo: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt + + psycopg: {[testenv]test_deps} + py3{8,9}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt + py3{10,11,12}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + pypy3-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + lint-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + + psycopg2: {[testenv]test_deps} + psycopg2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt + + pymysql: {[testenv]test_deps} + pymysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt + + pyramid: {[testenv]test_deps} + pyramid: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt + + sqlite3: {[testenv]test_deps} + sqlite3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt + + redis: {[testenv]test_deps} + redis: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt + + remoulade: {[testenv]test_deps} + remoulade: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt + + requests: {[testenv]test_deps} + requests: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt + + starlette: {[testenv]test_deps} + starlette: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.txt + + system-metrics: {[testenv]test_deps} + system-metrics: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt + + threading: {[testenv]test_deps} + threading: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt + + tornado: {[testenv]test_deps} + tornado: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt + + tortoiseorm: {[testenv]test_deps} + tortoiseorm: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt + + jinja2: {[testenv]test_deps} + jinja2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt + + logging: {[testenv]test_deps} + logging: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt + + aiohttp-client: {[testenv]test_deps} + aiohttp-client: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt + + aiohttp-server: {[testenv]test_deps} + aiohttp-server: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt + + aiopg: {[testenv]test_deps} + aiopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt + + richconsole: {[testenv]test_deps} + richconsole: -r {toxinidir}/exporter/opentelemetry-exporter-richconsole/test-requirements.txt + + prometheus: {[testenv]test_deps} + prometheus: -r {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt + + sqlalchemy: {[testenv]test_deps} + sqlalchemy-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt + sqlalchemy-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt + sqlalchemy-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt + lint-instrumentation-sqlalchemy: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt + + elasticsearch: {[testenv]test_deps} + elasticsearch-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt + elasticsearch-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt + elasticsearch-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt + lint-instrumentation-elasticsearch: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt + + asyncio: {[testenv]test_deps} + asyncio: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt + + httpx: {[testenv]test_deps} + httpx-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt + httpx-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt + lint-instrumentation-httpx: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API # and SDK supported to test we are honoring it - sdk-extension-aws-0: pip install -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt + sdk-extension-aws-0: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt # and the latest version of OTel API and SDK - sdk-extension-aws-1: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - sdk-extension-aws-1: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - sdk-extension-aws-1: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - sdk-extension-aws-1: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - sdk-extension-aws-1: pip install -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-1.txt - lint-sdk-extension-aws: pip install -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt - benchmark-sdk-extension-aws: pip install -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmark-requirements.txt - - resource-detector-container: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - resource-detector-container: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - resource-detector-container: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - resource-detector-container: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - resource-detector-container: pip install -r {toxinidir}/resource/opentelemetry-resource-detector-container/test-requirements.txt + sdk-extension-aws-1: {[testenv]test_deps} + sdk-extension-aws-1: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-1.txt + lint-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt + benchmark-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmark-requirements.txt + + resource-detector-container: {[testenv]test_deps} + resource-detector-container: -r {toxinidir}/resource/opentelemetry-resource-detector-container/test-requirements.txt # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API # and SDK supported to test we are honoring it - resource-detector-azure-0: pip install -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt + resource-detector-azure-0: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt # and the latest version of OTel API and SDK - resource-detector-azure-1: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - resource-detector-azure-1: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - resource-detector-azure-1: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - resource-detector-azure-1: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - resource-detector-azure-1: pip install -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-1.txt - lint-resource-detector-azure: pip install -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt - - propagator-ot-trace: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - propagator-ot-trace: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - propagator-ot-trace: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - propagator-ot-trace: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - propagator-ot-trace: pip install -r {toxinidir}/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt + resource-detector-azure-1: {[testenv]test_deps} + resource-detector-azure-1: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-1.txt + lint-resource-detector-azure: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt + + propagator-ot-trace: {[testenv]test_deps} + propagator-ot-trace: -r {toxinidir}/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API # and SDK supported to test we are honoring it - propagator-aws-xray-0: pip install -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt + propagator-aws-xray-0: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt # and the latest version of OTel API and SDK - propagator-aws-xray-1: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - propagator-aws-xray-1: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - propagator-aws-xray-1: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - propagator-aws-xray-1: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - propagator-aws-xray-1: pip install -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-1.txt - lint-propagator-aws-xray: pip install -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt - benchmark-propagator-aws-xray: pip install -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmark-requirements.txt - - processor-baggage: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - processor-baggage: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - processor-baggage: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - processor-baggage: pip install -r {toxinidir}/processor/opentelemetry-processor-baggage/test-requirements.txt - - util-http: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - util-http: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - util-http: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - util-http: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils - util-http: pip install -r {toxinidir}/util/opentelemetry-util-http/test-requirements.txt - util-http: pip install {toxinidir}/util/opentelemetry-util-http + propagator-aws-xray-1: {[testenv]test_deps} + propagator-aws-xray-1: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-1.txt + lint-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt + benchmark-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmark-requirements.txt + processor-baggage: {[testenv]test_deps} + processor-baggage: -r {toxinidir}/processor/opentelemetry-processor-baggage/test-requirements.txt + + util-http: {[testenv]test_deps} + util-http: -r {toxinidir}/util/opentelemetry-util-http/test-requirements.txt + util-http: {toxinidir}/util/opentelemetry-util-http + ; FIXME: add coverage testing + ; FIXME: add mypy testing +allowlist_externals = + sh + +setenv = + ; override CORE_REPO_SHA via env variable when testing other branches/commits than main + ; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e + CORE_REPO_SHA={env:CORE_REPO_SHA:main} + CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA} + +commands_pre = ; In order to get a health coverage report, ; we have to install packages in editable mode. coverage: python {toxinidir}/scripts/eachdist.py install --editable @@ -1043,13 +868,9 @@ deps = -c {toxinidir}/dev-requirements.txt -r {toxinidir}/docs-requirements.txt pytest - -commands_pre = - python -m pip install {env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - python -m pip install {env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - python -m pip install {env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - python -m pip install {toxinidir}/opentelemetry-instrumentation - python -m pip install {toxinidir}/util/opentelemetry-util-http + {[testenv]test_deps} + {toxinidir}/opentelemetry-instrumentation + {toxinidir}/util/opentelemetry-util-http changedir = docs @@ -1068,81 +889,27 @@ commands = [testenv:docker-tests] basepython: python3 deps = - aiopg==1.4.0 - amqp==5.2.0 - asgiref==3.8.1 - async-timeout==4.0.3 - asyncpg==0.29.0 - attrs==23.2.0 - bcrypt==4.1.2 - billiard==4.2.0 - celery==5.3.6 - certifi==2024.2.2 - cffi==1.16.0 - chardet==3.0.4 - click==8.1.7 - click-didyoumean==0.3.0 - click-plugins==1.1.1 - click-repl==0.3.0 - cryptography==42.0.5 - Deprecated==1.2.14 - distro==1.9.0 - dnspython==2.6.1 - docker==5.0.3 - docker-compose==1.29.2 - dockerpty==0.4.1 - docopt==0.6.2 - exceptiongroup==1.2.0 - flaky==3.7.0 - greenlet==3.0.3 - grpcio==1.62.1 - idna==2.10 - iniconfig==2.0.0 - jsonschema==3.2.0 - kombu==5.3.5 - mysql-connector-python==8.3.0 - mysqlclient==2.1.1 - opencensus-proto==0.1.0 - packaging==24.0 - paramiko==3.4.0 - pluggy==1.4.0 - prometheus_client==0.20.0 - prompt-toolkit==3.0.43 - protobuf==3.20.3 - # prerequisite: install libpq-dev (debian) or postgresql-devel (rhel), postgresql (mac) - # see https://www.psycopg.org/docs/install.html#build-prerequisites - # you might have to install additional packages depending on your OS - psycopg==3.1.18 - psycopg2==2.9.9 - psycopg2-binary==2.9.9 - pycparser==2.21 - pymongo==4.6.3 - PyMySQL==0.10.1 - PyNaCl==1.5.0 - # prerequisite: install unixodbc - pyodbc==5.0.1 - pyrsistent==0.20.0 - pytest==8.0.2 - pytest-celery==0.0.0 - python-dateutil==2.9.0.post0 - python-dotenv==0.21.1 - pytz==2024.1 - PyYAML==5.3.1 - redis==5.0.1 - remoulade==3.2.0 - requests==2.25.0 - six==1.16.0 - SQLAlchemy==1.4.52 - texttable==1.7.0 - tomli==2.0.1 - typing_extensions==4.12.2 - tzdata==2024.1 - urllib3==1.26.19 - vine==5.1.0 - wcwidth==0.2.13 - websocket-client==0.59.0 - wrapt==1.16.0 - zipp==3.18.0 + {[testenv]test_deps} + -r {toxinidir}/tests/opentelemetry-docker-tests/tests/test-requirements.txt + -e {toxinidir}/opentelemetry-instrumentation + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade + opentelemetry-exporter-opencensus@{env:CORE_REPO}\#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus changedir = tests/opentelemetry-docker-tests/tests @@ -1150,29 +917,6 @@ changedir = commands_pre = sh -c "sudo apt update -y && sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev unixodbc" python -c "import pyodbc; print(pyodbc.drivers())" - pip install {env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api \ - {env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions \ - {env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk \ - {env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils \ - -e {toxinidir}/opentelemetry-instrumentation \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis \ - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade \ - {env:CORE_REPO}\#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus docker-compose up -d python check_availability.py @@ -1197,9 +941,9 @@ commands = {toxinidir}/scripts/generate_instrumentation_metapackage.py [testenv:generate-workflows] - -commands_pre = - pip install {toxinidir}/.github/workflows/generate_workflows_lib +recreate = True +deps = + {toxinidir}/.github/workflows/generate_workflows_lib commands = python {toxinidir}/.github/workflows/generate_workflows.py diff --git a/util/opentelemetry-util-http/pyproject.toml b/util/opentelemetry-util-http/pyproject.toml index 0e632a81b3..23b4d3efc1 100644 --- a/util/opentelemetry-util-http/pyproject.toml +++ b/util/opentelemetry-util-http/pyproject.toml @@ -27,6 +27,7 @@ classifiers = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/util/opentelemetry-util-http" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" [tool.hatch.version] path = "src/opentelemetry/util/http/version.py" diff --git a/util/opentelemetry-util-http/src/opentelemetry/util/http/version.py b/util/opentelemetry-util-http/src/opentelemetry/util/http/version.py index 0559ba6227..6e2923f0db 100644 --- a/util/opentelemetry-util-http/src/opentelemetry/util/http/version.py +++ b/util/opentelemetry-util-http/src/opentelemetry/util/http/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "0.50b0.dev" +__version__ = "0.51b0.dev"