mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-31 22:23:12 +08:00
Fix compatibility issue aio-pika instrumentation (#2450)
* - fixed compatibility issue in set_channel of span_builder.py - changed test-requirements-2.txt to use aio-pika==9.0.5 - added test-requirements-3.txt to use aio-pika==9.4.1 (latest atm) - tox.ini: fixed incorrect commands_pre which would always install test-requirements-2.txt and cause dep installation conflict - tox.ini: added aio-pika-3 commands * Add version comment for aio-pika --------- Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
This commit is contained in:
@ -47,8 +47,13 @@ class SpanBuilder:
|
|||||||
self._attributes[SpanAttributes.MESSAGING_DESTINATION] = destination
|
self._attributes[SpanAttributes.MESSAGING_DESTINATION] = destination
|
||||||
|
|
||||||
def set_channel(self, channel: AbstractChannel):
|
def set_channel(self, channel: AbstractChannel):
|
||||||
|
if hasattr(channel, "_connection"):
|
||||||
|
# aio_rmq 9.1 and above removed the connection attribute from the abstract listings
|
||||||
|
connection = channel._connection
|
||||||
|
else:
|
||||||
|
# aio_rmq 9.0.5 and below
|
||||||
connection = channel.connection
|
connection = channel.connection
|
||||||
if getattr(connection, "connection", None):
|
if hasattr(connection, "connection"):
|
||||||
# aio_rmq 7
|
# aio_rmq 7
|
||||||
url = connection.connection.url
|
url = connection.connection.url
|
||||||
else:
|
else:
|
||||||
@ -57,7 +62,7 @@ class SpanBuilder:
|
|||||||
self._attributes.update(
|
self._attributes.update(
|
||||||
{
|
{
|
||||||
SpanAttributes.NET_PEER_NAME: url.host,
|
SpanAttributes.NET_PEER_NAME: url.host,
|
||||||
SpanAttributes.NET_PEER_PORT: url.port,
|
SpanAttributes.NET_PEER_PORT: url.port or 5672,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
aio-pika==9.4.0
|
aio-pika==9.0.5
|
||||||
aiormq==6.8.0
|
aiormq==6.7.1
|
||||||
asgiref==3.7.2
|
asgiref==3.7.2
|
||||||
attrs==23.2.0
|
attrs==23.2.0
|
||||||
Deprecated==1.2.14
|
Deprecated==1.2.14
|
||||||
@ -8,7 +8,7 @@ importlib-metadata==6.11.0
|
|||||||
iniconfig==2.0.0
|
iniconfig==2.0.0
|
||||||
multidict==6.0.5
|
multidict==6.0.5
|
||||||
packaging==23.2
|
packaging==23.2
|
||||||
pamqp==3.3.0
|
pamqp==3.2.1
|
||||||
pluggy==1.4.0
|
pluggy==1.4.0
|
||||||
py==1.11.0
|
py==1.11.0
|
||||||
py-cpuinfo==9.0.0
|
py-cpuinfo==9.0.0
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
aio-pika==9.4.1
|
||||||
|
aiormq==6.8.0
|
||||||
|
asgiref==3.7.2
|
||||||
|
attrs==23.2.0
|
||||||
|
Deprecated==1.2.14
|
||||||
|
idna==3.6
|
||||||
|
importlib-metadata==6.11.0
|
||||||
|
iniconfig==2.0.0
|
||||||
|
multidict==6.0.5
|
||||||
|
packaging==23.2
|
||||||
|
pamqp==3.3.0
|
||||||
|
pluggy==1.4.0
|
||||||
|
py==1.11.0
|
||||||
|
py-cpuinfo==9.0.0
|
||||||
|
pytest==7.1.3
|
||||||
|
pytest-benchmark==4.0.0
|
||||||
|
tomli==2.0.1
|
||||||
|
typing_extensions==4.9.0
|
||||||
|
wrapt==1.16.0
|
||||||
|
yarl==1.9.4
|
||||||
|
zipp==3.17.0
|
||||||
|
-e opentelemetry-instrumentation
|
||||||
|
-e instrumentation/opentelemetry-instrumentation-aio-pika
|
14
tox.ini
14
tox.ini
@ -265,11 +265,12 @@ envlist =
|
|||||||
; opentelemetry-instrumentation-aio-pika
|
; opentelemetry-instrumentation-aio-pika
|
||||||
; The numbers at the end of the environment names
|
; The numbers at the end of the environment names
|
||||||
; below mean these dependencies are being used:
|
; below mean these dependencies are being used:
|
||||||
; 0: aio_pika~=7.2.0
|
; 0: aio_pika==7.2.0
|
||||||
; 1: aio_pika>=8.0.0,<9.0.0
|
; 1: aio_pika==8.3.0
|
||||||
; 2: aio_pika>=9.0.0,<10.0.0
|
; 2: aio_pika==9.0.5
|
||||||
py3{8,9,10,11}-test-instrumentation-aio-pika-{0,1,2}
|
; 3: aio_pika==9.4.1
|
||||||
pypy3-test-instrumentation-aio-pika-{0,1,2}
|
py3{8,9,10,11}-test-instrumentation-aio-pika-{0,1,2,3}
|
||||||
|
pypy3-test-instrumentation-aio-pika-{0,1,2,3}
|
||||||
|
|
||||||
; opentelemetry-instrumentation-kafka-python
|
; opentelemetry-instrumentation-kafka-python
|
||||||
py3{8,9,10,11}-test-instrumentation-kafka-python
|
py3{8,9,10,11}-test-instrumentation-kafka-python
|
||||||
@ -338,6 +339,7 @@ commands_pre =
|
|||||||
aio-pika-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt
|
aio-pika-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt
|
||||||
aio-pika-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt
|
aio-pika-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt
|
||||||
aio-pika-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt
|
aio-pika-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt
|
||||||
|
aio-pika-3: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt
|
||||||
|
|
||||||
kafka-python: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt
|
kafka-python: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt
|
||||||
|
|
||||||
@ -428,8 +430,6 @@ commands_pre =
|
|||||||
|
|
||||||
logging: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt
|
logging: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt
|
||||||
|
|
||||||
aio-pika-{0,1,2}: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt
|
|
||||||
|
|
||||||
aiohttp-client: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt
|
aiohttp-client: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt
|
||||||
|
|
||||||
aiohttp-server: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt
|
aiohttp-server: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt
|
||||||
|
Reference in New Issue
Block a user