Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package
python-opentelemetry-exporter-otlp-proto-http for openSUSE:Factory checked in
at 2025-05-27 18:44:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing
/work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-http (Old)
and
/work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-http.new.2732
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-exporter-otlp-proto-http"
Tue May 27 18:44:05 2025 rev:8 rq:1280595 version:1.33.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-http/python-opentelemetry-exporter-otlp-proto-http.changes
2025-02-26 17:19:45.062296075 +0100
+++
/work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-http.new.2732/python-opentelemetry-exporter-otlp-proto-http.changes
2025-05-27 18:44:13.569691528 +0200
@@ -1,0 +2,16 @@
+Mon May 26 07:21:12 UTC 2025 - Nico Krapp <[email protected]>
+
+- Update to 1.33.1
+ * Remove log messages from BatchLogRecordProcessor.emit, this caused the
+ program to crash at shutdown with a max recursion error
+- Update to 1.33.0
+ * Fix intermittent Connection aborted error when using otlp/http exporters
+ * opentelemetry-sdk: use stable code attributes:
+ code.function -> code.function.name, code.lineno -> code.line.number,
+ code.filepath -> code.file.path
+ * Fix serialization of extended attributes for logs signal
+ * Handle OTEL_PROPAGATORS contains None
+ * docs: updated and added to the metrics and log examples
+ * Bump semantic conventions to 1.33.0
+
+-------------------------------------------------------------------
Old:
----
opentelemetry_exporter_otlp_proto_http-1.30.0.tar.gz
New:
----
opentelemetry_exporter_otlp_proto_http-1.33.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-opentelemetry-exporter-otlp-proto-http.spec ++++++
--- /var/tmp/diff_new_pack.GqbYtg/_old 2025-05-27 18:44:14.169716777 +0200
+++ /var/tmp/diff_new_pack.GqbYtg/_new 2025-05-27 18:44:14.169716777 +0200
@@ -17,7 +17,7 @@
Name: python-opentelemetry-exporter-otlp-proto-http
-Version: 1.30.0
+Version: 1.33.1
Release: 0
Summary: OpenTelemetry Collector Protobuf over HTTP Exporter
License: Apache-2.0
@@ -33,7 +33,7 @@
BuildRequires: %{python_module opentelemetry-exporter-otlp-proto-common =
%{version}}
BuildRequires: %{python_module opentelemetry-proto = %{version}}
BuildRequires: %{python_module opentelemetry-sdk >= 1.23.0}
-BuildRequires: %{python_module opentelemetry-test-utils = 0.51b0}
+BuildRequires: %{python_module opentelemetry-test-utils = 0.54b1}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests >= 2.7}
BuildRequires: %{python_module responses >= 0.22.0}
++++++ opentelemetry_exporter_otlp_proto_http-1.30.0.tar.gz ->
opentelemetry_exporter_otlp_proto_http-1.33.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.30.0/PKG-INFO
new/opentelemetry_exporter_otlp_proto_http-1.33.1/PKG-INFO
--- old/opentelemetry_exporter_otlp_proto_http-1.30.0/PKG-INFO 2020-02-02
01:00:00.000000000 +0100
+++ new/opentelemetry_exporter_otlp_proto_http-1.33.1/PKG-INFO 2020-02-02
01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: opentelemetry-exporter-otlp-proto-http
-Version: 1.30.0
+Version: 1.33.1
Summary: OpenTelemetry Collector Protobuf over HTTP Exporter
Project-URL: Homepage,
https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http
Project-URL: Repository, https://github.com/open-telemetry/opentelemetry-python
@@ -24,9 +24,9 @@
Requires-Dist: deprecated>=1.2.6
Requires-Dist: googleapis-common-protos~=1.52
Requires-Dist: opentelemetry-api~=1.15
-Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.30.0
-Requires-Dist: opentelemetry-proto==1.30.0
-Requires-Dist: opentelemetry-sdk~=1.30.0
+Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.33.1
+Requires-Dist: opentelemetry-proto==1.33.1
+Requires-Dist: opentelemetry-sdk~=1.33.1
Requires-Dist: requests~=2.7
Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.30.0/pyproject.toml
new/opentelemetry_exporter_otlp_proto_http-1.33.1/pyproject.toml
--- old/opentelemetry_exporter_otlp_proto_http-1.30.0/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_exporter_otlp_proto_http-1.33.1/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
@@ -31,9 +31,9 @@
"Deprecated >= 1.2.6",
"googleapis-common-protos ~= 1.52",
"opentelemetry-api ~= 1.15",
- "opentelemetry-proto == 1.30.0",
- "opentelemetry-sdk ~= 1.30.0",
- "opentelemetry-exporter-otlp-proto-common == 1.30.0",
+ "opentelemetry-proto == 1.33.1",
+ "opentelemetry-sdk ~= 1.33.1",
+ "opentelemetry-exporter-otlp-proto-common == 1.33.1",
"requests ~= 2.7",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
---
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -21,6 +21,7 @@
from typing import Dict, Optional, Sequence
import requests
+from requests.exceptions import ConnectionError
from opentelemetry.exporter.otlp.proto.common._internal import (
_create_exp_backoff_generator,
@@ -133,13 +134,27 @@
elif self._compression == Compression.Deflate:
data = zlib.compress(serialized_data)
- return self._session.post(
- url=self._endpoint,
- data=data,
- verify=self._certificate_file,
- timeout=self._timeout,
- cert=self._client_cert,
- )
+ # By default, keep-alive is enabled in Session's request
+ # headers. Backends may choose to close the connection
+ # while a post happens which causes an unhandled
+ # exception. This try/except will retry the post on such exceptions
+ try:
+ resp = self._session.post(
+ url=self._endpoint,
+ data=data,
+ verify=self._certificate_file,
+ timeout=self._timeout,
+ cert=self._client_cert,
+ )
+ except ConnectionError:
+ resp = self._session.post(
+ url=self._endpoint,
+ data=data,
+ verify=self._certificate_file,
+ timeout=self._timeout,
+ cert=self._client_cert,
+ )
+ return resp
@staticmethod
def _retryable(resp: requests.Response) -> bool:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py
---
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -10,6 +10,7 @@
# 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.
+from __future__ import annotations
import gzip
import logging
@@ -23,12 +24,12 @@
Dict,
List,
Mapping,
- Optional,
Sequence,
)
import requests
from deprecated import deprecated
+from requests.exceptions import ConnectionError
from opentelemetry.exporter.otlp.proto.common._internal import (
_create_exp_backoff_generator,
@@ -40,7 +41,10 @@
from opentelemetry.exporter.otlp.proto.common.metrics_encoder import (
encode_metrics,
)
-from opentelemetry.exporter.otlp.proto.http import Compression
+from opentelemetry.exporter.otlp.proto.http import (
+ _OTLP_HTTP_HEADERS,
+ Compression,
+)
from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ( #
noqa: F401
ExportMetricsServiceRequest,
)
@@ -101,16 +105,17 @@
def __init__(
self,
- endpoint: Optional[str] = None,
- certificate_file: Optional[str] = None,
- client_key_file: Optional[str] = None,
- client_certificate_file: Optional[str] = None,
- headers: Optional[Dict[str, str]] = None,
- timeout: Optional[int] = None,
- compression: Optional[Compression] = None,
- session: Optional[requests.Session] = None,
- preferred_temporality: Dict[type, AggregationTemporality] = None,
- preferred_aggregation: Dict[type, Aggregation] = None,
+ endpoint: str | None = None,
+ certificate_file: str | None = None,
+ client_key_file: str | None = None,
+ client_certificate_file: str | None = None,
+ headers: dict[str, str] | None = None,
+ timeout: int | None = None,
+ compression: Compression | None = None,
+ session: requests.Session | None = None,
+ preferred_temporality: dict[type, AggregationTemporality]
+ | None = None,
+ preferred_aggregation: dict[type, Aggregation] | None = None,
):
self._endpoint = endpoint or environ.get(
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT,
@@ -151,9 +156,7 @@
self._compression = compression or _compression_from_env()
self._session = session or requests.Session()
self._session.headers.update(self._headers)
- self._session.headers.update(
- {"Content-Type": "application/x-protobuf"}
- )
+ self._session.headers.update(_OTLP_HTTP_HEADERS)
if self._compression is not Compression.NoCompression:
self._session.headers.update(
{"Content-Encoding": self._compression.value}
@@ -173,13 +176,27 @@
elif self._compression == Compression.Deflate:
data = zlib.compress(serialized_data)
- return self._session.post(
- url=self._endpoint,
- data=data,
- verify=self._certificate_file,
- timeout=self._timeout,
- cert=self._client_cert,
- )
+ # By default, keep-alive is enabled in Session's request
+ # headers. Backends may choose to close the connection
+ # while a post happens which causes an unhandled
+ # exception. This try/except will retry the post on such exceptions
+ try:
+ resp = self._session.post(
+ url=self._endpoint,
+ data=data,
+ verify=self._certificate_file,
+ timeout=self._timeout,
+ cert=self._client_cert,
+ )
+ except ConnectionError:
+ resp = self._session.post(
+ url=self._endpoint,
+ data=data,
+ verify=self._certificate_file,
+ timeout=self._timeout,
+ cert=self._client_cert,
+ )
+ return resp
@staticmethod
def _retryable(resp: requests.Response) -> bool:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py
---
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -21,6 +21,7 @@
from typing import Dict, Optional
import requests
+from requests.exceptions import ConnectionError
from opentelemetry.exporter.otlp.proto.common._internal import (
_create_exp_backoff_generator,
@@ -130,13 +131,27 @@
elif self._compression == Compression.Deflate:
data = zlib.compress(serialized_data)
- return self._session.post(
- url=self._endpoint,
- data=data,
- verify=self._certificate_file,
- timeout=self._timeout,
- cert=self._client_cert,
- )
+ # By default, keep-alive is enabled in Session's request
+ # headers. Backends may choose to close the connection
+ # while a post happens which causes an unhandled
+ # exception. This try/except will retry the post on such exceptions
+ try:
+ resp = self._session.post(
+ url=self._endpoint,
+ data=data,
+ verify=self._certificate_file,
+ timeout=self._timeout,
+ cert=self._client_cert,
+ )
+ except ConnectionError:
+ resp = self._session.post(
+ url=self._endpoint,
+ data=data,
+ verify=self._certificate_file,
+ timeout=self._timeout,
+ cert=self._client_cert,
+ )
+ return resp
@staticmethod
def _retryable(resp: requests.Response) -> bool:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/version/__init__.py
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/version/__init__.py
---
old/opentelemetry_exporter_otlp_proto_http-1.30.0/src/opentelemetry/exporter/otlp/proto/http/version/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.33.1/src/opentelemetry/exporter/otlp/proto/http/version/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-__version__ = "1.30.0"
+__version__ = "1.33.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.30.0/tests/metrics/test_otlp_metrics_exporter.py
new/opentelemetry_exporter_otlp_proto_http-1.33.1/tests/metrics/test_otlp_metrics_exporter.py
---
old/opentelemetry_exporter_otlp_proto_http-1.30.0/tests/metrics/test_otlp_metrics_exporter.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.33.1/tests/metrics/test_otlp_metrics_exporter.py
2020-02-02 01:00:00.000000000 +0100
@@ -32,6 +32,7 @@
DEFAULT_TIMEOUT,
OTLPMetricExporter,
)
+from opentelemetry.exporter.otlp.proto.http.version import __version__
from opentelemetry.sdk.environment_variables import (
OTEL_EXPORTER_OTLP_CERTIFICATE,
OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE,
@@ -124,6 +125,15 @@
self.assertIs(exporter._compression, DEFAULT_COMPRESSION)
self.assertEqual(exporter._headers, {})
self.assertIsInstance(exporter._session, Session)
+ self.assertIn("User-Agent", exporter._session.headers)
+ self.assertEqual(
+ exporter._session.headers.get("Content-Type"),
+ "application/x-protobuf",
+ )
+ self.assertEqual(
+ exporter._session.headers.get("User-Agent"),
+ "OTel-OTLP-Exporter-Python/" + __version__,
+ )
@patch.dict(
"os.environ",