Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-opentelemetry-exporter-otlp-proto-common for openSUSE:Factory checked in at 2024-09-05 15:47:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-common (Old) and /work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-common.new.10096 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-exporter-otlp-proto-common" Thu Sep 5 15:47:31 2024 rev:7 rq:1198911 version:1.27.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-common/python-opentelemetry-exporter-otlp-proto-common.changes 2024-06-19 16:37:03.958431510 +0200 +++ /work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-common.new.10096/python-opentelemetry-exporter-otlp-proto-common.changes 2024-09-05 15:48:18.470862227 +0200 @@ -1,0 +2,17 @@ +Wed Sep 4 20:41:24 UTC 2024 - Guang Yee <g...@suse.com> + +- update to 1.27.0: + * Implementation of Events API + * Make log sdk add exception.message to logRecord for exceptions whose argument is an exception not a string message + * Fix use of link.attributes.dropped, which may not exist + * Running mypy on SDK resources + * Added py.typed file to top-level module + * Drop Final annotation from Enum in semantic conventions + * Update log export example to not use root logger + * Update semantic conventions to version 1.27.0 + * Add support to type bytes for OTLP AnyValue + * Export ExponentialHistogram and ExponentialHistogramDataPoint + * Implement Client Key and Certificate File Support for All OTLP Exporters + * Remove _start_time_unix_nano attribute from _ViewInstrumentMatch in favor of using time_ns() at the moment when the aggregation object is created + +------------------------------------------------------------------- Old: ---- opentelemetry_exporter_otlp_proto_common-1.25.0.tar.gz New: ---- opentelemetry_exporter_otlp_proto_common-1.27.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-opentelemetry-exporter-otlp-proto-common.spec ++++++ --- /var/tmp/diff_new_pack.MDnujN/_old 2024-09-05 15:48:19.234893956 +0200 +++ /var/tmp/diff_new_pack.MDnujN/_new 2024-09-05 15:48:19.234893956 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-opentelemetry-exporter-otlp-proto-common -Version: 1.25.0 +Version: 1.27.0 Release: 0 Summary: OpenTelemetry Protobuf encoding License: Apache-2.0 ++++++ opentelemetry_exporter_otlp_proto_common-1.25.0.tar.gz -> opentelemetry_exporter_otlp_proto_common-1.27.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/.gitignore new/opentelemetry_exporter_otlp_proto_common-1.27.0/.gitignore --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/.gitignore 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/.gitignore 2020-02-02 01:00:00.000000000 +0100 @@ -66,3 +66,6 @@ # Semantic conventions scripts/semconv/semantic-conventions + +# Benchmark result files +*-benchmark.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/PKG-INFO new/opentelemetry_exporter_otlp_proto_common-1.27.0/PKG-INFO --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.3 Name: opentelemetry-exporter-otlp-proto-common -Version: 1.25.0 +Version: 1.27.0 Summary: OpenTelemetry Protobuf encoding Project-URL: Homepage, https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-common Author-email: OpenTelemetry Authors <cncf-opentelemetry-contribut...@lists.cncf.io> @@ -17,8 +17,9 @@ Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 Requires-Python: >=3.8 -Requires-Dist: opentelemetry-proto==1.25.0 +Requires-Dist: opentelemetry-proto==1.27.0 Description-Content-Type: text/x-rst OpenTelemetry Protobuf Encoding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/pyproject.toml new/opentelemetry_exporter_otlp_proto_common-1.27.0/pyproject.toml --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 @@ -24,9 +24,10 @@ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] dependencies = [ - "opentelemetry-proto == 1.25.0", + "opentelemetry-proto == 1.27.0", ] [project.urls] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py 2020-02-02 01:00:00.000000000 +0100 @@ -75,6 +75,8 @@ return PB2AnyValue(int_value=value) if isinstance(value, float): return PB2AnyValue(double_value=value) + if isinstance(value, bytes): + return PB2AnyValue(bytes_value=value) if isinstance(value, Sequence): return PB2AnyValue( array_value=PB2ArrayValue(values=[_encode_value(v) for v in value]) @@ -110,7 +112,7 @@ try: pb2_attributes.append(_encode_key_value(key, value)) except Exception as error: - _logger.exception(error) + _logger.exception("Failed to encode key %s: %s", key, error) else: pb2_attributes = None return pb2_attributes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py 2020-02-02 01:00:00.000000000 +0100 @@ -39,11 +39,21 @@ def _encode_log(log_data: LogData) -> PB2LogRecord: + span_id = ( + None + if log_data.log_record.span_id == 0 + else _encode_span_id(log_data.log_record.span_id) + ) + trace_id = ( + None + if log_data.log_record.trace_id == 0 + else _encode_trace_id(log_data.log_record.trace_id) + ) return PB2LogRecord( time_unix_nano=log_data.log_record.timestamp, observed_time_unix_nano=log_data.log_record.observed_timestamp, - span_id=_encode_span_id(log_data.log_record.span_id), - trace_id=_encode_trace_id(log_data.log_record.trace_id), + span_id=span_id, + trace_id=trace_id, flags=int(log_data.log_record.trace_flags), body=_encode_value(log_data.log_record.body), severity_text=log_data.log_record.severity_text, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py 2020-02-02 01:00:00.000000000 +0100 @@ -142,7 +142,7 @@ name=event.name, time_unix_nano=event.timestamp, attributes=_encode_attributes(event.attributes), - dropped_attributes_count=event.attributes.dropped, + dropped_attributes_count=event.dropped_attributes, ) pb2_events.append(encoded_event) return pb2_events @@ -157,7 +157,7 @@ trace_id=_encode_trace_id(link.context.trace_id), span_id=_encode_span_id(link.context.span_id), attributes=_encode_attributes(link.attributes), - dropped_attributes_count=link.attributes.dropped, + dropped_attributes_count=link.dropped_attributes, flags=_span_flags(link.context), ) pb2_links.append(encoded_link) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/version.py new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/version.py --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/src/opentelemetry/exporter/otlp/proto/common/version.py 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/src/opentelemetry/exporter/otlp/proto/common/version.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.25.0" +__version__ = "1.27.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/tests/test_attribute_encoder.py new/opentelemetry_exporter_otlp_proto_common-1.27.0/tests/test_attribute_encoder.py --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/tests/test_attribute_encoder.py 1970-01-01 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/tests/test_attribute_encoder.py 2020-02-02 01:00:00.000000000 +0100 @@ -0,0 +1,105 @@ +# 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 unittest +from logging import ERROR + +from opentelemetry.exporter.otlp.proto.common._internal import ( + _encode_attributes, +) +from opentelemetry.proto.common.v1.common_pb2 import AnyValue as PB2AnyValue +from opentelemetry.proto.common.v1.common_pb2 import ( + ArrayValue as PB2ArrayValue, +) +from opentelemetry.proto.common.v1.common_pb2 import KeyValue as PB2KeyValue + + +class TestOTLPAttributeEncoder(unittest.TestCase): + def test_encode_attributes_all_kinds(self): + result = _encode_attributes( + { + "a": 1, # int + "b": 3.14, # float + "c": False, # bool + "hello": "world", # str + "greet": ["hola", "bonjour"], # Sequence[str] + "data": [1, 2], # Sequence[int] + "data_granular": [1.4, 2.4], # Sequence[float] + "binary_data": b"x00\x01\x02", # bytes + } + ) + self.assertEqual( + result, + [ + PB2KeyValue(key="a", value=PB2AnyValue(int_value=1)), + PB2KeyValue(key="b", value=PB2AnyValue(double_value=3.14)), + PB2KeyValue(key="c", value=PB2AnyValue(bool_value=False)), + PB2KeyValue( + key="hello", value=PB2AnyValue(string_value="world") + ), + PB2KeyValue( + key="greet", + value=PB2AnyValue( + array_value=PB2ArrayValue( + values=[ + PB2AnyValue(string_value="hola"), + PB2AnyValue(string_value="bonjour"), + ] + ) + ), + ), + PB2KeyValue( + key="data", + value=PB2AnyValue( + array_value=PB2ArrayValue( + values=[ + PB2AnyValue(int_value=1), + PB2AnyValue(int_value=2), + ] + ) + ), + ), + PB2KeyValue( + key="data_granular", + value=PB2AnyValue( + array_value=PB2ArrayValue( + values=[ + PB2AnyValue(double_value=1.4), + PB2AnyValue(double_value=2.4), + ] + ) + ), + ), + PB2KeyValue( + key="binary_data", + value=PB2AnyValue(bytes_value=b"x00\x01\x02"), + ), + ], + ) + + def test_encode_attributes_error_logs_key(self): + with self.assertLogs(level=ERROR) as error: + result = _encode_attributes({"a": 1, "bad_key": None, "b": 2}) + + self.assertEqual(len(error.records), 1) + self.assertEqual(error.records[0].msg, "Failed to encode key %s: %s") + self.assertEqual(error.records[0].args[0], "bad_key") + self.assertIsInstance(error.records[0].args[1], Exception) + self.assertEqual( + result, + [ + PB2KeyValue(key="a", value=PB2AnyValue(int_value=1)), + PB2KeyValue(key="b", value=PB2AnyValue(int_value=2)), + ], + ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/tests/test_log_encoder.py new/opentelemetry_exporter_otlp_proto_common-1.27.0/tests/test_log_encoder.py --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/tests/test_log_encoder.py 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/tests/test_log_encoder.py 2020-02-02 01:00:00.000000000 +0100 @@ -239,8 +239,8 @@ PB2LogRecord( time_unix_nano=1644650249738562048, observed_time_unix_nano=1644650249738562049, - trace_id=_encode_trace_id(0), - span_id=_encode_span_id(0), + trace_id=None, + span_id=None, flags=int(TraceFlags.DEFAULT), severity_text="WARN", severity_number=SeverityNumber.WARN.value, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_exporter_otlp_proto_common-1.25.0/tests/test_metrics_encoder.py new/opentelemetry_exporter_otlp_proto_common-1.27.0/tests/test_metrics_encoder.py --- old/opentelemetry_exporter_otlp_proto_common-1.25.0/tests/test_metrics_encoder.py 2020-02-02 01:00:00.000000000 +0100 +++ new/opentelemetry_exporter_otlp_proto_common-1.27.0/tests/test_metrics_encoder.py 2020-02-02 01:00:00.000000000 +0100 @@ -296,6 +296,7 @@ ), ], time_unix_nano=1641946016139533244, + start_time_unix_nano=0, as_int=9000, ) ],