diff --git a/CHANGELOG.md b/CHANGELOG.md index e206925782..cd4ee664db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- `opentelemetry-instrumentation-confluent-kafka`: Fix incorrect number of argument to `_inner_wrap_close` + ([#3922](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3922)) - `opentelemetry-instrumentation-botocore`: bedrock: only decode JSON input buffer in Anthropic Claude streaming ([#3875](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3875)) - `opentelemetry-instrumentation-aiohttp-client`, `opentelemetry-instrumentation-aiohttp-server`: Fix readme links and text diff --git a/docs-requirements.txt b/docs-requirements.txt index afd03672d0..7b706a7a16 100644 --- a/docs-requirements.txt +++ b/docs-requirements.txt @@ -24,7 +24,7 @@ botocore~=1.0 boto3~=1.0 cassandra-driver~=3.25 celery>=4.0 -confluent-kafka>= 1.8.2,<= 2.11.0 +confluent-kafka>= 1.8.2,<= 2.11.1 elasticsearch>=6.0,<9.0 flask~=2.0 falcon~=2.0 diff --git a/instrumentation/README.md b/instrumentation/README.md index 1597be99af..fdcded2f50 100644 --- a/instrumentation/README.md +++ b/instrumentation/README.md @@ -17,7 +17,7 @@ | [opentelemetry-instrumentation-cassandra](./opentelemetry-instrumentation-cassandra) | cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | No | development | [opentelemetry-instrumentation-celery](./opentelemetry-instrumentation-celery) | celery >= 4.0, < 6.0 | No | development | [opentelemetry-instrumentation-click](./opentelemetry-instrumentation-click) | click >= 8.1.3, < 9.0.0 | No | development -| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.11.0 | No | development +| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.11.1 | No | development | [opentelemetry-instrumentation-dbapi](./opentelemetry-instrumentation-dbapi) | dbapi | No | development | [opentelemetry-instrumentation-django](./opentelemetry-instrumentation-django) | django >= 1.10 | Yes | development | [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 6.0 | No | development diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml b/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml index 59a4a8c841..dacd2743ad 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/pyproject.toml @@ -32,7 +32,7 @@ dependencies = [ [project.optional-dependencies] instruments = [ - "confluent-kafka >= 1.8.2, <= 2.11.0", + "confluent-kafka >= 1.8.2, <= 2.11.1", ] [project.entry-points.opentelemetry_instrumentor] diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/__init__.py b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/__init__.py index db422db7f6..11b6ba43d3 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/__init__.py @@ -132,8 +132,8 @@ def produce(self, topic, value=None, *args, **kwargs): # pylint: disable=keywor class AutoInstrumentedConsumer(Consumer): - def __init__(self, config): - super().__init__(config) + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) self._current_consume_span = None # This method is deliberately implemented in order to allow wrapt to wrap this function @@ -183,9 +183,9 @@ def __init__(self, consumer: Consumer, tracer: Tracer): self._current_consume_span = None self._current_context_token = None - def close(self): + def close(self, *args, **kwargs): return ConfluentKafkaInstrumentor.wrap_close( - self._consumer.close, self + self._consumer.close, self, args, kwargs ) def committed(self, partitions, timeout=-1): @@ -306,8 +306,10 @@ def _inner_wrap_consume(func, instance, args, kwargs): func, instance, self._tracer, args, kwargs ) - def _inner_wrap_close(func, instance): - return ConfluentKafkaInstrumentor.wrap_close(func, instance) + def _inner_wrap_close(func, instance, args, kwargs): + return ConfluentKafkaInstrumentor.wrap_close( + func, instance, args, kwargs + ) wrapt.wrap_function_wrapper( AutoInstrumentedProducer, @@ -419,7 +421,7 @@ def wrap_consume(func, instance, tracer, args, kwargs): return records @staticmethod - def wrap_close(func, instance): + def wrap_close(func, instance, args, kwargs): if instance._current_consume_span: _end_current_consume_span(instance) - func() + func(*args, **kwargs) diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py index 0d749ba2ab..0183581688 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py @@ -13,4 +13,4 @@ # limitations under the License. -_instruments = ("confluent-kafka >= 1.8.2, <= 2.11.0",) +_instruments = ("confluent-kafka >= 1.8.2, <= 2.11.1",) diff --git a/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt index 8fca8a7e99..4adefa32ee 100644 --- a/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt +++ b/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt @@ -1,5 +1,5 @@ asgiref==3.8.1 -confluent-kafka==2.11.0 +confluent-kafka==2.11.1 Deprecated==1.2.14 iniconfig==2.0.0 packaging==24.0 diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py index 2ea6f1bf58..958706683f 100644 --- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py +++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py @@ -85,7 +85,7 @@ "instrumentation": "opentelemetry-instrumentation-click==0.60b0.dev", }, { - "library": "confluent-kafka >= 1.8.2, <= 2.11.0", + "library": "confluent-kafka >= 1.8.2, <= 2.11.1", "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.60b0.dev", }, { diff --git a/uv.lock b/uv.lock index 76a60b9134..1683d2d743 100644 --- a/uv.lock +++ b/uv.lock @@ -2970,7 +2970,7 @@ instruments = [ [package.metadata] requires-dist = [ - { name = "confluent-kafka", marker = "extra == 'instruments'", specifier = ">=1.8.2,<=2.11.0" }, + { name = "confluent-kafka", marker = "extra == 'instruments'", specifier = ">=1.8.2,<=2.11.1" }, { name = "opentelemetry-api", git = "https://github.com/open-telemetry/opentelemetry-python?subdirectory=opentelemetry-api&branch=main" }, { name = "opentelemetry-instrumentation", editable = "opentelemetry-instrumentation" }, { name = "wrapt", specifier = ">=1.0.0,<2.0.0" },