diff --git a/.github/component_owners.yml b/.github/component_owners.yml
index b092d5d2c3..e3ca06b450 100644
--- a/.github/component_owners.yml
+++ b/.github/component_owners.yml
@@ -45,27 +45,13 @@ components:
instrumentation/opentelemetry-instrumentation-urllib:
- shalevr
- - ocelotl
instrumentation/opentelemetry-instrumentation-urllib3:
- shalevr
- - ocelotl
instrumentation/opentelemetry-instrumentation-sqlalchemy:
- shalevr
- instrumentation/opentelemetry-instrumentation-flask:
- - ocelotl
-
- instrumentation/opentelemetry-instrumentation-jinja2:
- - ocelotl
-
- instrumentation/opentelemetry-instrumentation-logging:
- - ocelotl
-
- instrumentation/opentelemetry-instrumentation-requests:
- - ocelotl
-
instrumentation/opentelemetry-instrumentation-cassandra:
- mattcontinisio
diff --git a/.github/workflows/generate_workflows_lib/src/generate_workflows_lib/misc.yml.j2 b/.github/workflows/generate_workflows_lib/src/generate_workflows_lib/misc.yml.j2
index fe479ae5b2..2b0735b432 100644
--- a/.github/workflows/generate_workflows_lib/src/generate_workflows_lib/misc.yml.j2
+++ b/.github/workflows/generate_workflows_lib/src/generate_workflows_lib/misc.yml.j2
@@ -23,6 +23,11 @@ jobs:
{%- if job_data == "generate-workflows" %}
if: |
!contains(github.event.pull_request.labels.*.name, 'Skip generate-workflows')
+ && github.actor != 'opentelemetrybot' && github.event_name == 'pull_request'
+ {%- endif %}
+ {%- if job_data == "public-symbols-check" %}
+ if: |
+ !contains(github.event.pull_request.labels.*.name, 'Approve Public API check')
&& github.actor != 'opentelemetrybot'
{%- endif %}
steps:
diff --git a/.github/workflows/misc_0.yml b/.github/workflows/misc_0.yml
index f7b9faa9f3..3c3f7bfacf 100644
--- a/.github/workflows/misc_0.yml
+++ b/.github/workflows/misc_0.yml
@@ -96,7 +96,7 @@ jobs:
runs-on: ubuntu-latest
if: |
!contains(github.event.pull_request.labels.*.name, 'Skip generate-workflows')
- && github.actor != 'opentelemetrybot'
+ && github.actor != 'opentelemetrybot' && github.event_name == 'pull_request'
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 39236a33f3..003f8054f6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,21 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
-## Added
+## Version 1.27.0/0.48b0 ()
+
+### Added
- `opentelemetry-instrumentation-kafka-python` Instrument temporary fork, kafka-python-ng
inside kafka-python's instrumentation
([#2537](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2537))
-## Breaking changes
+### Breaking changes
- `opentelemetry-bootstrap` Remove `opentelemetry-instrumentation-aws-lambda` from the defaults instrumentations
([#2786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2786))
-## Fixed
+### Fixed
+- `opentelemetry-instrumentation-httpx` fix handling of async hooks
+ ([#2823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2823))
+- `opentelemetry-instrumentation-system-metrics` fix `process.runtime.cpu.utilization` values to be shown in range of 0 to 1
+ ([#2812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2812))
- `opentelemetry-instrumentation-fastapi` fix `fastapi` auto-instrumentation by removing `fastapi-slim` support, `fastapi-slim` itself is discontinued from maintainers
- ([2783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2783))
+ ([#2783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2783))
- `opentelemetry-instrumentation-aws-lambda` Avoid exception when a handler is not present.
([#2750](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2750))
- `opentelemetry-instrumentation-django` Fix regression - `http.target` re-added back to old semconv duration metrics
@@ -36,6 +42,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
([#2385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2385))
- `opentelemetry-instrumentation-asyncio` Fixes async generator coroutines not being awaited
([#2792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2792))
+- `opentelemetry-instrumentation-tornado` Handle http client exception and record exception info into span
+ ([#2563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2563))
+- `opentelemetry-instrumentation` fix `http.host` new http semantic convention mapping to depend on `kind` of span
+ ([#2814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2814))
+- `opentelemetry-instrumentation` Fix the description of `http.server.duration` and `http.server.request.duration`
+ ([#2753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2753))
## Version 1.26.0/0.47b0 (2024-07-23)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 990d6b14a2..61f261f001 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -15,7 +15,7 @@ and [**Maintainer**](https://github.com/open-telemetry/community/blob/main/commu
Before you can contribute, you will need to sign the [Contributor License Agreement](https://docs.linuxfoundation.org/lfx/easycla/contributors).
-Please also read the [OpenTelemetry Contributor Guide](https://github.com/open-telemetry/community/blob/main/CONTRIBUTING.md).
+Please also read the [OpenTelemetry Contributor Guide](https://github.com/open-telemetry/community/blob/main/guides/contributor/README.md).
## Index
@@ -235,7 +235,7 @@ Some of the tox targets install packages from the [OpenTelemetry Python Core Rep
CORE_REPO_SHA=c49ad57bfe35cfc69bfa863d74058ca9bec55fc3 tox
```
-The continuous integration overrides that environment variable with as per the configuration [here](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/.github/workflows/test.yml#L9).
+The continuous integration overrides that environment variable with as per the configuration [here](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/.github/workflows/test_0.yml#L14).
## Style Guide
@@ -275,6 +275,7 @@ Below is a checklist of things to be mindful of when implementing a new instrume
- Isolate sync and async test
- For synchronous tests, the typical test case class is inherited from `opentelemetry.test.test_base.TestBase`. However, if you want to write asynchronous tests, the test case class should inherit also from `IsolatedAsyncioTestCase`. Adding asynchronous tests to a common test class can lead to tests passing without actually running, which can be misleading.
- ex.
+- All instrumentations have the same version. If you are going to develop a new instrumentation it would probably have `X.Y.dev` version and depends on `opentelemetry-instrumentation` and `opentelemetry-semantic-conventions` for the same version. That means that if you want to install your instrumentation you need to install its dependencies from this repo and the core repo also from git.
## Expectations from contributors
diff --git a/README.md b/README.md
index dcb2ebbba5..1a2aaf4f8a 100644
--- a/README.md
+++ b/README.md
@@ -20,8 +20,11 @@
-
-
+
+
+
+
+
@@ -109,12 +112,10 @@ Meeting notes are available as a public [Google doc](https://docs.google.com/doc
Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telemetry/teams/python-approvers)):
-- [Aaron Abbott](https://github.com/aabmass), Google
- [EmÃdio Neto](https://github.com/emdneto), Zenvia
- [Jeremy Voss](https://github.com/jeremydvoss), Microsoft
- [Owais Lone](https://github.com/owais), Splunk
- [Pablo Collins](https://github.com/pmcollins), Splunk
-- [Riccardo Magliocchetti](https://github.com/xrmx), Elastic
- [Sanket Mehta](https://github.com/sanketmehta28), Cisco
- [Srikanth Chekuri](https://github.com/srikanthccv), signoz.io
- [Tammy Baylis](https://github.com/tammy-baylis-swi), SolarWinds
@@ -131,8 +132,10 @@ Emeritus Approvers:
Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-telemetry/teams/python-maintainers)):
+- [Aaron Abbott](https://github.com/aabmass), Google
- [Diego Hurtado](https://github.com/ocelotl), Lightstep
- [Leighton Chen](https://github.com/lzchen), Microsoft
+- [Riccardo Magliocchetti](https://github.com/xrmx), Elastic
- [Shalev Roda](https://github.com/shalevr), Cisco
Emeritus Maintainers:
diff --git a/_template/version.py b/_template/version.py
index 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/eachdist.ini b/eachdist.ini
index 2bcbde9c7c..79c865b334 100644
--- a/eachdist.ini
+++ b/eachdist.ini
@@ -16,7 +16,7 @@ sortfirst=
ext/*
[stable]
-version=1.27.0.dev
+version=1.28.0.dev
packages=
opentelemetry-sdk
@@ -34,7 +34,7 @@ packages=
opentelemetry-api
[prerelease]
-version=0.48b0.dev
+version=0.49b0.dev
packages=
all
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt b/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt
index f7e66ddd13..5836dc9764 100644
--- a/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt
+++ b/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
certifi==2024.7.4
charset-normalizer==3.3.2
# We can drop this after bumping baseline to pypy-39
diff --git a/exporter/opentelemetry-exporter-richconsole/pyproject.toml b/exporter/opentelemetry-exporter-richconsole/pyproject.toml
index 6d38226160..eb00eb0437 100644
--- a/exporter/opentelemetry-exporter-richconsole/pyproject.toml
+++ b/exporter/opentelemetry-exporter-richconsole/pyproject.toml
@@ -27,7 +27,7 @@ classifiers = [
dependencies = [
"opentelemetry-api ~= 1.12",
"opentelemetry-sdk ~= 1.12",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"rich>=10.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/exporter/opentelemetry-exporter-richconsole/test-requirements.txt b/exporter/opentelemetry-exporter-richconsole/test-requirements.txt
index dee47c7880..0ef562821f 100644
--- a/exporter/opentelemetry-exporter-richconsole/test-requirements.txt
+++ b/exporter/opentelemetry-exporter-richconsole/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
flaky==3.7.0
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-aio-pika/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aio-pika/pyproject.toml
index c8be384fe6..65dfe3c7ac 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.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt
index a08f6427db..de853e16c9 100644
--- a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt
@@ -1,6 +1,6 @@
aio-pika==7.2.0
aiormq==6.2.3
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
idna==3.7
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt
index 99b5fdfd1f..dbfb89fe82 100644
--- a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt
@@ -1,6 +1,6 @@
aio-pika==8.3.0
aiormq==6.6.4
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
idna==3.7
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt
index 7051299461..6a95bd69f0 100644
--- a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt
+++ b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt
@@ -1,6 +1,6 @@
aio-pika==9.0.5
aiormq==6.7.1
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
idna==3.7
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt
index de5e8b310f..82e742a1f4 100644
--- a/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt
+++ b/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt
@@ -1,6 +1,6 @@
aio-pika==9.4.1
aiormq==6.8.0
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
idna==3.7
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-client/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aiohttp-client/pyproject.toml
index cfc53f723a..fbe663a50b 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 aa0c1a911f..49b83ce95e 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt
index be0311238f..dee4736133 100644
--- a/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt
@@ -1,6 +1,6 @@
aiohttp==3.10.2
aiosignal==1.3.1
-asgiref==3.7.2
+asgiref==3.8.1
async-timeout==4.0.3
blinker==1.7.0
certifi==2024.7.4
diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-server/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aiohttp-server/pyproject.toml
index 6d62bd7956..a8e912e68d 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/__init__.py b/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/__init__.py
index 659ff24af6..6db7719c76 100644
--- a/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-aiohttp-server/src/opentelemetry/instrumentation/aiohttp_server/__init__.py
@@ -207,7 +207,7 @@ async def middleware(request, handler):
duration_histogram = meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="Duration of HTTP server requests.",
+ description="Measures the duration of inbound HTTP requests.",
)
active_requests_counter = meter.create_up_down_counter(
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt
index 9cd6a3c111..e6dff52db9 100644
--- a/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt
@@ -1,6 +1,6 @@
aiohttp==3.10.2
aiosignal==1.3.1
-asgiref==3.7.2
+asgiref==3.8.1
async-timeout==4.0.3
Deprecated==1.2.14
frozenlist==1.4.1
diff --git a/instrumentation/opentelemetry-instrumentation-aiopg/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aiopg/pyproject.toml
index 404bc9c445..3a583db3dd 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.48b0.dev",
- "opentelemetry-instrumentation-dbapi == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt
index bc61c3d6fc..1443104081 100644
--- a/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt
@@ -1,5 +1,5 @@
aiopg==1.4.0
-asgiref==3.7.2
+asgiref==3.8.1
async-timeout==4.0.3
Deprecated==1.2.14
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-asgi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-asgi/pyproject.toml
index 480ca75df7..45c436aad4 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
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 8e3199cef8..420fd512d6 100644
--- a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py
@@ -215,10 +215,10 @@ def client_response_hook(span: Span, scope: dict[str, Any], message: dict[str, A
_server_duration_attrs_new,
_server_duration_attrs_old,
_set_http_flavor_version,
- _set_http_host,
+ _set_http_host_server,
_set_http_method,
_set_http_net_host_port,
- _set_http_peer_ip,
+ _set_http_peer_ip_server,
_set_http_peer_port_server,
_set_http_scheme,
_set_http_target,
@@ -342,7 +342,7 @@ def collect_request_attributes(
if scheme:
_set_http_scheme(result, scheme, sem_conv_opt_in_mode)
if server_host:
- _set_http_host(result, server_host, sem_conv_opt_in_mode)
+ _set_http_host_server(result, server_host, sem_conv_opt_in_mode)
if port:
_set_http_net_host_port(result, port, sem_conv_opt_in_mode)
flavor = scope.get("http_version")
@@ -380,7 +380,9 @@ def collect_request_attributes(
_set_http_user_agent(result, http_user_agent[0], sem_conv_opt_in_mode)
if "client" in scope and scope["client"] is not None:
- _set_http_peer_ip(result, scope.get("client")[0], sem_conv_opt_in_mode)
+ _set_http_peer_ip_server(
+ result, scope.get("client")[0], sem_conv_opt_in_mode
+ )
_set_http_peer_port_server(
result, scope.get("client")[1], sem_conv_opt_in_mode
)
@@ -577,7 +579,7 @@ def __init__(
self.duration_histogram_old = self.meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="Duration of HTTP server requests.",
+ description="Measures the duration of inbound HTTP requests.",
)
self.duration_histogram_new = None
if _report_new(sem_conv_opt_in_mode):
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt
index ebe439d1d2..18a11500e1 100644
--- a/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_custom_headers.py b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_custom_headers.py
index 5394d62ff0..f6cb05fbda 100644
--- a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_custom_headers.py
+++ b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_custom_headers.py
@@ -1,7 +1,21 @@
+# 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
import opentelemetry.instrumentation.asgi as otel_asgi
-from opentelemetry.test.asgitestutil import AsgiTestBase
+from opentelemetry.test.asgitestutil import AsyncAsgiTestBase
from opentelemetry.test.test_base import TestBase
from opentelemetry.trace import SpanKind
from opentelemetry.util.http import (
@@ -90,7 +104,7 @@ async def websocket_app_with_custom_headers(scope, receive, send):
break
-class TestCustomHeaders(AsgiTestBase, TestBase):
+class TestCustomHeaders(AsyncAsgiTestBase):
constructor_params = {}
__test__ = False
@@ -108,7 +122,7 @@ def setUp(self):
**self.constructor_params,
)
- def test_http_custom_request_headers_in_span_attributes(self):
+ async def test_http_custom_request_headers_in_span_attributes(self):
self.scope["headers"].extend(
[
(b"custom-test-header-1", b"test-header-value-1"),
@@ -119,8 +133,8 @@ def test_http_custom_request_headers_in_span_attributes(self):
]
)
self.seed_app(self.app)
- self.send_default_request()
- self.get_all_output()
+ await self.send_default_request()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
expected = {
"http.request.header.custom_test_header_1": (
@@ -139,7 +153,7 @@ def test_http_custom_request_headers_in_span_attributes(self):
if span.kind == SpanKind.SERVER:
self.assertSpanHasAttributes(span, expected)
- def test_http_repeat_request_headers_in_span_attributes(self):
+ async def test_http_repeat_request_headers_in_span_attributes(self):
self.scope["headers"].extend(
[
(b"custom-test-header-1", b"test-header-value-1"),
@@ -147,8 +161,8 @@ def test_http_repeat_request_headers_in_span_attributes(self):
]
)
self.seed_app(self.app)
- self.send_default_request()
- self.get_all_output()
+ await self.send_default_request()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
expected = {
"http.request.header.custom_test_header_1": (
@@ -159,15 +173,15 @@ def test_http_repeat_request_headers_in_span_attributes(self):
span = next(span for span in span_list if span.kind == SpanKind.SERVER)
self.assertSpanHasAttributes(span, expected)
- def test_http_custom_request_headers_not_in_span_attributes(self):
+ async def test_http_custom_request_headers_not_in_span_attributes(self):
self.scope["headers"].extend(
[
(b"custom-test-header-1", b"test-header-value-1"),
]
)
self.seed_app(self.app)
- self.send_default_request()
- self.get_all_output()
+ await self.send_default_request()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
expected = {
"http.request.header.custom_test_header_1": (
@@ -185,15 +199,15 @@ def test_http_custom_request_headers_not_in_span_attributes(self):
for key, _ in not_expected.items():
self.assertNotIn(key, span.attributes)
- def test_http_custom_response_headers_in_span_attributes(self):
+ async def test_http_custom_response_headers_in_span_attributes(self):
self.app = otel_asgi.OpenTelemetryMiddleware(
http_app_with_custom_headers,
tracer_provider=self.tracer_provider,
**self.constructor_params,
)
self.seed_app(self.app)
- self.send_default_request()
- self.get_all_output()
+ await self.send_default_request()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
expected = {
"http.response.header.custom_test_header_1": (
@@ -214,15 +228,15 @@ def test_http_custom_response_headers_in_span_attributes(self):
if span.kind == SpanKind.SERVER:
self.assertSpanHasAttributes(span, expected)
- def test_http_repeat_response_headers_in_span_attributes(self):
+ async def test_http_repeat_response_headers_in_span_attributes(self):
self.app = otel_asgi.OpenTelemetryMiddleware(
http_app_with_repeat_headers,
tracer_provider=self.tracer_provider,
**self.constructor_params,
)
self.seed_app(self.app)
- self.send_default_request()
- self.get_all_output()
+ await self.send_default_request()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
expected = {
"http.response.header.custom_test_header_1": (
@@ -233,15 +247,15 @@ def test_http_repeat_response_headers_in_span_attributes(self):
span = next(span for span in span_list if span.kind == SpanKind.SERVER)
self.assertSpanHasAttributes(span, expected)
- def test_http_custom_response_headers_not_in_span_attributes(self):
+ async def test_http_custom_response_headers_not_in_span_attributes(self):
self.app = otel_asgi.OpenTelemetryMiddleware(
http_app_with_custom_headers,
tracer_provider=self.tracer_provider,
**self.constructor_params,
)
self.seed_app(self.app)
- self.send_default_request()
- self.get_all_output()
+ await self.send_default_request()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
not_expected = {
"http.response.header.custom_test_header_3": (
@@ -253,7 +267,7 @@ def test_http_custom_response_headers_not_in_span_attributes(self):
for key, _ in not_expected.items():
self.assertNotIn(key, span.attributes)
- def test_websocket_custom_request_headers_in_span_attributes(self):
+ async def test_websocket_custom_request_headers_in_span_attributes(self):
self.scope = {
"type": "websocket",
"http_version": "1.1",
@@ -271,11 +285,11 @@ def test_websocket_custom_request_headers_in_span_attributes(self):
"server": ("127.0.0.1", 80),
}
self.seed_app(self.app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
expected = {
"http.request.header.custom_test_header_1": (
@@ -294,7 +308,9 @@ def test_websocket_custom_request_headers_in_span_attributes(self):
if span.kind == SpanKind.SERVER:
self.assertSpanHasAttributes(span, expected)
- def test_websocket_custom_request_headers_not_in_span_attributes(self):
+ async def test_websocket_custom_request_headers_not_in_span_attributes(
+ self,
+ ):
self.scope = {
"type": "websocket",
"http_version": "1.1",
@@ -309,11 +325,11 @@ def test_websocket_custom_request_headers_not_in_span_attributes(self):
"server": ("127.0.0.1", 80),
}
self.seed_app(self.app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
not_expected = {
"http.request.header.custom_test_header_3": (
@@ -325,7 +341,7 @@ def test_websocket_custom_request_headers_not_in_span_attributes(self):
for key, _ in not_expected.items():
self.assertNotIn(key, span.attributes)
- def test_websocket_custom_response_headers_in_span_attributes(self):
+ async def test_websocket_custom_response_headers_in_span_attributes(self):
self.scope = {
"type": "websocket",
"http_version": "1.1",
@@ -342,10 +358,10 @@ def test_websocket_custom_response_headers_in_span_attributes(self):
**self.constructor_params,
)
self.seed_app(self.app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
expected = {
"http.response.header.custom_test_header_1": (
@@ -366,7 +382,9 @@ def test_websocket_custom_response_headers_in_span_attributes(self):
if span.kind == SpanKind.SERVER:
self.assertSpanHasAttributes(span, expected)
- def test_websocket_custom_response_headers_not_in_span_attributes(self):
+ async def test_websocket_custom_response_headers_not_in_span_attributes(
+ self,
+ ):
self.scope = {
"type": "websocket",
"http_version": "1.1",
@@ -383,10 +401,10 @@ def test_websocket_custom_response_headers_not_in_span_attributes(self):
**self.constructor_params,
)
self.seed_app(self.app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
+ await self.get_all_output()
span_list = self.exporter.get_finished_spans()
not_expected = {
"http.response.header.custom_test_header_3": (
diff --git a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py
index af51faa808..a21dd626c8 100644
--- a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py
+++ b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py
@@ -14,7 +14,6 @@
# pylint: disable=too-many-lines
-import asyncio
import sys
import time
import unittest
@@ -53,10 +52,7 @@
from opentelemetry.semconv.attributes.network_attributes import (
NETWORK_PROTOCOL_VERSION,
)
-from opentelemetry.semconv.attributes.server_attributes import (
- SERVER_ADDRESS,
- SERVER_PORT,
-)
+from opentelemetry.semconv.attributes.server_attributes import SERVER_PORT
from opentelemetry.semconv.attributes.url_attributes import (
URL_PATH,
URL_QUERY,
@@ -67,7 +63,7 @@
)
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.test.asgitestutil import (
- AsgiTestBase,
+ AsyncAsgiTestBase,
setup_testing_defaults,
)
from opentelemetry.test.test_base import TestBase
@@ -278,7 +274,7 @@ async def error_asgi(scope, receive, send):
# pylint: disable=too-many-public-methods
-class TestAsgiApplication(AsgiTestBase):
+class TestAsgiApplication(AsyncAsgiTestBase):
def setUp(self):
super().setUp()
@@ -406,7 +402,6 @@ def validate_outputs(
HTTP_REQUEST_METHOD: "GET",
URL_SCHEME: "http",
SERVER_PORT: 80,
- SERVER_ADDRESS: "127.0.0.1",
NETWORK_PROTOCOL_VERSION: "1.0",
URL_PATH: "/",
CLIENT_ADDRESS: "127.0.0.1",
@@ -442,7 +437,6 @@ def validate_outputs(
HTTP_REQUEST_METHOD: "GET",
URL_SCHEME: "http",
SERVER_PORT: 80,
- SERVER_ADDRESS: "127.0.0.1",
NETWORK_PROTOCOL_VERSION: "1.0",
URL_PATH: "/",
CLIENT_ADDRESS: "127.0.0.1",
@@ -482,31 +476,31 @@ def validate_outputs(
"opentelemetry.instrumentation.asgi",
)
- def test_basic_asgi_call(self):
+ async def test_basic_asgi_call(self):
"""Test that spans are emitted as expected."""
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs)
- def test_basic_asgi_call_new_semconv(self):
+ async def test_basic_asgi_call_new_semconv(self):
"""Test that spans are emitted as expected."""
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs, old_sem_conv=False, new_sem_conv=True)
- def test_basic_asgi_call_both_semconv(self):
+ async def test_basic_asgi_call_both_semconv(self):
"""Test that spans are emitted as expected."""
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs, old_sem_conv=True, new_sem_conv=True)
- def test_asgi_not_recording(self):
+ async def test_asgi_not_recording(self):
mock_tracer = mock.Mock()
mock_span = mock.Mock()
mock_span.is_recording.return_value = False
@@ -519,21 +513,21 @@ def test_asgi_not_recording(self):
tracer.return_value = mock_tracer
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
self.assertFalse(mock_span.is_recording())
self.assertTrue(mock_span.is_recording.called)
self.assertFalse(mock_span.set_attribute.called)
self.assertFalse(mock_span.set_status.called)
- def test_asgi_exc_info(self):
+ async def test_asgi_exc_info(self):
"""Test that exception information is emitted as expected."""
app = otel_asgi.OpenTelemetryMiddleware(error_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs, error=ValueError)
- def test_long_response(self):
+ async def test_long_response(self):
"""Test that the server span is ended on the final response body message.
If the server span is ended early then this test will fail due
@@ -541,8 +535,8 @@ def test_long_response(self):
"""
app = otel_asgi.OpenTelemetryMiddleware(long_response_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
def add_more_body_spans(expected: list):
more_body_span = {
@@ -556,12 +550,12 @@ def add_more_body_spans(expected: list):
self.validate_outputs(outputs, modifiers=[add_more_body_spans])
- def test_background_execution(self):
+ async def test_background_execution(self):
"""Test that the server span is ended BEFORE the background task is finished."""
app = otel_asgi.OpenTelemetryMiddleware(background_execution_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs)
span_list = self.memory_exporter.get_finished_spans()
server_span = span_list[-1]
@@ -572,15 +566,15 @@ def test_background_execution(self):
_SIMULATED_BACKGROUND_TASK_EXECUTION_TIME_S * 10**9,
)
- def test_trailers(self):
+ async def test_trailers(self):
"""Test that trailers are emitted as expected and that the server span is ended
BEFORE the background task is finished."""
app = otel_asgi.OpenTelemetryMiddleware(
background_execution_trailers_asgi
)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
def add_body_and_trailer_span(expected: list):
body_span = {
@@ -607,7 +601,7 @@ def add_body_and_trailer_span(expected: list):
_SIMULATED_BACKGROUND_TASK_EXECUTION_TIME_S * 10**9,
)
- def test_override_span_name(self):
+ async def test_override_span_name(self):
"""Test that default span_names can be overwritten by our callback function."""
span_name = "Dymaxion"
@@ -628,11 +622,11 @@ def update_expected_span_name(expected):
simple_asgi, default_span_details=get_predefined_span_details
)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs, modifiers=[update_expected_span_name])
- def test_custom_tracer_provider_otel_asgi(self):
+ async def test_custom_tracer_provider_otel_asgi(self):
resource = resources.Resource.create({"service-test-key": "value"})
result = TestBase.create_tracer_provider(resource=resource)
tracer_provider, exporter = result
@@ -641,28 +635,28 @@ def test_custom_tracer_provider_otel_asgi(self):
simple_asgi, tracer_provider=tracer_provider
)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
span_list = exporter.get_finished_spans()
for span in span_list:
self.assertEqual(
span.resource.attributes["service-test-key"], "value"
)
- def test_no_op_tracer_provider_otel_asgi(self):
+ async def test_no_op_tracer_provider_otel_asgi(self):
app = otel_asgi.OpenTelemetryMiddleware(
simple_asgi, tracer_provider=trace_api.NoOpTracerProvider()
)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
- response_start, response_body, *_ = self.get_all_output()
+ response_start, response_body, *_ = await self.get_all_output()
self.assertEqual(response_body["body"], b"*")
self.assertEqual(response_start["status"], 200)
span_list = self.memory_exporter.get_finished_spans()
self.assertEqual(len(span_list), 0)
- def test_behavior_with_scope_server_as_none(self):
+ async def test_behavior_with_scope_server_as_none(self):
"""Test that middleware is ok when server is none in scope."""
def update_expected_server(expected):
@@ -678,17 +672,17 @@ def update_expected_server(expected):
self.scope["server"] = None
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs, modifiers=[update_expected_server])
- def test_behavior_with_scope_server_as_none_new_semconv(self):
+ async def test_behavior_with_scope_server_as_none_new_semconv(self):
"""Test that middleware is ok when server is none in scope."""
def update_expected_server(expected):
expected[3]["attributes"].update(
{
- SERVER_ADDRESS: "0.0.0.0",
+ CLIENT_ADDRESS: "0.0.0.0",
SERVER_PORT: 80,
}
)
@@ -697,8 +691,8 @@ def update_expected_server(expected):
self.scope["server"] = None
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(
outputs,
modifiers=[update_expected_server],
@@ -706,7 +700,7 @@ def update_expected_server(expected):
new_sem_conv=True,
)
- def test_behavior_with_scope_server_as_none_both_semconv(self):
+ async def test_behavior_with_scope_server_as_none_both_semconv(self):
"""Test that middleware is ok when server is none in scope."""
def update_expected_server(expected):
@@ -715,7 +709,7 @@ def update_expected_server(expected):
SpanAttributes.HTTP_HOST: "0.0.0.0",
SpanAttributes.NET_HOST_PORT: 80,
SpanAttributes.HTTP_URL: "http://0.0.0.0/",
- SERVER_ADDRESS: "0.0.0.0",
+ CLIENT_ADDRESS: "0.0.0.0",
SERVER_PORT: 80,
}
)
@@ -724,8 +718,8 @@ def update_expected_server(expected):
self.scope["server"] = None
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(
outputs,
modifiers=[update_expected_server],
@@ -733,7 +727,7 @@ def update_expected_server(expected):
new_sem_conv=True,
)
- def test_host_header(self):
+ async def test_host_header(self):
"""Test that host header is converted to http.server_name."""
hostname = b"server_name_1"
@@ -746,11 +740,11 @@ def update_expected_server(expected):
self.scope["headers"].append([b"host", hostname])
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs, modifiers=[update_expected_server])
- def test_host_header_both_semconv(self):
+ async def test_host_header_both_semconv(self):
"""Test that host header is converted to http.server_name."""
hostname = b"server_name_1"
@@ -763,8 +757,8 @@ def update_expected_server(expected):
self.scope["headers"].append([b"host", hostname])
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(
outputs,
modifiers=[update_expected_server],
@@ -772,7 +766,7 @@ def update_expected_server(expected):
new_sem_conv=True,
)
- def test_user_agent(self):
+ async def test_user_agent(self):
"""Test that host header is converted to http.server_name."""
user_agent = b"test-agent"
@@ -785,11 +779,11 @@ def update_expected_user_agent(expected):
self.scope["headers"].append([b"user-agent", user_agent])
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(outputs, modifiers=[update_expected_user_agent])
- def test_user_agent_new_semconv(self):
+ async def test_user_agent_new_semconv(self):
"""Test that host header is converted to http.server_name."""
user_agent = b"test-agent"
@@ -802,8 +796,8 @@ def update_expected_user_agent(expected):
self.scope["headers"].append([b"user-agent", user_agent])
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(
outputs,
modifiers=[update_expected_user_agent],
@@ -811,7 +805,7 @@ def update_expected_user_agent(expected):
new_sem_conv=True,
)
- def test_user_agent_both_semconv(self):
+ async def test_user_agent_both_semconv(self):
"""Test that host header is converted to http.server_name."""
user_agent = b"test-agent"
@@ -827,8 +821,8 @@ def update_expected_user_agent(expected):
self.scope["headers"].append([b"user-agent", user_agent])
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(
outputs,
modifiers=[update_expected_user_agent],
@@ -836,7 +830,7 @@ def update_expected_user_agent(expected):
new_sem_conv=True,
)
- def test_traceresponse_header(self):
+ async def test_traceresponse_header(self):
"""Test a traceresponse header is sent when a global propagator is set."""
orig = get_global_response_propagator()
@@ -844,12 +838,12 @@ def test_traceresponse_header(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ response_start, response_body, *_ = await self.get_all_output()
span = self.memory_exporter.get_finished_spans()[-1]
self.assertEqual(trace_api.SpanKind.SERVER, span.kind)
- response_start, response_body, *_ = self.get_all_output()
self.assertEqual(response_body["body"], b"*")
self.assertEqual(response_start["status"], 200)
@@ -869,7 +863,7 @@ def test_traceresponse_header(self):
set_global_response_propagator(orig)
- def test_websocket(self):
+ async def test_websocket(self):
self.scope = {
"method": "GET",
"type": "websocket",
@@ -883,10 +877,10 @@ def test_websocket(self):
}
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
+ await self.get_all_output()
span_list = self.memory_exporter.get_finished_spans()
self.assertEqual(len(span_list), 6)
expected = [
@@ -943,7 +937,7 @@ def test_websocket(self):
self.assertEqual(span.kind, expected["kind"])
self.assertDictEqual(dict(span.attributes), expected["attributes"])
- def test_websocket_new_semconv(self):
+ async def test_websocket_new_semconv(self):
self.scope = {
"method": "GET",
"type": "websocket",
@@ -957,10 +951,10 @@ def test_websocket_new_semconv(self):
}
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
+ await self.get_all_output()
span_list = self.memory_exporter.get_finished_spans()
self.assertEqual(len(span_list), 6)
expected = [
@@ -1001,7 +995,6 @@ def test_websocket_new_semconv(self):
"attributes": {
URL_SCHEME: self.scope["scheme"],
SERVER_PORT: self.scope["server"][1],
- SERVER_ADDRESS: self.scope["server"][0],
NETWORK_PROTOCOL_VERSION: self.scope["http_version"],
URL_PATH: self.scope["path"],
CLIENT_ADDRESS: self.scope["client"][0],
@@ -1016,7 +1009,7 @@ def test_websocket_new_semconv(self):
self.assertEqual(span.kind, expected["kind"])
self.assertDictEqual(dict(span.attributes), expected["attributes"])
- def test_websocket_both_semconv(self):
+ async def test_websocket_both_semconv(self):
self.scope = {
"method": "GET",
"type": "websocket",
@@ -1030,10 +1023,10 @@ def test_websocket_both_semconv(self):
}
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
+ await self.get_all_output()
span_list = self.memory_exporter.get_finished_spans()
self.assertEqual(len(span_list), 6)
expected = [
@@ -1086,7 +1079,6 @@ def test_websocket_both_semconv(self):
SpanAttributes.HTTP_METHOD: self.scope["method"],
URL_SCHEME: self.scope["scheme"],
SERVER_PORT: self.scope["server"][1],
- SERVER_ADDRESS: self.scope["server"][0],
NETWORK_PROTOCOL_VERSION: self.scope["http_version"],
URL_PATH: self.scope["path"],
CLIENT_ADDRESS: self.scope["client"][0],
@@ -1101,7 +1093,7 @@ def test_websocket_both_semconv(self):
self.assertEqual(span.kind, expected["kind"])
self.assertDictEqual(dict(span.attributes), expected["attributes"])
- def test_websocket_traceresponse_header(self):
+ async def test_websocket_traceresponse_header(self):
"""Test a traceresponse header is set for websocket messages"""
orig = get_global_response_propagator()
@@ -1119,10 +1111,10 @@ def test_websocket_traceresponse_header(self):
}
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
- _, socket_send, *_ = self.get_all_output()
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
+ _, socket_send, *_ = await self.get_all_output()
span = self.memory_exporter.get_finished_spans()[-1]
self.assertEqual(trace_api.SpanKind.SERVER, span.kind)
@@ -1141,15 +1133,15 @@ def test_websocket_traceresponse_header(self):
set_global_response_propagator(orig)
- def test_lifespan(self):
+ async def test_lifespan(self):
self.scope["type"] = "lifespan"
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
span_list = self.memory_exporter.get_finished_spans()
self.assertEqual(len(span_list), 0)
- def test_hooks(self):
+ async def test_hooks(self):
def server_request_hook(span, scope):
span.update_name("name from server hook")
@@ -1176,20 +1168,23 @@ def update_expected_hook_results(expected):
client_response_hook=client_response_hook,
)
self.seed_app(app)
- self.send_default_request()
- outputs = self.get_all_output()
+ await self.send_default_request()
+ outputs = await self.get_all_output()
self.validate_outputs(
outputs, modifiers=[update_expected_hook_results]
)
- def test_asgi_metrics(self):
+ async def test_asgi_metrics(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
metrics_list = self.memory_metrics_reader.get_metrics_data()
number_data_point_seen = False
histogram_data_point_seen = False
@@ -1218,14 +1213,17 @@ def test_asgi_metrics(self):
)
self.assertTrue(number_data_point_seen and histogram_data_point_seen)
- def test_asgi_metrics_new_semconv(self):
+ async def test_asgi_metrics_new_semconv(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
metrics_list = self.memory_metrics_reader.get_metrics_data()
number_data_point_seen = False
histogram_data_point_seen = False
@@ -1254,14 +1252,17 @@ def test_asgi_metrics_new_semconv(self):
)
self.assertTrue(number_data_point_seen and histogram_data_point_seen)
- def test_asgi_metrics_both_semconv(self):
+ async def test_asgi_metrics_both_semconv(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
metrics_list = self.memory_metrics_reader.get_metrics_data()
number_data_point_seen = False
histogram_data_point_seen = False
@@ -1290,12 +1291,13 @@ def test_asgi_metrics_both_semconv(self):
)
self.assertTrue(number_data_point_seen and histogram_data_point_seen)
- def test_basic_metric_success(self):
+ async def test_basic_metric_success(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
start = default_timer()
- self.send_default_request()
+ await self.send_default_request()
duration = max(round((default_timer() - start) * 1000), 0)
+ await self.get_all_output()
expected_duration_attributes = {
"http.method": "GET",
"http.host": "127.0.0.1",
@@ -1337,7 +1339,7 @@ def test_basic_metric_success(self):
)
self.assertEqual(point.value, 0)
- def test_basic_metric_success_nonrecording_span(self):
+ async def test_basic_metric_success_nonrecording_span(self):
mock_tracer = mock.Mock()
mock_span = mock.Mock()
mock_span.is_recording.return_value = False
@@ -1351,8 +1353,9 @@ def test_basic_metric_success_nonrecording_span(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
start = default_timer()
- self.send_default_request()
+ await self.send_default_request()
duration = max(round((default_timer() - start) * 1000), 0)
+ await self.get_all_output()
expected_duration_attributes = {
"http.method": "GET",
"http.host": "127.0.0.1",
@@ -1381,7 +1384,7 @@ def test_basic_metric_success_nonrecording_span(self):
self.assertEqual(point.count, 1)
if metric.name == "http.server.duration":
self.assertAlmostEqual(
- duration, point.sum, delta=5
+ duration, point.sum, delta=15
)
elif (
metric.name == "http.server.response.size"
@@ -1396,12 +1399,13 @@ def test_basic_metric_success_nonrecording_span(self):
)
self.assertEqual(point.value, 0)
- def test_basic_metric_success_new_semconv(self):
+ async def test_basic_metric_success_new_semconv(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
start = default_timer()
- self.send_default_request()
+ await self.send_default_request()
duration_s = max(default_timer() - start, 0)
+ await self.get_all_output()
expected_duration_attributes = {
"http.request.method": "GET",
"url.scheme": "http",
@@ -1443,13 +1447,14 @@ def test_basic_metric_success_new_semconv(self):
)
self.assertEqual(point.value, 0)
- def test_basic_metric_success_both_semconv(self):
+ async def test_basic_metric_success_both_semconv(self):
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
start = default_timer()
- self.send_default_request()
+ await self.send_default_request()
duration = max(round((default_timer() - start) * 1000), 0)
duration_s = max(default_timer() - start, 0)
+ await self.get_all_output()
expected_duration_attributes_old = {
"http.method": "GET",
"http.host": "127.0.0.1",
@@ -1531,7 +1536,7 @@ def test_basic_metric_success_both_semconv(self):
)
self.assertEqual(point.value, 0)
- def test_metric_target_attribute(self):
+ async def test_metric_target_attribute(self):
expected_target = "/api/user/{id}"
class TestRoute:
@@ -1547,7 +1552,8 @@ async def target_asgi(scope, receive, send):
app = otel_asgi.OpenTelemetryMiddleware(target_asgi)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
metrics_list = self.memory_metrics_reader.get_metrics_data()
assertions = 0
for resource_metric in metrics_list.resource_metrics:
@@ -1564,7 +1570,7 @@ async def target_asgi(scope, receive, send):
assertions += 1
self.assertEqual(assertions, 3)
- def test_no_metric_for_websockets(self):
+ async def test_no_metric_for_websockets(self):
self.scope = {
"type": "websocket",
"http_version": "1.1",
@@ -1577,10 +1583,10 @@ def test_no_metric_for_websockets(self):
}
app = otel_asgi.OpenTelemetryMiddleware(simple_asgi)
self.seed_app(app)
- self.send_input({"type": "websocket.connect"})
- self.send_input({"type": "websocket.receive", "text": "ping"})
- self.send_input({"type": "websocket.disconnect"})
- self.get_all_output()
+ await self.send_input({"type": "websocket.connect"})
+ await self.send_input({"type": "websocket.receive", "text": "ping"})
+ await self.send_input({"type": "websocket.disconnect"})
+ await self.get_all_output()
self.assertIsNone(self.memory_metrics_reader.get_metrics_data())
@@ -1629,7 +1635,6 @@ def test_request_attributes_new_semconv(self):
attrs,
{
HTTP_REQUEST_METHOD: "GET",
- SERVER_ADDRESS: "127.0.0.1",
URL_PATH: "/",
URL_QUERY: "foo=bar",
SERVER_PORT: 80,
@@ -1665,7 +1670,6 @@ def test_request_attributes_both_semconv(self):
SpanAttributes.NET_PEER_IP: "127.0.0.1",
SpanAttributes.NET_PEER_PORT: 32767,
HTTP_REQUEST_METHOD: "GET",
- SERVER_ADDRESS: "127.0.0.1",
URL_PATH: "/",
URL_QUERY: "foo=bar",
SERVER_PORT: 80,
@@ -1690,7 +1694,7 @@ def test_query_string_new_semconv(self):
_HTTPStabilityMode.HTTP,
)
self.assertEqual(attrs[URL_SCHEME], "http")
- self.assertEqual(attrs[SERVER_ADDRESS], "127.0.0.1")
+ self.assertEqual(attrs[CLIENT_ADDRESS], "127.0.0.1")
self.assertEqual(attrs[URL_PATH], "/")
self.assertEqual(attrs[URL_QUERY], "foo=bar")
@@ -1704,7 +1708,7 @@ def test_query_string_both_semconv(self):
attrs[SpanAttributes.HTTP_URL], "http://127.0.0.1/?foo=bar"
)
self.assertEqual(attrs[URL_SCHEME], "http")
- self.assertEqual(attrs[SERVER_ADDRESS], "127.0.0.1")
+ self.assertEqual(attrs[CLIENT_ADDRESS], "127.0.0.1")
self.assertEqual(attrs[URL_PATH], "/")
self.assertEqual(attrs[URL_QUERY], "foo=bar")
@@ -1799,8 +1803,10 @@ def test_collect_target_attribute_fastapi_starlette_invalid(self):
)
-class TestWrappedApplication(AsgiTestBase):
- def test_mark_span_internal_in_presence_of_span_from_other_framework(self):
+class TestWrappedApplication(AsyncAsgiTestBase):
+ async def test_mark_span_internal_in_presence_of_span_from_other_framework(
+ self,
+ ):
tracer_provider, exporter = TestBase.create_tracer_provider()
tracer = tracer_provider.get_tracer(__name__)
app = otel_asgi.OpenTelemetryMiddleware(
@@ -1815,7 +1821,8 @@ async def wrapped_app(scope, receive, send):
await app(scope, receive, send)
self.seed_app(wrapped_app)
- self.send_default_request()
+ await self.send_default_request()
+ await self.get_all_output()
span_list = exporter.get_finished_spans()
self.assertEqual(SpanKind.INTERNAL, span_list[0].kind)
@@ -1832,11 +1839,11 @@ async def wrapped_app(scope, receive, send):
)
-class TestAsgiApplicationRaisingError(AsgiTestBase):
+class TestAsgiApplicationRaisingError(AsyncAsgiTestBase):
def tearDown(self):
pass
- def test_asgi_issue_1883(self):
+ async def test_asgi_value_error_exception(self):
"""
Test that exception UnboundLocalError local variable 'start' referenced before assignment is not raised
See https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1883
@@ -1847,11 +1854,9 @@ async def bad_app(_scope, _receive, _send):
app = otel_asgi.OpenTelemetryMiddleware(bad_app)
self.seed_app(app)
- self.send_default_request()
+ await self.send_default_request()
try:
- asyncio.get_event_loop().run_until_complete(
- self.communicator.stop()
- )
+ await self.communicator.wait()
except ValueError as exc_info:
self.assertEqual(exc_info.args[0], "whatever")
except Exception as exc_info: # pylint: disable=W0703
diff --git a/instrumentation/opentelemetry-instrumentation-asyncio/pyproject.toml b/instrumentation/opentelemetry-instrumentation-asyncio/pyproject.toml
index cda5403ef5..36ed960392 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
diff --git a/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/__init__.py b/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/__init__.py
index ae10560861..e83f384a8c 100644
--- a/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/__init__.py
@@ -14,7 +14,7 @@
"""
.. asyncio: https://github.com/python/asyncio
-The opentelemetry-instrumentation-asycnio package allows tracing asyncio applications.
+The opentelemetry-instrumentation-asyncio package allows tracing asyncio applications.
The metric for coroutine, future, is generated even if there is no setting to generate a span.
Run instrumented application
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt
index a196e8d4e3..7f20d1497c 100644
--- a/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-asyncpg/pyproject.toml b/instrumentation/opentelemetry-instrumentation-asyncpg/pyproject.toml
index 820c86070d..5a6632a028 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt
index badc61cde8..60cef50a7a 100644
--- a/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
async-timeout==4.0.3
asyncpg==0.29.0
Deprecated==1.2.14
diff --git a/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml b/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml
index b512faa3eb..debc3ce033 100644
--- a/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml
+++ b/instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml
@@ -25,9 +25,9 @@ classifiers = [
"Programming Language :: Python :: 3.12",
]
dependencies = [
- "opentelemetry-instrumentation == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"opentelemetry-propagator-aws-xray ~= 1.0.1",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt
index 6540349a2e..8d9fe19483 100644
--- a/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-boto/pyproject.toml b/instrumentation/opentelemetry-instrumentation-boto/pyproject.toml
index 3abda7b175..a2bdba302f 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt
index ab4819b538..fe6467d1c4 100644
--- a/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
boto==2.49.0
boto3==1.34.44
botocore==1.34.44
diff --git a/instrumentation/opentelemetry-instrumentation-boto3sqs/pyproject.toml b/instrumentation/opentelemetry-instrumentation-boto3sqs/pyproject.toml
index cbbf9cd679..72dc38cbec 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt
index c5942b6a72..d8a9c38315 100644
--- a/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
boto3==1.34.44
botocore==1.34.44
Deprecated==1.2.14
diff --git a/instrumentation/opentelemetry-instrumentation-botocore/pyproject.toml b/instrumentation/opentelemetry-instrumentation-botocore/pyproject.toml
index f286e7fc7b..797145b728 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"opentelemetry-propagator-aws-xray ~= 1.0.1",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-botocore/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-botocore/test-requirements.txt
index e45fa6ba44..a89fdf2e30 100644
--- a/instrumentation/opentelemetry-instrumentation-botocore/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-botocore/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
aws-xray-sdk==2.12.1
boto3==1.28.80
botocore==1.31.80
diff --git a/instrumentation/opentelemetry-instrumentation-cassandra/pyproject.toml b/instrumentation/opentelemetry-instrumentation-cassandra/pyproject.toml
index b2ee19bdd2..3e785d1e8b 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt
index dc2090627d..189b2f65d0 100644
--- a/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
cassandra-driver==3.29.0
click==8.1.7
Deprecated==1.2.14
diff --git a/instrumentation/opentelemetry-instrumentation-celery/pyproject.toml b/instrumentation/opentelemetry-instrumentation-celery/pyproject.toml
index 0d302a4206..9f0f594581 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt
index 401921f5e4..fcf838fc32 100644
--- a/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt
@@ -1,5 +1,5 @@
amqp==5.2.0
-asgiref==3.7.2
+asgiref==3.8.1
backports.zoneinfo==0.2.1
billiard==4.2.0
celery==5.3.6
diff --git a/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt
index 1c5aad2c07..76b2f03d12 100644
--- a/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt
@@ -1,5 +1,5 @@
amqp==5.2.0
-asgiref==3.7.2
+asgiref==3.8.1
billiard==4.2.0
celery==5.3.6
click==8.1.7
diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml b/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml
index 13433ba9e2..2edfdeb038 100644
--- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml
+++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml
@@ -25,7 +25,7 @@ classifiers = [
"Programming Language :: Python :: 3.12",
]
dependencies = [
- "opentelemetry-instrumentation == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"opentelemetry-api ~= 1.12",
"wrapt >= 1.0.0, < 2.0.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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt
index 5400e507f5..f78f498620 100644
--- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
confluent-kafka==2.4.0
Deprecated==1.2.14
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-dbapi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-dbapi/pyproject.toml
index 991c7bb8af..bfa63dbcad 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 e0bef4b1e3..79e27849a4 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.48b0.dev"
+__version__ = "0.49b0.dev"
_instruments = tuple()
diff --git a/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt
index 0d98d28069..f76b488d90 100644
--- a/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-django/pyproject.toml b/instrumentation/opentelemetry-instrumentation-django/pyproject.toml
index a8b53820bc..27cdf157c4 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.48b0.dev",
- "opentelemetry-instrumentation-wsgi == 0.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-wsgi == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
asgi = [
- "opentelemetry-instrumentation-asgi == 0.48b0.dev",
+ "opentelemetry-instrumentation-asgi == 0.49b0.dev",
]
instruments = [
"django >= 1.10",
diff --git a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py
index 651df12043..d37c45993c 100644
--- a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py
@@ -344,7 +344,7 @@ def _instrument(self, **kwargs):
_DjangoMiddleware._duration_histogram_old = meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="Duration of HTTP server requests.",
+ description="Measures the duration of inbound HTTP requests.",
)
_DjangoMiddleware._duration_histogram_new = None
if _report_new(sem_conv_opt_in_mode):
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt
index 5f22f2cadb..9d7ee964fe 100644
--- a/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
Django==2.2.28
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt
index 0a042a1bf5..9c21d2dfd4 100644
--- a/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
Django==3.2.25
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt b/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt
index 4f49efb39e..d3a55aae34 100644
--- a/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt
+++ b/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
backports.zoneinfo==0.2.1
Deprecated==1.2.14
Django==4.2.15
diff --git a/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt b/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt
index 9be1266014..89923379d3 100644
--- a/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt
+++ b/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
Django==4.2.15
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/pyproject.toml b/instrumentation/opentelemetry-instrumentation-elasticsearch/pyproject.toml
index 29d7bec6cc..e086d2c335 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt
index 07ea98e4d6..55eabe1ef5 100644
--- a/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
elasticsearch==6.8.2
elasticsearch-dsl==6.4.0
diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt
index 228601485d..2fab7287ad 100644
--- a/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
elasticsearch==7.17.9
elasticsearch-dsl==7.4.1
diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt b/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
index 272675c119..5f2ccd41ac 100644
--- a/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
+++ b/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
elasticsearch==8.13.1
elasticsearch-dsl==8.13.1
diff --git a/instrumentation/opentelemetry-instrumentation-falcon/pyproject.toml b/instrumentation/opentelemetry-instrumentation-falcon/pyproject.toml
index 6f505f60ae..f118ff4296 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.48b0.dev",
- "opentelemetry-instrumentation-wsgi == 0.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-wsgi == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
"packaging >= 20.0",
]
diff --git a/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/__init__.py b/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/__init__.py
index 1a252b9a16..2dce5f1ef5 100644
--- a/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/__init__.py
@@ -268,7 +268,7 @@ def __init__(self, *args, **kwargs):
self.duration_histogram = self._otel_meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="Duration of HTTP server requests.",
+ description="Measures the duration of inbound HTTP requests.",
)
self.active_requests_counter = self._otel_meter.create_up_down_counter(
name=MetricInstruments.HTTP_SERVER_ACTIVE_REQUESTS,
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt
index d0f6381b42..6967c57b6d 100644
--- a/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
falcon==1.4.1
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt
index 5a84f224f1..e535925b14 100644
--- a/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
falcon==2.0.0
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt b/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt
index 0790e8a4cb..30d21e2773 100644
--- a/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt
+++ b/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
falcon==3.1.1
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-fastapi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-fastapi/pyproject.toml
index 3017dc040a..89f6602e86 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.48b0.dev",
- "opentelemetry-instrumentation-asgi == 0.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-asgi == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt
index 00242d5410..927e68f94e 100644
--- a/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt
@@ -1,6 +1,6 @@
annotated-types==0.6.0
anyio==4.3.0
-asgiref==3.7.2
+asgiref==3.8.1
certifi==2024.7.4
charset-normalizer==3.3.2
Deprecated==1.2.14
diff --git a/instrumentation/opentelemetry-instrumentation-fastapi/tests/test_fastapi_instrumentation.py b/instrumentation/opentelemetry-instrumentation-fastapi/tests/test_fastapi_instrumentation.py
index 91ed514096..634c74af6b 100644
--- a/instrumentation/opentelemetry-instrumentation-fastapi/tests/test_fastapi_instrumentation.py
+++ b/instrumentation/opentelemetry-instrumentation-fastapi/tests/test_fastapi_instrumentation.py
@@ -530,7 +530,7 @@ def test_basic_metric_success(self):
dict(point.attributes),
)
self.assertEqual(point.count, 1)
- self.assertAlmostEqual(duration, point.sum, delta=40)
+ self.assertAlmostEqual(duration, point.sum, delta=350)
if isinstance(point, NumberDataPoint):
self.assertDictEqual(
expected_requests_count_attributes,
@@ -565,7 +565,9 @@ def test_basic_metric_success_new_semconv(self):
)
self.assertEqual(point.count, 1)
if metric.name == "http.server.request.duration":
- self.assertAlmostEqual(duration_s, point.sum, places=1)
+ self.assertAlmostEqual(
+ duration_s * 0.1, point.sum, places=1
+ )
elif metric.name == "http.server.response.body.size":
self.assertEqual(25, point.sum)
elif metric.name == "http.server.request.body.size":
@@ -615,9 +617,11 @@ def test_basic_metric_success_both_semconv(self):
for point in list(metric.data.data_points):
if isinstance(point, HistogramDataPoint):
self.assertEqual(point.count, 1)
- self.assertAlmostEqual(duration, point.sum, delta=40)
+ self.assertAlmostEqual(duration, point.sum, delta=350)
if metric.name == "http.server.request.duration":
- self.assertAlmostEqual(duration_s, point.sum, places=1)
+ self.assertAlmostEqual(
+ duration_s * 0.1, point.sum, places=1
+ )
self.assertDictEqual(
expected_duration_attributes_new,
dict(point.attributes),
@@ -635,7 +639,7 @@ def test_basic_metric_success_both_semconv(self):
dict(point.attributes),
)
elif metric.name == "http.server.duration":
- self.assertAlmostEqual(duration, point.sum, delta=40)
+ self.assertAlmostEqual(duration, point.sum, delta=350)
self.assertDictEqual(
expected_duration_attributes_old,
dict(point.attributes),
@@ -691,7 +695,7 @@ def test_basic_metric_nonstandard_http_method_success(self):
dict(point.attributes),
)
self.assertEqual(point.count, 1)
- self.assertAlmostEqual(duration, point.sum, delta=40)
+ self.assertAlmostEqual(duration, point.sum, delta=350)
if isinstance(point, NumberDataPoint):
self.assertDictEqual(
expected_requests_count_attributes,
@@ -726,7 +730,9 @@ def test_basic_metric_nonstandard_http_method_success_new_semconv(self):
)
self.assertEqual(point.count, 1)
if metric.name == "http.server.request.duration":
- self.assertAlmostEqual(duration_s, point.sum, places=1)
+ self.assertAlmostEqual(
+ duration_s * 0.1, point.sum, places=1
+ )
elif metric.name == "http.server.response.body.size":
self.assertEqual(31, point.sum)
elif metric.name == "http.server.request.body.size":
@@ -777,7 +783,9 @@ def test_basic_metric_nonstandard_http_method_success_both_semconv(self):
if isinstance(point, HistogramDataPoint):
self.assertEqual(point.count, 1)
if metric.name == "http.server.request.duration":
- self.assertAlmostEqual(duration_s, point.sum, places=1)
+ self.assertAlmostEqual(
+ duration_s * 0.1, point.sum, places=1
+ )
self.assertDictEqual(
expected_duration_attributes_new,
dict(point.attributes),
@@ -795,7 +803,7 @@ def test_basic_metric_nonstandard_http_method_success_both_semconv(self):
dict(point.attributes),
)
elif metric.name == "http.server.duration":
- self.assertAlmostEqual(duration, point.sum, delta=40)
+ self.assertAlmostEqual(duration, point.sum, delta=350)
self.assertDictEqual(
expected_duration_attributes_old,
dict(point.attributes),
@@ -836,7 +844,7 @@ def test_basic_post_request_metric_success(self):
if isinstance(point, HistogramDataPoint):
self.assertEqual(point.count, 1)
if metric.name == "http.server.duration":
- self.assertAlmostEqual(duration, point.sum, delta=40)
+ self.assertAlmostEqual(duration, point.sum, delta=350)
elif metric.name == "http.server.response.size":
self.assertEqual(response_size, point.sum)
elif metric.name == "http.server.request.size":
@@ -861,7 +869,9 @@ def test_basic_post_request_metric_success_new_semconv(self):
if isinstance(point, HistogramDataPoint):
self.assertEqual(point.count, 1)
if metric.name == "http.server.request.duration":
- self.assertAlmostEqual(duration_s, point.sum, places=1)
+ self.assertAlmostEqual(
+ duration_s * 0.1, point.sum, places=1
+ )
elif metric.name == "http.server.response.body.size":
self.assertEqual(response_size, point.sum)
elif metric.name == "http.server.request.body.size":
@@ -887,13 +897,15 @@ def test_basic_post_request_metric_success_both_semconv(self):
if isinstance(point, HistogramDataPoint):
self.assertEqual(point.count, 1)
if metric.name == "http.server.request.duration":
- self.assertAlmostEqual(duration_s, point.sum, places=1)
+ self.assertAlmostEqual(
+ duration_s * 0.1, point.sum, places=1
+ )
elif metric.name == "http.server.response.body.size":
self.assertEqual(response_size, point.sum)
elif metric.name == "http.server.request.body.size":
self.assertEqual(request_size, point.sum)
elif metric.name == "http.server.duration":
- self.assertAlmostEqual(duration, point.sum, delta=40)
+ self.assertAlmostEqual(duration, point.sum, delta=350)
elif metric.name == "http.server.response.size":
self.assertEqual(response_size, point.sum)
elif metric.name == "http.server.request.size":
diff --git a/instrumentation/opentelemetry-instrumentation-flask/pyproject.toml b/instrumentation/opentelemetry-instrumentation-flask/pyproject.toml
index ffafdbacc6..0e74ca331f 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.48b0.dev",
- "opentelemetry-instrumentation-wsgi == 0.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-wsgi == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
"packaging >= 21.0",
"importlib-metadata >= 4.0",
]
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 0093715ae1..192e044655 100644
--- a/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py
@@ -568,14 +568,14 @@ def __init__(self, *args, **kwargs):
duration_histogram_old = meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="measures the duration of the inbound HTTP request",
+ description="Measures the duration of inbound HTTP requests.",
)
duration_histogram_new = None
if _report_new(_InstrumentedFlask._sem_conv_opt_in_mode):
duration_histogram_new = meter.create_histogram(
name=HTTP_SERVER_REQUEST_DURATION,
unit="s",
- description="measures the duration of the inbound HTTP request",
+ description="Duration of HTTP server requests.",
)
active_requests_counter = meter.create_up_down_counter(
name=MetricInstruments.HTTP_SERVER_ACTIVE_REQUESTS,
@@ -701,14 +701,14 @@ def instrument_app(
duration_histogram_old = meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="measures the duration of the inbound HTTP request",
+ description="Measures the duration of inbound HTTP requests.",
)
duration_histogram_new = None
if _report_new(sem_conv_opt_in_mode):
duration_histogram_new = meter.create_histogram(
name=HTTP_SERVER_REQUEST_DURATION,
unit="s",
- description="measures the duration of the inbound HTTP request",
+ description="Duration of HTTP server requests.",
)
active_requests_counter = meter.create_up_down_counter(
name=MetricInstruments.HTTP_SERVER_ACTIVE_REQUESTS,
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt
index a222e011a7..0bd176848d 100644
--- a/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
click==8.1.7
Deprecated==1.2.14
Flask==2.1.3
diff --git a/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt
index e799218273..d73ab497b5 100644
--- a/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
click==8.1.7
Deprecated==1.2.14
Flask==2.2.0
diff --git a/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt b/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt
index 91ae64700c..299a347d66 100644
--- a/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt
+++ b/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
blinker==1.7.0
click==8.1.7
Deprecated==1.2.14
diff --git a/instrumentation/opentelemetry-instrumentation-grpc/pyproject.toml b/instrumentation/opentelemetry-instrumentation-grpc/pyproject.toml
index d0a7d54298..e1956aeeea 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt
index 457c285715..83ec6e8e70 100644
--- a/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
grpcio==1.62.0
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt
index 221359e184..d77d67148a 100644
--- a/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
grpcio==1.63.0
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-httpx/pyproject.toml b/instrumentation/opentelemetry-instrumentation-httpx/pyproject.toml
index 5e4629e281..599091716b 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
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 f2a18a2770..15ee59a183 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,7 @@ async def async_response_hook(span, request, response):
"""
import logging
import typing
+from asyncio import iscoroutinefunction
from types import TracebackType
import httpx
@@ -202,7 +203,7 @@ async def async_response_hook(span, request, response):
_OpenTelemetrySemanticConventionStability,
_OpenTelemetryStabilitySignalType,
_report_new,
- _set_http_host,
+ _set_http_host_client,
_set_http_method,
_set_http_network_protocol_version,
_set_http_peer_port_client,
@@ -342,7 +343,7 @@ def _apply_request_client_attributes_to_span(
if _report_new(semconv):
if url.host:
# http semconv transition: http.host -> server.address
- _set_http_host(span_attributes, url.host, semconv)
+ _set_http_host_client(span_attributes, url.host, semconv)
# http semconv transition: net.sock.peer.addr -> network.peer.address
span_attributes[NETWORK_PEER_ADDRESS] = url.host
if url.port:
@@ -731,15 +732,19 @@ def _instrument(self, **kwargs):
self._original_async_client = httpx.AsyncClient
request_hook = kwargs.get("request_hook")
response_hook = kwargs.get("response_hook")
- async_request_hook = kwargs.get("async_request_hook", request_hook)
- async_response_hook = kwargs.get("async_response_hook", response_hook)
+ async_request_hook = kwargs.get("async_request_hook")
+ async_response_hook = kwargs.get("async_response_hook")
if callable(request_hook):
_InstrumentedClient._request_hook = request_hook
- if callable(async_request_hook):
+ if callable(async_request_hook) and iscoroutinefunction(
+ async_request_hook
+ ):
_InstrumentedAsyncClient._request_hook = async_request_hook
if callable(response_hook):
_InstrumentedClient._response_hook = response_hook
- if callable(async_response_hook):
+ if callable(async_response_hook) and iscoroutinefunction(
+ async_response_hook
+ ):
_InstrumentedAsyncClient._response_hook = async_response_hook
tracer_provider = kwargs.get("tracer_provider")
_InstrumentedClient._tracer_provider = tracer_provider
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt
index 35ebe6b954..28b475a3a4 100644
--- a/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt
@@ -1,5 +1,5 @@
anyio==3.7.1
-asgiref==3.7.2
+asgiref==3.8.1
certifi==2024.7.4
Deprecated==1.2.14
exceptiongroup==1.2.0
diff --git a/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt
index c70677f06b..42c032a546 100644
--- a/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt
@@ -1,5 +1,5 @@
anyio==4.3.0
-asgiref==3.7.2
+asgiref==3.8.1
certifi==2024.7.4
Deprecated==1.2.14
exceptiongroup==1.2.0
diff --git a/instrumentation/opentelemetry-instrumentation-httpx/tests/test_httpx_integration.py b/instrumentation/opentelemetry-instrumentation-httpx/tests/test_httpx_integration.py
index 011b5e57d2..27535800cb 100644
--- a/instrumentation/opentelemetry-instrumentation-httpx/tests/test_httpx_integration.py
+++ b/instrumentation/opentelemetry-instrumentation-httpx/tests/test_httpx_integration.py
@@ -723,6 +723,7 @@ def test_client_mounts_with_instrumented_transport(self):
spans[1].attributes[SpanAttributes.HTTP_URL], https_url
)
+ @mock.patch.dict("os.environ", {"NO_PROXY": ""}, clear=True)
class BaseInstrumentorTest(BaseTest, metaclass=abc.ABCMeta):
@abc.abstractmethod
def create_client(
@@ -780,9 +781,15 @@ def test_custom_tracer_provider(self):
HTTPXClientInstrumentor().uninstrument()
def test_response_hook(self):
+ response_hook_key = (
+ "async_response_hook"
+ if asyncio.iscoroutinefunction(self.response_hook)
+ else "response_hook"
+ )
+ response_hook_kwargs = {response_hook_key: self.response_hook}
HTTPXClientInstrumentor().instrument(
tracer_provider=self.tracer_provider,
- response_hook=self.response_hook,
+ **response_hook_kwargs,
)
client = self.create_client()
result = self.perform_request(self.URL, client=client)
@@ -823,9 +830,15 @@ def test_response_hook_sync_async_kwargs(self):
HTTPXClientInstrumentor().uninstrument()
def test_request_hook(self):
+ request_hook_key = (
+ "async_request_hook"
+ if asyncio.iscoroutinefunction(self.request_hook)
+ else "request_hook"
+ )
+ request_hook_kwargs = {request_hook_key: self.request_hook}
HTTPXClientInstrumentor().instrument(
tracer_provider=self.tracer_provider,
- request_hook=self.request_hook,
+ **request_hook_kwargs,
)
client = self.create_client()
result = self.perform_request(self.URL, client=client)
@@ -1214,3 +1227,36 @@ def test_basic_multiple(self):
self.perform_request(self.URL, client=self.client)
self.perform_request(self.URL, client=self.client2)
self.assert_span(num_spans=2)
+
+ def test_async_response_hook_does_nothing_if_not_coroutine(self):
+ HTTPXClientInstrumentor().instrument(
+ tracer_provider=self.tracer_provider,
+ async_response_hook=_response_hook,
+ )
+ client = self.create_client()
+ result = self.perform_request(self.URL, client=client)
+
+ self.assertEqual(result.text, "Hello!")
+ span = self.assert_span()
+ self.assertEqual(
+ dict(span.attributes),
+ {
+ SpanAttributes.HTTP_METHOD: "GET",
+ SpanAttributes.HTTP_URL: self.URL,
+ SpanAttributes.HTTP_STATUS_CODE: 200,
+ },
+ )
+ HTTPXClientInstrumentor().uninstrument()
+
+ def test_async_request_hook_does_nothing_if_not_coroutine(self):
+ HTTPXClientInstrumentor().instrument(
+ tracer_provider=self.tracer_provider,
+ async_request_hook=_request_hook,
+ )
+ client = self.create_client()
+ result = self.perform_request(self.URL, client=client)
+
+ self.assertEqual(result.text, "Hello!")
+ span = self.assert_span()
+ self.assertEqual(span.name, "GET")
+ HTTPXClientInstrumentor().uninstrument()
diff --git a/instrumentation/opentelemetry-instrumentation-jinja2/pyproject.toml b/instrumentation/opentelemetry-instrumentation-jinja2/pyproject.toml
index f74b8ca488..40159c3485 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.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt
index 05d94d6fb0..59eabe6997 100644
--- a/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-jinja2/tests/test_jinja2.py b/instrumentation/opentelemetry-instrumentation-jinja2/tests/test_jinja2.py
index 542a65d220..98344c47e4 100644
--- a/instrumentation/opentelemetry-instrumentation-jinja2/tests/test_jinja2.py
+++ b/instrumentation/opentelemetry-instrumentation-jinja2/tests/test_jinja2.py
@@ -143,7 +143,7 @@ def test_generate_inline_template(self):
def test_file_template_with_root(self):
with self.tracer.start_as_current_span("root"):
loader = jinja2.loaders.FileSystemLoader(TMPL_DIR)
- env = jinja2.Environment(loader=loader)
+ env = jinja2.Environment(loader=loader, autoescape=True)
template = env.get_template("template.html")
self.assertEqual(
template.render(name="Jinja"), "Message: Hello Jinja!"
@@ -164,7 +164,7 @@ def test_file_template_with_root(self):
def test_file_template(self):
loader = jinja2.loaders.FileSystemLoader(TMPL_DIR)
- env = jinja2.Environment(loader=loader)
+ env = jinja2.Environment(loader=loader, autoescape=True)
template = env.get_template("template.html")
self.assertEqual(
template.render(name="Jinja"), "Message: Hello Jinja!"
@@ -219,3 +219,14 @@ def test_uninstrumented(self):
self.assertEqual(len(spans), 0)
Jinja2Instrumentor().instrument()
+
+ def test_no_op_tracer_provider(self):
+ self.memory_exporter.clear()
+ Jinja2Instrumentor().uninstrument()
+ Jinja2Instrumentor().instrument(
+ tracer_provider=trace_api.NoOpTracerProvider()
+ )
+ template = jinja2.environment.Template("Hello {{name}}!")
+ self.assertEqual(template.render(name="Jinja"), "Hello Jinja!")
+ spans = self.memory_exporter.get_finished_spans()
+ self.assertEqual(len(spans), 0)
diff --git a/instrumentation/opentelemetry-instrumentation-kafka-python/pyproject.toml b/instrumentation/opentelemetry-instrumentation-kafka-python/pyproject.toml
index c256c71b94..d47672fa07 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt b/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt
index 7b587031ec..05e169a7e3 100644
--- a/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt
+++ b/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt
index 4adc515de7..6582cf875b 100644
--- a/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-logging/pyproject.toml b/instrumentation/opentelemetry-instrumentation-logging/pyproject.toml
index 2c1b2ad897..62656bea22 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.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
]
[project.optional-dependencies]
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 e0bef4b1e3..79e27849a4 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.48b0.dev"
+__version__ = "0.49b0.dev"
_instruments = tuple()
diff --git a/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt
index eca8ce5f34..c0d2f044c8 100644
--- a/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-mysql/pyproject.toml b/instrumentation/opentelemetry-instrumentation-mysql/pyproject.toml
index 3c7d0c9166..629ab5325e 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.48b0.dev",
- "opentelemetry-instrumentation-dbapi == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt
index 75ee9797b8..bf93434850 100644
--- a/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt
index dd609e594a..1a58c16a05 100644
--- a/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-mysqlclient/pyproject.toml b/instrumentation/opentelemetry-instrumentation-mysqlclient/pyproject.toml
index 0ede691e36..0cc4553384 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.48b0.dev",
- "opentelemetry-instrumentation-dbapi == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt
index 534c7869cb..8c3ed72f35 100644
--- a/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pika/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pika/pyproject.toml
index 145439b242..bc01323ee4 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.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"opentelemetry-api ~= 1.5",
"packaging >= 20.0",
"wrapt >= 1.0.0, < 2.0.0",
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt
index cc874af2cc..e06bc0b395 100644
--- a/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt
index 4a09147744..8928f655c8 100644
--- a/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-psycopg/pyproject.toml b/instrumentation/opentelemetry-instrumentation-psycopg/pyproject.toml
index 717257821d..513064ae7f 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.48b0.dev",
- "opentelemetry-instrumentation-dbapi == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt
index e60531b112..42bbac77d9 100644
--- a/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
backports.zoneinfo==0.2.1
Deprecated==1.2.14
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt
index 6ad211f9c0..1f7fb59f2d 100644
--- a/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/pyproject.toml b/instrumentation/opentelemetry-instrumentation-psycopg2/pyproject.toml
index 7db83dcc5c..592c15b4db 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.48b0.dev",
- "opentelemetry-instrumentation-dbapi == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt
index 4d6682b3d6..aa98fa93d0 100644
--- a/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py
index 369d63d5cf..6671073043 100644
--- a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py
+++ b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py
@@ -18,6 +18,7 @@
import psycopg2
import opentelemetry.instrumentation.psycopg2
+from opentelemetry import trace
from opentelemetry.instrumentation.psycopg2 import Psycopg2Instrumentor
from opentelemetry.sdk import resources
from opentelemetry.test.test_base import TestBase
@@ -269,3 +270,14 @@ def test_sqlcommenter_disabled(self, event_mocked):
cursor.execute(query)
kwargs = event_mocked.call_args[1]
self.assertEqual(kwargs["enable_commenter"], False)
+
+ def test_no_op_tracer_provider(self):
+ Psycopg2Instrumentor().instrument(
+ tracer_provider=trace.NoOpTracerProvider()
+ )
+ cnx = psycopg2.connect(database="test")
+ cursor = cnx.cursor()
+ query = "SELECT * FROM test"
+ cursor.execute(query)
+ spans_list = self.memory_exporter.get_finished_spans()
+ self.assertEqual(len(spans_list), 0)
diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pymemcache/pyproject.toml
index 47df236c42..c20ffd3dee 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt
index 28a62d84b4..2c6e0e2749 100644
--- a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt
index 4be0dbee52..36db8d4416 100644
--- a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt
index f07d79374a..3e0359f731 100644
--- a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt
+++ b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt
index 4e4871147c..916c9c9c3a 100644
--- a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt
+++ b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt
index 28fe27f0ef..e90a138ff8 100644
--- a/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt
+++ b/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pymongo/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pymongo/pyproject.toml
index ccd75ffeaa..61f4fd2b72 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt
index eb41ee6bd9..6c8de553b6 100644
--- a/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
dnspython==2.6.1
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-pymysql/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pymysql/pyproject.toml
index 08ee94fd9e..9e1bc1a881 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.48b0.dev",
- "opentelemetry-instrumentation-dbapi == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt
index 8338f79b65..7ad69f2b81 100644
--- a/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-pyramid/pyproject.toml b/instrumentation/opentelemetry-instrumentation-pyramid/pyproject.toml
index 9da43f444c..2a559e6c60 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.48b0.dev",
- "opentelemetry-instrumentation-wsgi == 0.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-wsgi == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
diff --git a/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/callbacks.py b/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/callbacks.py
index 09f1645384..6a526f2235 100644
--- a/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/callbacks.py
+++ b/instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/callbacks.py
@@ -141,7 +141,7 @@ def trace_tween_factory(handler, registry):
duration_histogram = meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="Duration of HTTP server requests.",
+ description="Measures the duration of inbound HTTP requests.",
)
active_requests_counter = meter.create_up_down_counter(
name=MetricInstruments.HTTP_SERVER_ACTIVE_REQUESTS,
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt
index 56f89f8e8e..6f33f33449 100644
--- a/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
hupper==1.12.1
importlib-metadata==6.11.0
@@ -15,7 +15,7 @@ tomli==2.0.1
translationstring==1.4
typing_extensions==4.9.0
venusian==3.1.0
-WebOb==1.8.7
+WebOb==1.8.8
Werkzeug==3.0.3
wrapt==1.16.0
zipp==3.19.2
diff --git a/instrumentation/opentelemetry-instrumentation-redis/pyproject.toml b/instrumentation/opentelemetry-instrumentation-redis/pyproject.toml
index d39bda20a5..c262363fab 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"wrapt >= 1.12.1",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt
index 43d4bd9788..7b8d8459b7 100644
--- a/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
async-timeout==4.0.3
Deprecated==1.2.14
fakeredis==2.23.3
diff --git a/instrumentation/opentelemetry-instrumentation-remoulade/pyproject.toml b/instrumentation/opentelemetry-instrumentation-remoulade/pyproject.toml
index 8b2b3679a9..7f3041b887 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt
index 727c15ec4e..b850e46f9f 100644
--- a/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml b/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml
index 88996d2540..dafe3b4d3a 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
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 3aa1b476f5..db67d378d9 100644
--- a/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/__init__.py
@@ -92,7 +92,7 @@ def response_hook(span, request_obj, response)
_OpenTelemetryStabilitySignalType,
_report_new,
_report_old,
- _set_http_host,
+ _set_http_host_client,
_set_http_method,
_set_http_net_peer_name_client,
_set_http_network_protocol_version,
@@ -212,14 +212,14 @@ def get_or_create_headers():
metric_labels, parsed_url.scheme, sem_conv_opt_in_mode
)
if parsed_url.hostname:
- _set_http_host(
+ _set_http_host_client(
metric_labels, parsed_url.hostname, sem_conv_opt_in_mode
)
_set_http_net_peer_name_client(
metric_labels, parsed_url.hostname, sem_conv_opt_in_mode
)
if _report_new(sem_conv_opt_in_mode):
- _set_http_host(
+ _set_http_host_client(
span_attributes,
parsed_url.hostname,
sem_conv_opt_in_mode,
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt
index 03d0a793a6..9f40c6d5b2 100644
--- a/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
certifi==2024.7.4
charset-normalizer==3.3.2
Deprecated==1.2.14
diff --git a/instrumentation/opentelemetry-instrumentation-sqlalchemy/pyproject.toml b/instrumentation/opentelemetry-instrumentation-sqlalchemy/pyproject.toml
index 21021fb590..d6cc3f71d9 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
"packaging >= 21.0",
"wrapt >= 1.11.2",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt
index 407222e8f6..45992bc2e1 100644
--- a/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
cffi==1.15.1
Deprecated==1.2.14
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt
index 9b1b15debc..eb1ee371b7 100644
--- a/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt
@@ -1,5 +1,5 @@
aiosqlite==0.20.0
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
greenlet==3.0.3
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-sqlite3/pyproject.toml b/instrumentation/opentelemetry-instrumentation-sqlite3/pyproject.toml
index e86fb99235..60ec47b16e 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.48b0.dev",
- "opentelemetry-instrumentation-dbapi == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi == 0.49b0.dev",
]
[project.optional-dependencies]
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 e0bef4b1e3..79e27849a4 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.48b0.dev"
+__version__ = "0.49b0.dev"
_instruments = tuple()
diff --git a/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt
index 8c98e702b4..e260861814 100644
--- a/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-starlette/pyproject.toml b/instrumentation/opentelemetry-instrumentation-starlette/pyproject.toml
index 6e6d370b53..9cdd968ca0 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.48b0.dev",
- "opentelemetry-instrumentation-asgi == 0.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-instrumentation-asgi == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.txt
index 1d5b91e188..d81a15a40c 100644
--- a/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.txt
@@ -1,5 +1,5 @@
anyio==4.3.0
-asgiref==3.7.2
+asgiref==3.8.1
certifi==2024.7.4
charset-normalizer==3.3.2
Deprecated==1.2.14
diff --git a/instrumentation/opentelemetry-instrumentation-system-metrics/pyproject.toml b/instrumentation/opentelemetry-instrumentation-system-metrics/pyproject.toml
index 6a1e83912f..a405c668f7 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.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"opentelemetry-api ~= 1.11",
"psutil >= 5.9.0, < 7",
]
diff --git a/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/__init__.py b/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/__init__.py
index b7ffb25431..1b9a36c4cb 100644
--- a/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/__init__.py
@@ -729,7 +729,7 @@ def _get_runtime_cpu_utilization(
"""Observer callback for runtime CPU utilization"""
proc_cpu_percent = self._proc.cpu_percent()
yield Observation(
- proc_cpu_percent,
+ proc_cpu_percent / 100,
self._runtime_cpu_utilization_labels.copy(),
)
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt
index 506499ea13..76f2f2a4e7 100644
--- a/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-system-metrics/tests/test_system_metrics.py b/instrumentation/opentelemetry-instrumentation-system-metrics/tests/test_system_metrics.py
index 1d6f08892e..bf3a5c6ee2 100644
--- a/instrumentation/opentelemetry-instrumentation-system-metrics/tests/test_system_metrics.py
+++ b/instrumentation/opentelemetry-instrumentation-system-metrics/tests/test_system_metrics.py
@@ -839,7 +839,7 @@ def test_runtime_thread_num(self, mock_process_thread_num):
def test_runtime_cpu_percent(self, mock_process_cpu_percent):
mock_process_cpu_percent.configure_mock(**{"return_value": 42})
- expected = [_SystemMetricsResult({}, 42)]
+ expected = [_SystemMetricsResult({}, 0.42)]
self._test_metrics(
f"process.runtime.{self.implementation}.cpu.utilization", expected
)
diff --git a/instrumentation/opentelemetry-instrumentation-threading/pyproject.toml b/instrumentation/opentelemetry-instrumentation-threading/pyproject.toml
index 16088e7de3..43f92d2034 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.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt
index 45ee66cf01..2d13857e9e 100644
--- a/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-tornado/pyproject.toml b/instrumentation/opentelemetry-instrumentation-tornado/pyproject.toml
index 0096deb8fd..f3f9a4b4fc 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
diff --git a/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/__init__.py b/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/__init__.py
index 1b56db3876..0b5e06b526 100644
--- a/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/__init__.py
@@ -296,7 +296,7 @@ def _create_server_histograms(meter) -> Dict[str, Histogram]:
MetricInstruments.HTTP_SERVER_DURATION: meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="Duration of HTTP server requests.",
+ description="Measures the duration of inbound HTTP requests.",
),
MetricInstruments.HTTP_SERVER_REQUEST_SIZE: meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_REQUEST_SIZE,
diff --git a/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/client.py b/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/client.py
index 090f87a88b..fa0e53bf95 100644
--- a/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/client.py
+++ b/instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/client.py
@@ -21,7 +21,7 @@
from opentelemetry.instrumentation.utils import http_status_to_status_code
from opentelemetry.propagate import inject
from opentelemetry.semconv.trace import SpanAttributes
-from opentelemetry.trace.status import Status
+from opentelemetry.trace.status import Status, StatusCode
from opentelemetry.util.http import remove_url_credentials
@@ -105,37 +105,53 @@ def _finish_tracing_callback(
request_size_histogram,
response_size_histogram,
):
+ response = None
status_code = None
+ status = None
description = None
- exc = future.exception()
-
- response = future.result()
- if span.is_recording() and exc:
+ exc = future.exception()
+ if exc:
+ description = f"{type(exc).__qualname__}: {exc}"
if isinstance(exc, HTTPError):
+ response = exc.response
status_code = exc.code
- description = f"{type(exc).__name__}: {exc}"
+ status = Status(
+ status_code=http_status_to_status_code(status_code),
+ description=description,
+ )
+ else:
+ status = Status(
+ status_code=StatusCode.ERROR,
+ description=description,
+ )
+ span.record_exception(exc)
else:
+ response = future.result()
status_code = response.code
+ status = Status(
+ status_code=http_status_to_status_code(status_code),
+ description=description,
+ )
if status_code is not None:
span.set_attribute(SpanAttributes.HTTP_STATUS_CODE, status_code)
- span.set_status(
- Status(
- status_code=http_status_to_status_code(status_code),
- description=description,
- )
- )
+ span.set_status(status)
- metric_attributes = _create_metric_attributes(response)
- request_size = int(response.request.headers.get("Content-Length", 0))
- response_size = int(response.headers.get("Content-Length", 0))
+ if response is not None:
+ metric_attributes = _create_metric_attributes(response)
+ request_size = int(response.request.headers.get("Content-Length", 0))
+ response_size = int(response.headers.get("Content-Length", 0))
- duration_histogram.record(
- response.request_time, attributes=metric_attributes
- )
- request_size_histogram.record(request_size, attributes=metric_attributes)
- response_size_histogram.record(response_size, attributes=metric_attributes)
+ duration_histogram.record(
+ response.request_time, attributes=metric_attributes
+ )
+ request_size_histogram.record(
+ request_size, attributes=metric_attributes
+ )
+ response_size_histogram.record(
+ response_size, attributes=metric_attributes
+ )
if response_hook:
response_hook(span, future)
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt
index fb542966de..236c45f87b 100644
--- a/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
blinker==1.7.0
certifi==2024.7.4
charset-normalizer==3.3.2
diff --git a/instrumentation/opentelemetry-instrumentation-tornado/tests/test_instrumentation.py b/instrumentation/opentelemetry-instrumentation-tornado/tests/test_instrumentation.py
index 01cdddceed..daf2ddd846 100644
--- a/instrumentation/opentelemetry-instrumentation-tornado/tests/test_instrumentation.py
+++ b/instrumentation/opentelemetry-instrumentation-tornado/tests/test_instrumentation.py
@@ -16,6 +16,7 @@
from unittest.mock import Mock, patch
from http_server_mock import HttpServerMock
+from tornado.httpclient import HTTPClientError
from tornado.testing import AsyncHTTPTestCase
from opentelemetry import trace
@@ -32,7 +33,7 @@
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.test.test_base import TestBase
from opentelemetry.test.wsgitestutil import WsgiTestBase
-from opentelemetry.trace import SpanKind
+from opentelemetry.trace import SpanKind, StatusCode
from opentelemetry.util.http import (
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST,
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE,
@@ -493,7 +494,6 @@ def test_response_headers(self):
self.assertEqual(len(spans), 3)
self.assertTraceResponseHeaderMatchesSpan(response.headers, spans[1])
- self.memory_exporter.clear()
set_global_response_propagator(orig)
def test_credential_removal(self):
@@ -602,6 +602,49 @@ def client_response_hook(span, response):
self.memory_exporter.clear()
+class TestTornadoHTTPClientInstrumentation(TornadoTest, WsgiTestBase):
+ def test_http_client_success_response(self):
+ response = self.fetch("/")
+ self.assertEqual(response.code, 201)
+
+ spans = self.memory_exporter.get_finished_spans()
+ self.assertEqual(len(spans), 3)
+ manual, server, client = self.sorted_spans(spans)
+ self.assertEqual(manual.name, "manual")
+ self.assertEqual(server.name, "GET /")
+ self.assertEqual(client.name, "GET")
+ self.assertEqual(client.status.status_code, StatusCode.UNSET)
+ self.memory_exporter.clear()
+
+ def test_http_client_failed_response(self):
+ # when an exception isn't thrown
+ response = self.fetch("/some-404")
+ self.assertEqual(response.code, 404)
+
+ spans = self.memory_exporter.get_finished_spans()
+ self.assertEqual(len(spans), 2)
+ server, client = self.sorted_spans(spans)
+ self.assertEqual(server.name, "GET /some-404")
+ self.assertEqual(client.name, "GET")
+ self.assertEqual(client.status.status_code, StatusCode.ERROR)
+ self.memory_exporter.clear()
+
+ # when an exception is thrown
+ try:
+ response = self.fetch("/some-404", raise_error=True)
+ self.assertEqual(response.code, 404)
+ except HTTPClientError:
+ pass # expected exception - continue
+
+ spans = self.memory_exporter.get_finished_spans()
+ self.assertEqual(len(spans), 2)
+ server, client = self.sorted_spans(spans)
+ self.assertEqual(server.name, "GET /some-404")
+ self.assertEqual(client.name, "GET")
+ self.assertEqual(client.status.status_code, StatusCode.ERROR)
+ self.memory_exporter.clear()
+
+
class TestTornadoUninstrument(TornadoTest):
def test_uninstrument(self):
response = self.fetch("/")
diff --git a/instrumentation/opentelemetry-instrumentation-tortoiseorm/pyproject.toml b/instrumentation/opentelemetry-instrumentation-tortoiseorm/pyproject.toml
index 04d81e1894..82ccbc6a79 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
]
[project.optional-dependencies]
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt
index cb31845d66..31b044a2f3 100644
--- a/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt
@@ -1,6 +1,6 @@
aiosqlite==0.17.0
annotated-types==0.6.0
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/instrumentation/opentelemetry-instrumentation-urllib/pyproject.toml b/instrumentation/opentelemetry-instrumentation-urllib/pyproject.toml
index 4f0d2681f9..97b611b095 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
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 e0bef4b1e3..79e27849a4 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.48b0.dev"
+__version__ = "0.49b0.dev"
_instruments = tuple()
diff --git a/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt
index 9e11fb272f..06bc8322dc 100644
--- a/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
httpretty==1.1.4
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-urllib3/pyproject.toml b/instrumentation/opentelemetry-instrumentation-urllib3/pyproject.toml
index 03c9f26fbc..3c1eaaa6d0 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
"wrapt >= 1.0.0, < 2.0.0",
]
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 4bcd0816fd..1c83f3f447 100644
--- a/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/__init__.py
@@ -103,7 +103,7 @@ def response_hook(
_OpenTelemetryStabilitySignalType,
_report_new,
_report_old,
- _set_http_host,
+ _set_http_host_client,
_set_http_method,
_set_http_net_peer_name_client,
_set_http_network_protocol_version,
@@ -491,7 +491,9 @@ def _set_metric_attributes(
sem_conv_opt_in_mode: _HTTPStabilityMode = _HTTPStabilityMode.DEFAULT,
) -> None:
- _set_http_host(metric_attributes, instance.host, sem_conv_opt_in_mode)
+ _set_http_host_client(
+ metric_attributes, instance.host, sem_conv_opt_in_mode
+ )
_set_http_scheme(metric_attributes, instance.scheme, sem_conv_opt_in_mode)
_set_http_method(
metric_attributes,
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt b/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt
index 1d6ebc18af..e7392b0c31 100644
--- a/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt
+++ b/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
httpretty==1.1.4
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt b/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt
index 06df34d16b..21cb3acbe6 100644
--- a/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt
+++ b/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
httpretty==1.1.4
importlib-metadata==6.11.0
diff --git a/instrumentation/opentelemetry-instrumentation-wsgi/pyproject.toml b/instrumentation/opentelemetry-instrumentation-wsgi/pyproject.toml
index b38f1829aa..a5e81ee8e5 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.48b0.dev",
- "opentelemetry-semantic-conventions == 0.48b0.dev",
- "opentelemetry-util-http == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
+ "opentelemetry-semantic-conventions == 0.49b0.dev",
+ "opentelemetry-util-http == 0.49b0.dev",
]
[project.optional-dependencies]
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 355b1d7458..c0384d594b 100644
--- a/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py
+++ b/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py
@@ -231,7 +231,7 @@ def response_hook(span: Span, environ: WSGIEnvironment, status: str, response_he
_set_http_net_host,
_set_http_net_host_port,
_set_http_net_peer_name_server,
- _set_http_peer_ip,
+ _set_http_peer_ip_server,
_set_http_peer_port_server,
_set_http_scheme,
_set_http_target,
@@ -360,7 +360,7 @@ def collect_request_attributes(
remote_addr = environ.get("REMOTE_ADDR")
if remote_addr:
- _set_http_peer_ip(result, remote_addr, sem_conv_opt_in_mode)
+ _set_http_peer_ip_server(result, remote_addr, sem_conv_opt_in_mode)
peer_port = environ.get("REMOTE_PORT")
if peer_port:
@@ -571,14 +571,14 @@ def __init__(
self.duration_histogram_old = self.meter.create_histogram(
name=MetricInstruments.HTTP_SERVER_DURATION,
unit="ms",
- description="measures the duration of the inbound HTTP request",
+ description="Measures the duration of inbound HTTP requests.",
)
self.duration_histogram_new = None
if _report_new(sem_conv_opt_in_mode):
self.duration_histogram_new = self.meter.create_histogram(
name=HTTP_SERVER_REQUEST_DURATION,
unit="s",
- description="measures the duration of the inbound HTTP request",
+ description="Duration of HTTP server requests.",
)
# We don't need a separate active request counter for old/new semantic conventions
# because the new attributes are a subset of the old attributes
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt
index 0f7c7ced73..d63bd5a637 100644
--- a/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt
+++ b/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/opentelemetry-contrib-instrumentations/pyproject.toml b/opentelemetry-contrib-instrumentations/pyproject.toml
index 6c7716bad2..9c40f9c2a3 100644
--- a/opentelemetry-contrib-instrumentations/pyproject.toml
+++ b/opentelemetry-contrib-instrumentations/pyproject.toml
@@ -29,53 +29,53 @@ classifiers = [
"Programming Language :: Python :: 3.12",
]
dependencies = [
- "opentelemetry-instrumentation-aio-pika==0.48b0.dev",
- "opentelemetry-instrumentation-aiohttp-client==0.48b0.dev",
- "opentelemetry-instrumentation-aiohttp-server==0.48b0.dev",
- "opentelemetry-instrumentation-aiopg==0.48b0.dev",
- "opentelemetry-instrumentation-asgi==0.48b0.dev",
- "opentelemetry-instrumentation-asyncio==0.48b0.dev",
- "opentelemetry-instrumentation-asyncpg==0.48b0.dev",
- "opentelemetry-instrumentation-aws-lambda==0.48b0.dev",
- "opentelemetry-instrumentation-boto==0.48b0.dev",
- "opentelemetry-instrumentation-boto3sqs==0.48b0.dev",
- "opentelemetry-instrumentation-botocore==0.48b0.dev",
- "opentelemetry-instrumentation-cassandra==0.48b0.dev",
- "opentelemetry-instrumentation-celery==0.48b0.dev",
- "opentelemetry-instrumentation-confluent-kafka==0.48b0.dev",
- "opentelemetry-instrumentation-dbapi==0.48b0.dev",
- "opentelemetry-instrumentation-django==0.48b0.dev",
- "opentelemetry-instrumentation-elasticsearch==0.48b0.dev",
- "opentelemetry-instrumentation-falcon==0.48b0.dev",
- "opentelemetry-instrumentation-fastapi==0.48b0.dev",
- "opentelemetry-instrumentation-flask==0.48b0.dev",
- "opentelemetry-instrumentation-grpc==0.48b0.dev",
- "opentelemetry-instrumentation-httpx==0.48b0.dev",
- "opentelemetry-instrumentation-jinja2==0.48b0.dev",
- "opentelemetry-instrumentation-kafka-python==0.48b0.dev",
- "opentelemetry-instrumentation-logging==0.48b0.dev",
- "opentelemetry-instrumentation-mysql==0.48b0.dev",
- "opentelemetry-instrumentation-mysqlclient==0.48b0.dev",
- "opentelemetry-instrumentation-pika==0.48b0.dev",
- "opentelemetry-instrumentation-psycopg==0.48b0.dev",
- "opentelemetry-instrumentation-psycopg2==0.48b0.dev",
- "opentelemetry-instrumentation-pymemcache==0.48b0.dev",
- "opentelemetry-instrumentation-pymongo==0.48b0.dev",
- "opentelemetry-instrumentation-pymysql==0.48b0.dev",
- "opentelemetry-instrumentation-pyramid==0.48b0.dev",
- "opentelemetry-instrumentation-redis==0.48b0.dev",
- "opentelemetry-instrumentation-remoulade==0.48b0.dev",
- "opentelemetry-instrumentation-requests==0.48b0.dev",
- "opentelemetry-instrumentation-sqlalchemy==0.48b0.dev",
- "opentelemetry-instrumentation-sqlite3==0.48b0.dev",
- "opentelemetry-instrumentation-starlette==0.48b0.dev",
- "opentelemetry-instrumentation-system-metrics==0.48b0.dev",
- "opentelemetry-instrumentation-threading==0.48b0.dev",
- "opentelemetry-instrumentation-tornado==0.48b0.dev",
- "opentelemetry-instrumentation-tortoiseorm==0.48b0.dev",
- "opentelemetry-instrumentation-urllib==0.48b0.dev",
- "opentelemetry-instrumentation-urllib3==0.48b0.dev",
- "opentelemetry-instrumentation-wsgi==0.48b0.dev",
+ "opentelemetry-instrumentation-aio-pika==0.49b0.dev",
+ "opentelemetry-instrumentation-aiohttp-client==0.49b0.dev",
+ "opentelemetry-instrumentation-aiohttp-server==0.49b0.dev",
+ "opentelemetry-instrumentation-aiopg==0.49b0.dev",
+ "opentelemetry-instrumentation-asgi==0.49b0.dev",
+ "opentelemetry-instrumentation-asyncio==0.49b0.dev",
+ "opentelemetry-instrumentation-asyncpg==0.49b0.dev",
+ "opentelemetry-instrumentation-aws-lambda==0.49b0.dev",
+ "opentelemetry-instrumentation-boto==0.49b0.dev",
+ "opentelemetry-instrumentation-boto3sqs==0.49b0.dev",
+ "opentelemetry-instrumentation-botocore==0.49b0.dev",
+ "opentelemetry-instrumentation-cassandra==0.49b0.dev",
+ "opentelemetry-instrumentation-celery==0.49b0.dev",
+ "opentelemetry-instrumentation-confluent-kafka==0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi==0.49b0.dev",
+ "opentelemetry-instrumentation-django==0.49b0.dev",
+ "opentelemetry-instrumentation-elasticsearch==0.49b0.dev",
+ "opentelemetry-instrumentation-falcon==0.49b0.dev",
+ "opentelemetry-instrumentation-fastapi==0.49b0.dev",
+ "opentelemetry-instrumentation-flask==0.49b0.dev",
+ "opentelemetry-instrumentation-grpc==0.49b0.dev",
+ "opentelemetry-instrumentation-httpx==0.49b0.dev",
+ "opentelemetry-instrumentation-jinja2==0.49b0.dev",
+ "opentelemetry-instrumentation-kafka-python==0.49b0.dev",
+ "opentelemetry-instrumentation-logging==0.49b0.dev",
+ "opentelemetry-instrumentation-mysql==0.49b0.dev",
+ "opentelemetry-instrumentation-mysqlclient==0.49b0.dev",
+ "opentelemetry-instrumentation-pika==0.49b0.dev",
+ "opentelemetry-instrumentation-psycopg==0.49b0.dev",
+ "opentelemetry-instrumentation-psycopg2==0.49b0.dev",
+ "opentelemetry-instrumentation-pymemcache==0.49b0.dev",
+ "opentelemetry-instrumentation-pymongo==0.49b0.dev",
+ "opentelemetry-instrumentation-pymysql==0.49b0.dev",
+ "opentelemetry-instrumentation-pyramid==0.49b0.dev",
+ "opentelemetry-instrumentation-redis==0.49b0.dev",
+ "opentelemetry-instrumentation-remoulade==0.49b0.dev",
+ "opentelemetry-instrumentation-requests==0.49b0.dev",
+ "opentelemetry-instrumentation-sqlalchemy==0.49b0.dev",
+ "opentelemetry-instrumentation-sqlite3==0.49b0.dev",
+ "opentelemetry-instrumentation-starlette==0.49b0.dev",
+ "opentelemetry-instrumentation-system-metrics==0.49b0.dev",
+ "opentelemetry-instrumentation-threading==0.49b0.dev",
+ "opentelemetry-instrumentation-tornado==0.49b0.dev",
+ "opentelemetry-instrumentation-tortoiseorm==0.49b0.dev",
+ "opentelemetry-instrumentation-urllib==0.49b0.dev",
+ "opentelemetry-instrumentation-urllib3==0.49b0.dev",
+ "opentelemetry-instrumentation-wsgi==0.49b0.dev",
]
[project.urls]
diff --git a/opentelemetry-contrib-instrumentations/src/opentelemetry/contrib-instrumentations/version.py b/opentelemetry-contrib-instrumentations/src/opentelemetry/contrib-instrumentations/version.py
index 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/opentelemetry-distro/pyproject.toml b/opentelemetry-distro/pyproject.toml
index 2397e9182a..686eeaba95 100644
--- a/opentelemetry-distro/pyproject.toml
+++ b/opentelemetry-distro/pyproject.toml
@@ -27,13 +27,13 @@ classifiers = [
]
dependencies = [
"opentelemetry-api ~= 1.12",
- "opentelemetry-instrumentation == 0.48b0.dev",
+ "opentelemetry-instrumentation == 0.49b0.dev",
"opentelemetry-sdk ~= 1.13",
]
[project.optional-dependencies]
otlp = [
- "opentelemetry-exporter-otlp == 1.27.0.dev",
+ "opentelemetry-exporter-otlp == 1.28.0.dev",
]
[project.entry-points.opentelemetry_configurator]
diff --git a/opentelemetry-distro/src/opentelemetry/distro/version.py b/opentelemetry-distro/src/opentelemetry/distro/version.py
index 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/opentelemetry-distro/test-requirements.txt b/opentelemetry-distro/test-requirements.txt
index d9190daa26..050054c39b 100644
--- a/opentelemetry-distro/test-requirements.txt
+++ b/opentelemetry-distro/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/opentelemetry-instrumentation/README.rst b/opentelemetry-instrumentation/README.rst
index 6f66edb623..3ed88c213f 100644
--- a/opentelemetry-instrumentation/README.rst
+++ b/opentelemetry-instrumentation/README.rst
@@ -40,7 +40,7 @@ to figure out which instrumentation packages the user might want to install. By
prints out a list of the default and detected instrumentation packages that can be added to a
requirements.txt file. It also supports installing the packages when run with
:code:`--action=install` or :code:`-a install` flag. All default and detectable
-instrumentation packages are defined `here `.
+instrumentation packages are defined `here `.
opentelemetry-instrument
diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py
index 33668333ce..c4e720fd04 100644
--- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py
+++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/_semconv.py
@@ -252,16 +252,32 @@ def _set_http_scheme(result, scheme, sem_conv_opt_in_mode):
set_string_attribute(result, URL_SCHEME, scheme)
-def _set_http_host(result, host, sem_conv_opt_in_mode):
+def _set_http_flavor_version(result, version, sem_conv_opt_in_mode):
if _report_old(sem_conv_opt_in_mode):
- set_string_attribute(result, SpanAttributes.HTTP_HOST, host)
+ set_string_attribute(result, SpanAttributes.HTTP_FLAVOR, version)
if _report_new(sem_conv_opt_in_mode):
- set_string_attribute(result, SERVER_ADDRESS, host)
+ set_string_attribute(result, NETWORK_PROTOCOL_VERSION, version)
+
+
+def _set_http_user_agent(result, user_agent, sem_conv_opt_in_mode):
+ if _report_old(sem_conv_opt_in_mode):
+ set_string_attribute(
+ result, SpanAttributes.HTTP_USER_AGENT, user_agent
+ )
+ if _report_new(sem_conv_opt_in_mode):
+ set_string_attribute(result, USER_AGENT_ORIGINAL, user_agent)
# Client
+def _set_http_host_client(result, host, sem_conv_opt_in_mode):
+ if _report_old(sem_conv_opt_in_mode):
+ set_string_attribute(result, SpanAttributes.HTTP_HOST, host)
+ if _report_new(sem_conv_opt_in_mode):
+ set_string_attribute(result, SERVER_ADDRESS, host)
+
+
def _set_http_net_peer_name_client(result, peer_name, sem_conv_opt_in_mode):
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, SpanAttributes.NET_PEER_NAME, peer_name)
@@ -310,27 +326,32 @@ def _set_http_target(result, target, path, query, sem_conv_opt_in_mode):
set_string_attribute(result, URL_QUERY, query)
-def _set_http_peer_ip(result, ip, sem_conv_opt_in_mode):
+def _set_http_host_server(result, host, sem_conv_opt_in_mode):
if _report_old(sem_conv_opt_in_mode):
- set_string_attribute(result, SpanAttributes.NET_PEER_IP, ip)
+ set_string_attribute(result, SpanAttributes.HTTP_HOST, host)
if _report_new(sem_conv_opt_in_mode):
- set_string_attribute(result, CLIENT_ADDRESS, ip)
+ set_string_attribute(result, CLIENT_ADDRESS, host)
-def _set_http_peer_port_server(result, port, sem_conv_opt_in_mode):
+# net.peer.ip -> net.sock.peer.addr
+# https://github.com/open-telemetry/semantic-conventions/blob/40db676ca0e735aa84f242b5a0fb14e49438b69b/schemas/1.15.0#L18
+# net.sock.peer.addr -> client.socket.address for server spans (TODO) AND client.address if missing
+# https://github.com/open-telemetry/semantic-conventions/blob/v1.21.0/CHANGELOG.md#v1210-2023-07-13
+# https://github.com/open-telemetry/semantic-conventions/blob/main/docs/non-normative/http-migration.md#common-attributes-across-http-client-and-server-spans
+def _set_http_peer_ip_server(result, ip, sem_conv_opt_in_mode):
if _report_old(sem_conv_opt_in_mode):
- set_int_attribute(result, SpanAttributes.NET_PEER_PORT, port)
+ set_string_attribute(result, SpanAttributes.NET_PEER_IP, ip)
if _report_new(sem_conv_opt_in_mode):
- set_int_attribute(result, CLIENT_PORT, port)
+ # Only populate if not already populated
+ if not result.get(CLIENT_ADDRESS):
+ set_string_attribute(result, CLIENT_ADDRESS, ip)
-def _set_http_user_agent(result, user_agent, sem_conv_opt_in_mode):
+def _set_http_peer_port_server(result, port, sem_conv_opt_in_mode):
if _report_old(sem_conv_opt_in_mode):
- set_string_attribute(
- result, SpanAttributes.HTTP_USER_AGENT, user_agent
- )
+ set_int_attribute(result, SpanAttributes.NET_PEER_PORT, port)
if _report_new(sem_conv_opt_in_mode):
- set_string_attribute(result, USER_AGENT_ORIGINAL, user_agent)
+ set_int_attribute(result, CLIENT_PORT, port)
def _set_http_net_peer_name_server(result, name, sem_conv_opt_in_mode):
@@ -340,13 +361,6 @@ def _set_http_net_peer_name_server(result, name, sem_conv_opt_in_mode):
set_string_attribute(result, CLIENT_ADDRESS, name)
-def _set_http_flavor_version(result, version, sem_conv_opt_in_mode):
- if _report_old(sem_conv_opt_in_mode):
- set_string_attribute(result, SpanAttributes.HTTP_FLAVOR, version)
- if _report_new(sem_conv_opt_in_mode):
- set_string_attribute(result, NETWORK_PROTOCOL_VERSION, version)
-
-
def _set_status(
span,
metrics_attributes: dict,
diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap.py
index 6f86a539b2..1cc28abca4 100644
--- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap.py
+++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap.py
@@ -119,7 +119,7 @@ def _find_installed_libraries():
def _run_requirements():
logger.setLevel(logging.ERROR)
- print("\n".join(_find_installed_libraries()), end="")
+ print("\n".join(_find_installed_libraries()))
def _run_install():
diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py
index c31863bd31..8c4293f261 100644
--- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py
+++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py
@@ -18,179 +18,179 @@
libraries = [
{
"library": "aio_pika >= 7.2.0, < 10.0.0",
- "instrumentation": "opentelemetry-instrumentation-aio-pika==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-aio-pika==0.49b0.dev",
},
{
"library": "aiohttp ~= 3.0",
- "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.49b0.dev",
},
{
"library": "aiohttp ~= 3.0",
- "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.49b0.dev",
},
{
"library": "aiopg >= 0.13.0, < 2.0.0",
- "instrumentation": "opentelemetry-instrumentation-aiopg==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-aiopg==0.49b0.dev",
},
{
"library": "asgiref ~= 3.0",
- "instrumentation": "opentelemetry-instrumentation-asgi==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-asgi==0.49b0.dev",
},
{
"library": "asyncpg >= 0.12.0",
- "instrumentation": "opentelemetry-instrumentation-asyncpg==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-asyncpg==0.49b0.dev",
},
{
"library": "boto~=2.0",
- "instrumentation": "opentelemetry-instrumentation-boto==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-boto==0.49b0.dev",
},
{
"library": "boto3 ~= 1.0",
- "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.49b0.dev",
},
{
"library": "botocore ~= 1.0",
- "instrumentation": "opentelemetry-instrumentation-botocore==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-botocore==0.49b0.dev",
},
{
"library": "cassandra-driver ~= 3.25",
- "instrumentation": "opentelemetry-instrumentation-cassandra==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-cassandra==0.49b0.dev",
},
{
"library": "scylla-driver ~= 3.25",
- "instrumentation": "opentelemetry-instrumentation-cassandra==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-cassandra==0.49b0.dev",
},
{
"library": "celery >= 4.0, < 6.0",
- "instrumentation": "opentelemetry-instrumentation-celery==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-celery==0.49b0.dev",
},
{
"library": "confluent-kafka >= 1.8.2, <= 2.4.0",
- "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.49b0.dev",
},
{
"library": "django >= 1.10",
- "instrumentation": "opentelemetry-instrumentation-django==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-django==0.49b0.dev",
},
{
"library": "elasticsearch >= 6.0",
- "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.49b0.dev",
},
{
"library": "falcon >= 1.4.1, < 3.1.2",
- "instrumentation": "opentelemetry-instrumentation-falcon==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-falcon==0.49b0.dev",
},
{
"library": "fastapi ~= 0.58",
- "instrumentation": "opentelemetry-instrumentation-fastapi==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-fastapi==0.49b0.dev",
},
{
"library": "flask >= 1.0",
- "instrumentation": "opentelemetry-instrumentation-flask==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-flask==0.49b0.dev",
},
{
"library": "grpcio ~= 1.27",
- "instrumentation": "opentelemetry-instrumentation-grpc==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-grpc==0.49b0.dev",
},
{
"library": "httpx >= 0.18.0",
- "instrumentation": "opentelemetry-instrumentation-httpx==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-httpx==0.49b0.dev",
},
{
"library": "jinja2 >= 2.7, < 4.0",
- "instrumentation": "opentelemetry-instrumentation-jinja2==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-jinja2==0.49b0.dev",
},
{
"library": "kafka-python >= 2.0, < 3.0",
- "instrumentation": "opentelemetry-instrumentation-kafka-python==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-kafka-python==0.49b0.dev",
},
{
"library": "kafka-python-ng >= 2.0, < 3.0",
- "instrumentation": "opentelemetry-instrumentation-kafka-python==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-kafka-python==0.49b0.dev",
},
{
"library": "mysql-connector-python >= 8.0, < 10.0",
- "instrumentation": "opentelemetry-instrumentation-mysql==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-mysql==0.49b0.dev",
},
{
"library": "mysqlclient < 3",
- "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.49b0.dev",
},
{
"library": "pika >= 0.12.0",
- "instrumentation": "opentelemetry-instrumentation-pika==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-pika==0.49b0.dev",
},
{
"library": "psycopg >= 3.1.0",
- "instrumentation": "opentelemetry-instrumentation-psycopg==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-psycopg==0.49b0.dev",
},
{
"library": "psycopg2 >= 2.7.3.1",
- "instrumentation": "opentelemetry-instrumentation-psycopg2==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-psycopg2==0.49b0.dev",
},
{
"library": "pymemcache >= 1.3.5, < 5",
- "instrumentation": "opentelemetry-instrumentation-pymemcache==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-pymemcache==0.49b0.dev",
},
{
"library": "pymongo >= 3.1, < 5.0",
- "instrumentation": "opentelemetry-instrumentation-pymongo==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-pymongo==0.49b0.dev",
},
{
"library": "PyMySQL < 2",
- "instrumentation": "opentelemetry-instrumentation-pymysql==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-pymysql==0.49b0.dev",
},
{
"library": "pyramid >= 1.7",
- "instrumentation": "opentelemetry-instrumentation-pyramid==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-pyramid==0.49b0.dev",
},
{
"library": "redis >= 2.6",
- "instrumentation": "opentelemetry-instrumentation-redis==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-redis==0.49b0.dev",
},
{
"library": "remoulade >= 0.50",
- "instrumentation": "opentelemetry-instrumentation-remoulade==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-remoulade==0.49b0.dev",
},
{
"library": "requests ~= 2.0",
- "instrumentation": "opentelemetry-instrumentation-requests==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-requests==0.49b0.dev",
},
{
"library": "sqlalchemy",
- "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.49b0.dev",
},
{
"library": "starlette ~= 0.13.0",
- "instrumentation": "opentelemetry-instrumentation-starlette==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-starlette==0.49b0.dev",
},
{
"library": "psutil >= 5",
- "instrumentation": "opentelemetry-instrumentation-system-metrics==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-system-metrics==0.49b0.dev",
},
{
"library": "tornado >= 5.1.1",
- "instrumentation": "opentelemetry-instrumentation-tornado==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-tornado==0.49b0.dev",
},
{
"library": "tortoise-orm >= 0.17.0",
- "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.49b0.dev",
},
{
"library": "pydantic >= 1.10.2",
- "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.49b0.dev",
},
{
"library": "urllib3 >= 1.0.0, < 3.0.0",
- "instrumentation": "opentelemetry-instrumentation-urllib3==0.48b0.dev",
+ "instrumentation": "opentelemetry-instrumentation-urllib3==0.49b0.dev",
},
]
default_instrumentations = [
- "opentelemetry-instrumentation-asyncio==0.48b0.dev",
- "opentelemetry-instrumentation-dbapi==0.48b0.dev",
- "opentelemetry-instrumentation-logging==0.48b0.dev",
- "opentelemetry-instrumentation-sqlite3==0.48b0.dev",
- "opentelemetry-instrumentation-threading==0.48b0.dev",
- "opentelemetry-instrumentation-urllib==0.48b0.dev",
- "opentelemetry-instrumentation-wsgi==0.48b0.dev",
+ "opentelemetry-instrumentation-asyncio==0.49b0.dev",
+ "opentelemetry-instrumentation-dbapi==0.49b0.dev",
+ "opentelemetry-instrumentation-logging==0.49b0.dev",
+ "opentelemetry-instrumentation-sqlite3==0.49b0.dev",
+ "opentelemetry-instrumentation-threading==0.49b0.dev",
+ "opentelemetry-instrumentation-urllib==0.49b0.dev",
+ "opentelemetry-instrumentation-wsgi==0.49b0.dev",
]
diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/version.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/version.py
index 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/opentelemetry-instrumentation/test-requirements.txt b/opentelemetry-instrumentation/test-requirements.txt
index 6cd12fad24..31f1ef76ab 100644
--- a/opentelemetry-instrumentation/test-requirements.txt
+++ b/opentelemetry-instrumentation/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/opentelemetry-instrumentation/tests/test_bootstrap.py b/opentelemetry-instrumentation/tests/test_bootstrap.py
index bbe2f5623b..4807f0beb7 100644
--- a/opentelemetry-instrumentation/tests/test_bootstrap.py
+++ b/opentelemetry-instrumentation/tests/test_bootstrap.py
@@ -77,7 +77,7 @@ def test_run_cmd_print(self):
bootstrap.run()
self.assertEqual(
fake_out.getvalue(),
- "\n".join(self.installed_libraries),
+ "\n".join(self.installed_libraries) + "\n",
)
@patch("sys.argv", ["bootstrap", "-a", "install"])
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/propagator/opentelemetry-propagator-aws-xray/test-requirements.txt b/propagator/opentelemetry-propagator-aws-xray/test-requirements.txt
index 8589a794a4..4587d87629 100644
--- a/propagator/opentelemetry-propagator-aws-xray/test-requirements.txt
+++ b/propagator/opentelemetry-propagator-aws-xray/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
certifi==2024.7.4
charset-normalizer==3.3.2
Deprecated==1.2.14
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt b/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt
index 0a72c3c823..b556c4f0cc 100644
--- a/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt
+++ b/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/resource/opentelemetry-resource-detector-azure/test-requirements.txt b/resource/opentelemetry-resource-detector-azure/test-requirements.txt
index 028c41e65d..2b29359fbb 100644
--- a/resource/opentelemetry-resource-detector-azure/test-requirements.txt
+++ b/resource/opentelemetry-resource-detector-azure/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/resource/opentelemetry-resource-detector-container/test-requirements.txt b/resource/opentelemetry-resource-detector-container/test-requirements.txt
index 8a926fff71..f7b5b71fcf 100644
--- a/resource/opentelemetry-resource-detector-container/test-requirements.txt
+++ b/resource/opentelemetry-resource-detector-container/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/scripts/update_sha.py b/scripts/update_sha.py
index 1c913249a2..c63b9eda9b 100644
--- a/scripts/update_sha.py
+++ b/scripts/update_sha.py
@@ -22,7 +22,12 @@
API_URL = (
"https://api.github.com/repos/open-telemetry/opentelemetry-python/commits/"
)
-WORKFLOW_FILE = ".github/workflows/test.yml"
+workflow_files = [
+ ".github/workflows/test_0.yml"
+ ".github/workflows/test_1.yml"
+ ".github/workflows/misc_0.yml"
+ ".github/workflows/lint_0.yml"
+]
def get_sha(branch):
@@ -35,11 +40,12 @@ def get_sha(branch):
def update_sha(sha):
yaml = YAML()
yaml.preserve_quotes = True
- with open(WORKFLOW_FILE, "r") as file:
- workflow = yaml.load(file)
- workflow["env"]["CORE_REPO_SHA"] = sha
- with open(WORKFLOW_FILE, "w") as file:
- yaml.dump(workflow, file)
+ for workflow_file in workflow_files:
+ with open(workflow_file, "r") as file:
+ workflow = yaml.load(file)
+ workflow["env"]["CORE_REPO_SHA"] = sha
+ with open(workflow_file, "w") as file:
+ yaml.dump(workflow, file)
def main():
diff --git a/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements.txt b/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements.txt
index 27199627a1..1fa968a8b3 100644
--- a/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements.txt
+++ b/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
diff --git a/tox.ini b/tox.ini
index 8552948b6b..600929a6ec 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1190,7 +1190,7 @@ basepython: python3
deps =
aiopg==1.4.0
amqp==5.2.0
- asgiref==3.7.2
+ asgiref==3.8.1
async-timeout==4.0.3
asyncpg==0.29.0
attrs==23.2.0
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 4d21fcb843..ee5a6342e7 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.48b0.dev"
+__version__ = "0.49b0.dev"
diff --git a/util/opentelemetry-util-http/test-requirements.txt b/util/opentelemetry-util-http/test-requirements.txt
index cb1ffe135b..1769daa094 100644
--- a/util/opentelemetry-util-http/test-requirements.txt
+++ b/util/opentelemetry-util-http/test-requirements.txt
@@ -1,4 +1,4 @@
-asgiref==3.7.2
+asgiref==3.8.1
Deprecated==1.2.14
importlib-metadata==6.11.0
iniconfig==2.0.0
@@ -8,4 +8,4 @@ py-cpuinfo==9.0.0
pytest==7.4.4
tomli==2.0.1
typing_extensions==4.10.0
--e opentelemetry-instrumentation
\ No newline at end of file
+-e opentelemetry-instrumentation