Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-opentelemetry-api for
openSUSE:Factory checked in at 2023-12-11 21:50:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-opentelemetry-api (Old)
and /work/SRC/openSUSE:Factory/.python-opentelemetry-api.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-api"
Mon Dec 11 21:50:41 2023 rev:10 rq:1132370 version:1.21.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-opentelemetry-api/python-opentelemetry-api.changes
2023-05-12 20:40:28.466918307 +0200
+++
/work/SRC/openSUSE:Factory/.python-opentelemetry-api.new.25432/python-opentelemetry-api.changes
2023-12-11 21:50:52.900262015 +0100
@@ -1,0 +2,41 @@
+Sun Dec 10 21:48:52 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 1.21.0:
+ * Fix `SumAggregation`  (#3390)
+ * Fix handling of empty metric collection cycles (#3335)
+ * Fix error when no LoggerProvider configured for
+ LoggingHandler (#3423)
+ * Make `opentelemetry_metrics_exporter` entrypoint support pull
+ exporters (#3428)
+ * Allow instrument names to have '/' and up to 255 characters
+ (#3442)
+ * Do not load Resource on sdk import (#3447)
+ * Update semantic conventions to version 1.21.0 (#3251)
+ * Add missing schema_url in global api for logging and metrics
+ (#3251)
+ * Prometheus exporter support for auto instrumentation (#3413)
+ * Modify Prometheus exporter to translate non-monotonic Sums
+ into Gauges (#3306)
+ * Update the body type in the log ($3343)
+ * Add max_scale option to Exponential Bucket Histogram
+ Aggregation (#3323)
+ * Use BoundedAttributes instead of raw dict to extract
+ attributes from LogRecord (#3310)
+ * Support dropped_attributes_count in LogRecord and exporters
+ (#3351)
+ * Add unit to view instrument selection criteria (#3341)
+ * Upgrade opentelemetry-proto to 0.20 and regen #3355)
+ * Include endpoint in Grpc transient error warning #3362)
+ * Fixed bug where logging export is tracked as trace #3375)
+ * Select histogram aggregation with an environment variable
+ * Move Protobuf encoding to its own package (#3169)
+ * Add experimental feature to detect resource detectors in auto
+ instrumentation (#3181)
+ * Fix exporting of ExponentialBucketHistogramAggregation from
+ opentelemetry.sdk.metrics.view (#3240)
+ * Fix headers types mismatch for OTLP Exporters (#3226)
+ * Fix suppress instrumentation for log batch processor (#3223)
+ * Add speced out environment variables and arguments for
+ BatchLogRecordProcessor (#3237)
+
+-------------------------------------------------------------------
Old:
----
opentelemetry_api-1.17.0.tar.gz
New:
----
opentelemetry_api-1.21.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-opentelemetry-api.spec ++++++
--- /var/tmp/diff_new_pack.CYFu5B/_old 2023-12-11 21:50:53.580287199 +0100
+++ /var/tmp/diff_new_pack.CYFu5B/_new 2023-12-11 21:50:53.580287199 +0100
@@ -19,7 +19,7 @@
%define skip_python2 1
%{?sle15_python_module_pythons}
Name: python-opentelemetry-api
-Version: 1.17.0
+Version: 1.21.0
Release: 0
Summary: OpenTelemetry Python API
License: Apache-2.0
@@ -29,7 +29,6 @@
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module importlib-metadata}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -39,7 +38,6 @@
BuildArch: noarch
Requires: python-Deprecated
Requires: python-importlib-metadata
-Requires: python-setuptools
%if %{python_version_nodots} < 37
Requires: python-aiocontextvars
%endif
++++++ opentelemetry_api-1.17.0.tar.gz -> opentelemetry_api-1.21.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/opentelemetry_api-1.17.0/.gitignore
new/opentelemetry_api-1.21.0/.gitignore
--- old/opentelemetry_api-1.17.0/.gitignore 2020-02-02 01:00:00.000000000
+0100
+++ new/opentelemetry_api-1.21.0/.gitignore 2020-02-02 01:00:00.000000000
+0100
@@ -63,3 +63,6 @@
# Django example
docs/examples/django/db.sqlite3
+
+# Semantic conventions
+scripts/semconv/semantic-conventions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/opentelemetry_api-1.17.0/PKG-INFO
new/opentelemetry_api-1.21.0/PKG-INFO
--- old/opentelemetry_api-1.17.0/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
+++ new/opentelemetry_api-1.21.0/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: opentelemetry-api
-Version: 1.17.0
+Version: 1.21.0
Summary: OpenTelemetry Python API
Project-URL: Homepage,
https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-api
Author-email: OpenTelemetry Authors
<[email protected]>
@@ -19,8 +19,7 @@
Classifier: Typing :: Typed
Requires-Python: >=3.7
Requires-Dist: deprecated>=1.2.6
-Requires-Dist: importlib-metadata~=6.0.0
-Requires-Dist: setuptools>=16.0
+Requires-Dist: importlib-metadata<7.0,>=6.0
Provides-Extra: test
Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/opentelemetry_api-1.17.0/pyproject.toml
new/opentelemetry_api-1.21.0/pyproject.toml
--- old/opentelemetry_api-1.17.0/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
+++ new/opentelemetry_api-1.21.0/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
@@ -26,10 +26,9 @@
]
dependencies = [
"Deprecated >= 1.2.6",
- "setuptools >= 16.0",
# FIXME This should be able to be removed after 3.12 is released if there
is a reliable API
# in importlib.metadata.
- "importlib-metadata ~= 6.0.0",
+ "importlib-metadata >= 6.0, < 7.0",
]
dynamic = [
"version",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/_logs/_internal/__init__.py
new/opentelemetry_api-1.21.0/src/opentelemetry/_logs/_internal/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/_logs/_internal/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/_logs/_internal/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -37,6 +37,7 @@
from abc import ABC, abstractmethod
from logging import getLogger
from os import environ
+from time import time_ns
from typing import Any, Optional, cast
from opentelemetry._logs.severity import SeverityNumber
@@ -70,6 +71,8 @@
attributes: Optional["Attributes"] = None,
):
self.timestamp = timestamp
+ if observed_timestamp is None:
+ observed_timestamp = time_ns()
self.observed_timestamp = observed_timestamp
self.trace_id = trace_id
self.span_id = span_id
@@ -143,7 +146,7 @@
version: Optional. The version string of the
instrumenting library. Usually this should be the same as
-
``pkg_resources.get_distribution(instrumenting_library_name).version``.
+ ``importlib.metadata.version(instrumenting_library_name)``.
schema_url: Optional. Specifies the Schema URL of the emitted
telemetry.
"""
@@ -199,19 +202,20 @@
_logger.warning("Overriding of current LoggerProvider is not allowed")
-def set_logger_provider(meter_provider: LoggerProvider) -> None:
+def set_logger_provider(logger_provider: LoggerProvider) -> None:
"""Sets the current global :class:`~.LoggerProvider` object.
This can only be done once, a warning will be logged if any further attempt
is made.
"""
- _set_logger_provider(meter_provider, log=True)
+ _set_logger_provider(logger_provider, log=True)
def get_logger(
instrumenting_module_name: str,
instrumenting_library_version: str = "",
logger_provider: Optional[LoggerProvider] = None,
+ schema_url: Optional[str] = None,
) -> "Logger":
"""Returns a `Logger` for use within a python process.
@@ -223,5 +227,5 @@
if logger_provider is None:
logger_provider = get_logger_provider()
return logger_provider.get_logger(
- instrumenting_module_name, instrumenting_library_version
+ instrumenting_module_name, instrumenting_library_version, schema_url
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/context/__init__.py
new/opentelemetry_api-1.21.0/src/opentelemetry/context/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/context/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/context/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -172,3 +172,13 @@
_SUPPRESS_HTTP_INSTRUMENTATION_KEY = create_key(
"suppress_http_instrumentation"
)
+
+__all__ = [
+ "Context",
+ "attach",
+ "create_key",
+ "detach",
+ "get_current",
+ "get_value",
+ "set_value",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/environment_variables.py
new/opentelemetry_api-1.21.0/src/opentelemetry/environment_variables.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/environment_variables.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/environment_variables.py
2020-02-02 01:00:00.000000000 +0100
@@ -22,6 +22,29 @@
"""
.. envvar:: OTEL_METRICS_EXPORTER
+Specifies which exporter is used for metrics. See `General SDK Configuration
+<https://opentelemetry.io/docs/concepts/sdk-configuration/general-sdk-configuration/#otel_metrics_exporter>`_.
+
+**Default value:** ``"otlp"``
+
+**Example:**
+
+``export OTEL_METRICS_EXPORTER="prometheus"``
+
+Accepted values for ``OTEL_METRICS_EXPORTER`` are:
+
+- ``"otlp"``
+- ``"prometheus"``
+- ``"none"``: No automatically configured exporter for metrics.
+
+.. note::
+
+ Exporter packages may add entry points for group
``opentelemetry_metrics_exporter`` which
+ can then be used with this environment variable by name. The entry point
should point to
+ either a `opentelemetry.sdk.metrics.export.MetricExporter` (push exporter)
or
+ `opentelemetry.sdk.metrics.export.MetricReader` (pull exporter) subclass;
it must be
+ constructable without any required arguments. This mechanism is considered
experimental and
+ may change in subsequent releases.
"""
OTEL_PROPAGATORS = "OTEL_PROPAGATORS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/__init__.py
new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/__init__.py
---
old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -719,6 +719,7 @@
name: str,
version: str = "",
meter_provider: Optional[MeterProvider] = None,
+ schema_url: Optional[str] = None,
) -> "Meter":
"""Returns a `Meter` for use by the given instrumentation library.
@@ -729,7 +730,7 @@
"""
if meter_provider is None:
meter_provider = get_meter_provider()
- return meter_provider.get_meter(name, version)
+ return meter_provider.get_meter(name, version, schema_url)
def _set_meter_provider(meter_provider: MeterProvider, log: bool) -> None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/instrument.py
new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/instrument.py
---
old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/instrument.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/instrument.py
2020-02-02 01:00:00.000000000 +0100
@@ -38,7 +38,7 @@
_logger = getLogger(__name__)
-_name_regex = re_compile(r"[a-zA-Z][-_.a-zA-Z0-9]{0,62}")
+_name_regex = re_compile(r"[a-zA-Z][-_./a-zA-Z0-9]{0,254}")
_unit_regex = re_compile(r"[\x00-\x7F]{0,63}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/propagate/__init__.py
new/opentelemetry_api-1.21.0/src/opentelemetry/propagate/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/propagate/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/propagate/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -144,11 +144,12 @@
)
).load()()
)
-
- except Exception: # pylint: disable=broad-except
- logger.exception(
- "Failed to load configured propagator: %s", propagator
+ except StopIteration:
+ raise ValueError(
+ f"Propagator {propagator} not found. It is either misspelled or
not installed."
)
+ except Exception: # pylint: disable=broad-except
+ logger.exception("Failed to load propagator: %s", propagator)
raise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/trace/__init__.py
new/opentelemetry_api-1.21.0/src/opentelemetry/trace/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/trace/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/trace/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -588,6 +588,11 @@
description=f"{type(exc).__name__}: {exc}",
)
)
+
+ # This causes parent spans to set their status to ERROR and to record
+ # an exception as an event if a child span raises an exception even if
+ # such child span was started with both record_exception and
+ # set_status_on_exception attributes set to False.
raise
finally:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/src/opentelemetry/version.py
new/opentelemetry_api-1.21.0/src/opentelemetry/version.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/version.py 2020-02-02
01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/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.17.0"
+__version__ = "1.21.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/tests/logs/test_log_record.py
new/opentelemetry_api-1.21.0/tests/logs/test_log_record.py
--- old/opentelemetry_api-1.17.0/tests/logs/test_log_record.py 1970-01-01
01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/tests/logs/test_log_record.py 2020-02-02
01:00:00.000000000 +0100
@@ -0,0 +1,27 @@
+# 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 unittest.mock import patch
+
+from opentelemetry._logs import LogRecord
+
+OBSERVED_TIMESTAMP = "OBSERVED_TIMESTAMP"
+
+
+class TestLogRecord(unittest.TestCase):
+ @patch("opentelemetry._logs._internal.time_ns")
+ def test_log_record_observed_timestamp_default(self, time_ns_mock): #
type: ignore
+ time_ns_mock.return_value = OBSERVED_TIMESTAMP
+ self.assertEqual(LogRecord().observed_timestamp, OBSERVED_TIMESTAMP)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/tests/metrics/test_instruments.py
new/opentelemetry_api-1.21.0/tests/metrics/test_instruments.py
--- old/opentelemetry_api-1.17.0/tests/metrics/test_instruments.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/tests/metrics/test_instruments.py
2020-02-02 01:00:00.000000000 +0100
@@ -564,14 +564,13 @@
)
def test_name_check(self):
-
instrument = ChildInstrument("name")
self.assertEqual(
instrument._check_name_unit_description(
- "a" * 63, "unit", "description"
+ "a" * 255, "unit", "description"
)["name"],
- "a" * 63,
+ "a" * 255,
)
self.assertEqual(
instrument._check_name_unit_description(
@@ -591,13 +590,25 @@
)["name"],
"a_",
)
+ self.assertEqual(
+ instrument._check_name_unit_description(
+ "a/", "unit", "description"
+ )["name"],
+ "a/",
+ )
- self.assertIsNone(
+ # the old max length
+ self.assertIsNotNone(
instrument._check_name_unit_description(
"a" * 64, "unit", "description"
)["name"]
)
self.assertIsNone(
+ instrument._check_name_unit_description(
+ "a" * 256, "unit", "description"
+ )["name"]
+ )
+ self.assertIsNone(
instrument._check_name_unit_description(
"Ã", "unit", "description"
)["name"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_api-1.17.0/tests/propagators/test_propagators.py
new/opentelemetry_api-1.21.0/tests/propagators/test_propagators.py
--- old/opentelemetry_api-1.17.0/tests/propagators/test_propagators.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/tests/propagators/test_propagators.py
2020-02-02 01:00:00.000000000 +0100
@@ -15,7 +15,6 @@
# type: ignore
from importlib import reload
-from logging import ERROR
from os import environ
from unittest import TestCase
from unittest.mock import Mock, patch
@@ -109,16 +108,16 @@
)
def test_composite_propagators_error(self):
- # pylint: disable=import-outside-toplevel
- import opentelemetry.propagate
-
- with self.assertRaises(Exception):
- with self.assertLogs(level=ERROR) as err:
- reload(opentelemetry.propagate)
- self.assertIn(
- "Failed to load configured propagator `unknown`",
- err.output[0],
- )
+ with self.assertRaises(ValueError) as cm:
+ # pylint: disable=import-outside-toplevel
+ import opentelemetry.propagate
+
+ reload(opentelemetry.propagate)
+
+ self.assertEqual(
+ str(cm.exception),
+ "Propagator unknown not found. It is either misspelled or not
installed.",
+ )
class TestTraceContextTextMapPropagator(TestCase):