Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-opentelemetry-instrumentation
for openSUSE:Factory checked in at 2026-03-30 18:30:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-opentelemetry-instrumentation (Old)
and
/work/SRC/openSUSE:Factory/.python-opentelemetry-instrumentation.new.1999 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-instrumentation"
Mon Mar 30 18:30:50 2026 rev:8 rq:1343637 version:0.61b0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-opentelemetry-instrumentation/python-opentelemetry-instrumentation.changes
2026-01-06 17:43:57.480085459 +0100
+++
/work/SRC/openSUSE:Factory/.python-opentelemetry-instrumentation.new.1999/python-opentelemetry-instrumentation.changes
2026-03-30 18:33:51.193464572 +0200
@@ -1,0 +2,6 @@
+Mon Mar 23 22:11:11 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.61b0:
+ * Add Python 3.14 support
+
+-------------------------------------------------------------------
Old:
----
opentelemetry_instrumentation-0.60b0.tar.gz
New:
----
opentelemetry_instrumentation-0.61b0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-opentelemetry-instrumentation.spec ++++++
--- /var/tmp/diff_new_pack.jPUZzT/_old 2026-03-30 18:33:51.861492501 +0200
+++ /var/tmp/diff_new_pack.jPUZzT/_new 2026-03-30 18:33:51.865492668 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-opentelemetry-instrumentation
-Version: 0.60b0
+Version: 0.61b0
Release: 0
Summary: Instrumentation Tools & Auto Instrumentation for OpenTelemetry
Python
License: Apache-2.0
++++++ opentelemetry_instrumentation-0.60b0.tar.gz ->
opentelemetry_instrumentation-0.61b0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/opentelemetry_instrumentation-0.60b0/PKG-INFO
new/opentelemetry_instrumentation-0.61b0/PKG-INFO
--- old/opentelemetry_instrumentation-0.60b0/PKG-INFO 2020-02-02
01:00:00.000000000 +0100
+++ new/opentelemetry_instrumentation-0.61b0/PKG-INFO 2020-02-02
01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: opentelemetry-instrumentation
-Version: 0.60b0
+Version: 0.61b0
Summary: Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python
Project-URL: Homepage,
https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation
Project-URL: Repository,
https://github.com/open-telemetry/opentelemetry-python-contrib
@@ -17,9 +17,10 @@
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Requires-Dist: opentelemetry-api~=1.4
-Requires-Dist: opentelemetry-semantic-conventions==0.60b0
+Requires-Dist: opentelemetry-semantic-conventions==0.61b0
Requires-Dist: packaging>=18.0
Requires-Dist: wrapt<2.0.0,>=1.0.0
Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/opentelemetry_instrumentation-0.60b0/pyproject.toml
new/opentelemetry_instrumentation-0.61b0/pyproject.toml
--- old/opentelemetry_instrumentation-0.60b0/pyproject.toml 2020-02-02
01:00:00.000000000 +0100
+++ new/opentelemetry_instrumentation-0.61b0/pyproject.toml 2020-02-02
01:00:00.000000000 +0100
@@ -23,10 +23,11 @@
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
]
dependencies = [
"opentelemetry-api ~= 1.4",
- "opentelemetry-semantic-conventions == 0.60b0",
+ "opentelemetry-semantic-conventions == 0.61b0",
"wrapt >= 1.0.0, < 2.0.0",
"packaging >= 18.0",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation-0.60b0/src/opentelemetry/instrumentation/_semconv.py
new/opentelemetry_instrumentation-0.61b0/src/opentelemetry/instrumentation/_semconv.py
---
old/opentelemetry_instrumentation-0.60b0/src/opentelemetry/instrumentation/_semconv.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_instrumentation-0.61b0/src/opentelemetry/instrumentation/_semconv.py
2020-02-02 01:00:00.000000000 +0100
@@ -12,11 +12,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
+
import os
import threading
from enum import Enum
+from typing import Container, Mapping, MutableMapping
from opentelemetry.instrumentation.utils import http_status_to_status_code
+from opentelemetry.semconv._incubating.attributes.db_attributes import (
+ DB_NAME,
+ DB_STATEMENT,
+ DB_SYSTEM,
+ DB_USER,
+)
from opentelemetry.semconv._incubating.attributes.http_attributes import (
HTTP_FLAVOR,
HTTP_HOST,
@@ -39,6 +48,11 @@
CLIENT_ADDRESS,
CLIENT_PORT,
)
+from opentelemetry.semconv.attributes.db_attributes import (
+ DB_NAMESPACE,
+ DB_QUERY_TEXT,
+ DB_SYSTEM_NAME,
+)
from opentelemetry.semconv.attributes.error_attributes import ERROR_TYPE
from opentelemetry.semconv.attributes.http_attributes import (
HTTP_REQUEST_METHOD,
@@ -63,7 +77,9 @@
USER_AGENT_ORIGINAL,
)
from opentelemetry.semconv.schemas import Schemas
+from opentelemetry.trace import Span
from opentelemetry.trace.status import Status, StatusCode
+from opentelemetry.util.types import AttributeValue
# Values defined in milliseconds
HTTP_DURATION_HISTOGRAM_BUCKETS_OLD = (
@@ -259,11 +275,11 @@
def _filter_semconv_duration_attrs(
- attrs,
- old_attrs,
- new_attrs,
- sem_conv_opt_in_mode=_StabilityMode.DEFAULT,
-):
+ attrs: Mapping[str, AttributeValue],
+ old_attrs: Container[AttributeValue],
+ new_attrs: Container[AttributeValue],
+ sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT,
+) -> dict[str, AttributeValue]:
filtered_attrs = {}
# duration is two different metrics depending on sem_conv_opt_in_mode, so
no DUP attributes
allowed_attributes = (
@@ -276,11 +292,11 @@
def _filter_semconv_active_request_count_attr(
- attrs,
- old_attrs,
- new_attrs,
- sem_conv_opt_in_mode=_StabilityMode.DEFAULT,
-):
+ attrs: Mapping[str, AttributeValue],
+ old_attrs: Container[AttributeValue],
+ new_attrs: Container[AttributeValue],
+ sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT,
+) -> dict[str, AttributeValue]:
filtered_attrs = {}
if _report_old(sem_conv_opt_in_mode):
for key, val in attrs.items():
@@ -293,12 +309,20 @@
return filtered_attrs
-def set_string_attribute(result, key, value):
+def set_string_attribute(
+ result: MutableMapping[str, AttributeValue],
+ key: str,
+ value: AttributeValue,
+) -> None:
if value:
result[key] = value
-def set_int_attribute(result, key, value):
+def set_int_attribute(
+ result: MutableMapping[str, AttributeValue],
+ key: str,
+ value: AttributeValue,
+) -> None:
if value:
try:
result[key] = int(value)
@@ -306,7 +330,12 @@
return
-def _set_http_method(result, original, normalized, sem_conv_opt_in_mode):
+def _set_http_method(
+ result: MutableMapping[str, AttributeValue],
+ original: str,
+ normalized: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
original = original.strip()
normalized = normalized.strip()
# See
https://github.com/open-telemetry/semantic-conventions/blob/main/docs/http/http-spans.md#common-attributes
@@ -320,35 +349,55 @@
set_string_attribute(result, HTTP_REQUEST_METHOD, normalized)
-def _set_http_status_code(result, code, sem_conv_opt_in_mode):
+def _set_http_status_code(
+ result: MutableMapping[str, AttributeValue],
+ code: str | int,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_int_attribute(result, HTTP_STATUS_CODE, code)
if _report_new(sem_conv_opt_in_mode):
set_int_attribute(result, HTTP_RESPONSE_STATUS_CODE, code)
-def _set_http_url(result, url, sem_conv_opt_in_mode):
+def _set_http_url(
+ result: MutableMapping[str, AttributeValue],
+ url: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_URL, url)
if _report_new(sem_conv_opt_in_mode):
set_string_attribute(result, URL_FULL, url)
-def _set_http_scheme(result, scheme, sem_conv_opt_in_mode):
+def _set_http_scheme(
+ result: MutableMapping[str, AttributeValue],
+ scheme: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_SCHEME, scheme)
if _report_new(sem_conv_opt_in_mode):
set_string_attribute(result, URL_SCHEME, scheme)
-def _set_http_flavor_version(result, version, sem_conv_opt_in_mode):
+def _set_http_flavor_version(
+ result: MutableMapping[str, AttributeValue],
+ version: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_FLAVOR, version)
if _report_new(sem_conv_opt_in_mode):
set_string_attribute(result, NETWORK_PROTOCOL_VERSION, version)
-def _set_http_user_agent(result, user_agent, sem_conv_opt_in_mode):
+def _set_http_user_agent(
+ result: MutableMapping[str, AttributeValue],
+ user_agent: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_USER_AGENT, user_agent)
if _report_new(sem_conv_opt_in_mode):
@@ -358,28 +407,44 @@
# Client
-def _set_http_host_client(result, host, sem_conv_opt_in_mode):
+def _set_http_host_client(
+ result: MutableMapping[str, AttributeValue],
+ host: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_HOST, host)
if _report_new(sem_conv_opt_in_mode):
set_string_attribute(result, SERVER_ADDRESS, host)
-def _set_http_net_peer_name_client(result, peer_name, sem_conv_opt_in_mode):
+def _set_http_net_peer_name_client(
+ result: MutableMapping[str, AttributeValue],
+ peer_name: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, NET_PEER_NAME, peer_name)
if _report_new(sem_conv_opt_in_mode):
set_string_attribute(result, SERVER_ADDRESS, peer_name)
-def _set_http_peer_port_client(result, port, sem_conv_opt_in_mode):
+def _set_http_peer_port_client(
+ result: MutableMapping[str, AttributeValue],
+ port: str | int,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_int_attribute(result, NET_PEER_PORT, port)
if _report_new(sem_conv_opt_in_mode):
set_int_attribute(result, SERVER_PORT, port)
-def _set_http_network_protocol_version(result, version, sem_conv_opt_in_mode):
+def _set_http_network_protocol_version(
+ result: MutableMapping[str, AttributeValue],
+ version: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_FLAVOR, version)
if _report_new(sem_conv_opt_in_mode):
@@ -389,21 +454,35 @@
# Server
-def _set_http_net_host(result, host, sem_conv_opt_in_mode):
+def _set_http_net_host(
+ result: MutableMapping[str, AttributeValue],
+ host: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, NET_HOST_NAME, host)
if _report_new(sem_conv_opt_in_mode):
set_string_attribute(result, SERVER_ADDRESS, host)
-def _set_http_net_host_port(result, port, sem_conv_opt_in_mode):
+def _set_http_net_host_port(
+ result: MutableMapping[str, AttributeValue],
+ port: str | int,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_int_attribute(result, NET_HOST_PORT, port)
if _report_new(sem_conv_opt_in_mode):
set_int_attribute(result, SERVER_PORT, port)
-def _set_http_target(result, target, path, query, sem_conv_opt_in_mode):
+def _set_http_target(
+ result: MutableMapping[str, AttributeValue],
+ target: str,
+ path: str | None,
+ query: str | None,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_TARGET, target)
if _report_new(sem_conv_opt_in_mode):
@@ -413,7 +492,11 @@
set_string_attribute(result, URL_QUERY, query)
-def _set_http_host_server(result, host, sem_conv_opt_in_mode):
+def _set_http_host_server(
+ result: MutableMapping[str, AttributeValue],
+ host: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, HTTP_HOST, host)
if _report_new(sem_conv_opt_in_mode):
@@ -426,7 +509,11 @@
# net.sock.peer.addr -> client.socket.address for server spans (TODO) AND
client.address if missing
#
https://github.com/open-telemetry/semantic-conventions/blob/v1.21.0/CHANGELOG.md#v1210-2023-07-13
#
https://github.com/open-telemetry/semantic-conventions/blob/main/docs/non-normative/http-migration.md#common-attributes-across-http-client-and-server-spans
-def _set_http_peer_ip_server(result, ip, sem_conv_opt_in_mode):
+def _set_http_peer_ip_server(
+ result: MutableMapping[str, AttributeValue],
+ ip: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, NET_PEER_IP, ip)
if _report_new(sem_conv_opt_in_mode):
@@ -435,28 +522,85 @@
set_string_attribute(result, CLIENT_ADDRESS, ip)
-def _set_http_peer_port_server(result, port, sem_conv_opt_in_mode):
+def _set_http_peer_port_server(
+ result: MutableMapping[str, AttributeValue],
+ port: str | int,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_int_attribute(result, NET_PEER_PORT, port)
if _report_new(sem_conv_opt_in_mode):
set_int_attribute(result, CLIENT_PORT, port)
-def _set_http_net_peer_name_server(result, name, sem_conv_opt_in_mode):
+def _set_http_net_peer_name_server(
+ result: MutableMapping[str, AttributeValue],
+ name: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
if _report_old(sem_conv_opt_in_mode):
set_string_attribute(result, NET_PEER_NAME, name)
if _report_new(sem_conv_opt_in_mode):
set_string_attribute(result, CLIENT_ADDRESS, name)
+# Database
+
+
+def _set_db_system(
+ result: MutableMapping[str, AttributeValue],
+ system: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
+ if _report_old(sem_conv_opt_in_mode):
+ set_string_attribute(result, DB_SYSTEM, system)
+ if _report_new(sem_conv_opt_in_mode):
+ set_string_attribute(result, DB_SYSTEM_NAME, system)
+
+
+def _set_db_name(
+ result: MutableMapping[str, AttributeValue],
+ name: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
+ if _report_old(sem_conv_opt_in_mode):
+ set_string_attribute(result, DB_NAME, name)
+ if _report_new(sem_conv_opt_in_mode):
+ set_string_attribute(result, DB_NAMESPACE, name)
+
+
+def _set_db_statement(
+ result: MutableMapping[str, AttributeValue],
+ statement: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
+ if _report_old(sem_conv_opt_in_mode):
+ set_string_attribute(result, DB_STATEMENT, statement)
+ if _report_new(sem_conv_opt_in_mode):
+ set_string_attribute(result, DB_QUERY_TEXT, statement)
+
+
+def _set_db_user(
+ result: MutableMapping[str, AttributeValue],
+ user: str,
+ sem_conv_opt_in_mode: _StabilityMode,
+) -> None:
+ if _report_old(sem_conv_opt_in_mode):
+ set_string_attribute(result, DB_USER, user)
+ # No new attribute - db.user was removed with no replacement
+
+
+# General
+
+
def _set_status(
- span,
- metrics_attributes: dict,
+ span: Span,
+ metrics_attributes: MutableMapping[str, AttributeValue],
status_code: int,
status_code_str: str,
server_span: bool = True,
sem_conv_opt_in_mode: _StabilityMode = _StabilityMode.DEFAULT,
-):
+) -> None:
if status_code < 0:
if _report_new(sem_conv_opt_in_mode):
metrics_attributes[ERROR_TYPE] = status_code_str
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation-0.60b0/src/opentelemetry/instrumentation/bootstrap_gen.py
new/opentelemetry_instrumentation-0.61b0/src/opentelemetry/instrumentation/bootstrap_gen.py
---
old/opentelemetry_instrumentation-0.60b0/src/opentelemetry/instrumentation/bootstrap_gen.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_instrumentation-0.61b0/src/opentelemetry/instrumentation/bootstrap_gen.py
2020-02-02 01:00:00.000000000 +0100
@@ -26,199 +26,199 @@
},
{
"library": "aio_pika >= 7.2.0, < 10.0.0",
- "instrumentation": "opentelemetry-instrumentation-aio-pika==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-aio-pika==0.61b0",
},
{
"library": "aiohttp ~= 3.0",
- "instrumentation":
"opentelemetry-instrumentation-aiohttp-client==0.60b0",
+ "instrumentation":
"opentelemetry-instrumentation-aiohttp-client==0.61b0",
},
{
"library": "aiohttp ~= 3.0",
- "instrumentation":
"opentelemetry-instrumentation-aiohttp-server==0.60b0",
+ "instrumentation":
"opentelemetry-instrumentation-aiohttp-server==0.61b0",
},
{
"library": "aiokafka >= 0.8, < 1.0",
- "instrumentation": "opentelemetry-instrumentation-aiokafka==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-aiokafka==0.61b0",
},
{
"library": "aiopg >= 0.13.0, < 2.0.0",
- "instrumentation": "opentelemetry-instrumentation-aiopg==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-aiopg==0.61b0",
},
{
"library": "asgiref ~= 3.0",
- "instrumentation": "opentelemetry-instrumentation-asgi==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-asgi==0.61b0",
},
{
"library": "asyncclick ~= 8.0",
- "instrumentation": "opentelemetry-instrumentation-asyncclick==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-asyncclick==0.61b0",
},
{
"library": "asyncpg >= 0.12.0",
- "instrumentation": "opentelemetry-instrumentation-asyncpg==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-asyncpg==0.61b0",
},
{
"library": "boto~=2.0",
- "instrumentation": "opentelemetry-instrumentation-boto==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-boto==0.61b0",
},
{
"library": "boto3 ~= 1.0",
- "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.61b0",
},
{
"library": "botocore ~= 1.0",
- "instrumentation": "opentelemetry-instrumentation-botocore==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-botocore==0.61b0",
},
{
"library": "cassandra-driver ~= 3.25",
- "instrumentation": "opentelemetry-instrumentation-cassandra==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-cassandra==0.61b0",
},
{
"library": "scylla-driver ~= 3.25",
- "instrumentation": "opentelemetry-instrumentation-cassandra==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-cassandra==0.61b0",
},
{
"library": "celery >= 4.0, < 6.0",
- "instrumentation": "opentelemetry-instrumentation-celery==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-celery==0.61b0",
},
{
"library": "click >= 8.1.3, < 9.0.0",
- "instrumentation": "opentelemetry-instrumentation-click==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-click==0.61b0",
},
{
- "library": "confluent-kafka >= 1.8.2, <= 2.11.0",
- "instrumentation":
"opentelemetry-instrumentation-confluent-kafka==0.60b0",
+ "library": "confluent-kafka >= 1.8.2, <= 2.13.0",
+ "instrumentation":
"opentelemetry-instrumentation-confluent-kafka==0.61b0",
},
{
- "library": "django >= 1.10",
- "instrumentation": "opentelemetry-instrumentation-django==0.60b0",
+ "library": "django >= 2.0",
+ "instrumentation": "opentelemetry-instrumentation-django==0.61b0",
},
{
"library": "elasticsearch >= 6.0",
- "instrumentation":
"opentelemetry-instrumentation-elasticsearch==0.60b0",
+ "instrumentation":
"opentelemetry-instrumentation-elasticsearch==0.61b0",
},
{
"library": "falcon >= 1.4.1, < 5.0.0",
- "instrumentation": "opentelemetry-instrumentation-falcon==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-falcon==0.61b0",
},
{
"library": "fastapi ~= 0.92",
- "instrumentation": "opentelemetry-instrumentation-fastapi==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-fastapi==0.61b0",
},
{
"library": "flask >= 1.0",
- "instrumentation": "opentelemetry-instrumentation-flask==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-flask==0.61b0",
},
{
"library": "grpcio >= 1.42.0",
- "instrumentation": "opentelemetry-instrumentation-grpc==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-grpc==0.61b0",
},
{
"library": "httpx >= 0.18.0",
- "instrumentation": "opentelemetry-instrumentation-httpx==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-httpx==0.61b0",
},
{
"library": "jinja2 >= 2.7, < 4.0",
- "instrumentation": "opentelemetry-instrumentation-jinja2==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-jinja2==0.61b0",
},
{
"library": "kafka-python >= 2.0, < 3.0",
- "instrumentation":
"opentelemetry-instrumentation-kafka-python==0.60b0",
+ "instrumentation":
"opentelemetry-instrumentation-kafka-python==0.61b0",
},
{
"library": "kafka-python-ng >= 2.0, < 3.0",
- "instrumentation":
"opentelemetry-instrumentation-kafka-python==0.60b0",
+ "instrumentation":
"opentelemetry-instrumentation-kafka-python==0.61b0",
},
{
"library": "mysql-connector-python >= 8.0, < 10.0",
- "instrumentation": "opentelemetry-instrumentation-mysql==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-mysql==0.61b0",
},
{
"library": "mysqlclient < 3",
- "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.61b0",
},
{
"library": "pika >= 0.12.0",
- "instrumentation": "opentelemetry-instrumentation-pika==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-pika==0.61b0",
},
{
"library": "psycopg >= 3.1.0",
- "instrumentation": "opentelemetry-instrumentation-psycopg==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-psycopg==0.61b0",
},
{
"library": "psycopg2 >= 2.7.3.1",
- "instrumentation": "opentelemetry-instrumentation-psycopg2==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-psycopg2==0.61b0",
},
{
"library": "psycopg2-binary >= 2.7.3.1",
- "instrumentation": "opentelemetry-instrumentation-psycopg2==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-psycopg2==0.61b0",
},
{
"library": "pymemcache >= 1.3.5, < 5",
- "instrumentation": "opentelemetry-instrumentation-pymemcache==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-pymemcache==0.61b0",
},
{
"library": "pymongo >= 3.1, < 5.0",
- "instrumentation": "opentelemetry-instrumentation-pymongo==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-pymongo==0.61b0",
},
{
"library": "pymssql >= 2.1.5, < 3",
- "instrumentation": "opentelemetry-instrumentation-pymssql==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-pymssql==0.61b0",
},
{
"library": "PyMySQL < 2",
- "instrumentation": "opentelemetry-instrumentation-pymysql==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-pymysql==0.61b0",
},
{
"library": "pyramid >= 1.7",
- "instrumentation": "opentelemetry-instrumentation-pyramid==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-pyramid==0.61b0",
},
{
"library": "redis >= 2.6",
- "instrumentation": "opentelemetry-instrumentation-redis==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-redis==0.61b0",
},
{
"library": "remoulade >= 0.50",
- "instrumentation": "opentelemetry-instrumentation-remoulade==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-remoulade==0.61b0",
},
{
"library": "requests ~= 2.0",
- "instrumentation": "opentelemetry-instrumentation-requests==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-requests==0.61b0",
},
{
"library": "sqlalchemy >= 1.0.0, < 2.1.0",
- "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.61b0",
},
{
"library": "starlette >= 0.13",
- "instrumentation": "opentelemetry-instrumentation-starlette==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-starlette==0.61b0",
},
{
"library": "psutil >= 5",
- "instrumentation":
"opentelemetry-instrumentation-system-metrics==0.60b0",
+ "instrumentation":
"opentelemetry-instrumentation-system-metrics==0.61b0",
},
{
"library": "tornado >= 5.1.1",
- "instrumentation": "opentelemetry-instrumentation-tornado==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-tornado==0.61b0",
},
{
"library": "tortoise-orm >= 0.17.0",
- "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.61b0",
},
{
"library": "pydantic >= 1.10.2",
- "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.61b0",
},
{
"library": "urllib3 >= 1.0.0, < 3.0.0",
- "instrumentation": "opentelemetry-instrumentation-urllib3==0.60b0",
+ "instrumentation": "opentelemetry-instrumentation-urllib3==0.61b0",
},
]
default_instrumentations = [
- "opentelemetry-instrumentation-asyncio==0.60b0",
- "opentelemetry-instrumentation-dbapi==0.60b0",
- "opentelemetry-instrumentation-logging==0.60b0",
- "opentelemetry-instrumentation-sqlite3==0.60b0",
- "opentelemetry-instrumentation-threading==0.60b0",
- "opentelemetry-instrumentation-urllib==0.60b0",
- "opentelemetry-instrumentation-wsgi==0.60b0",
+ "opentelemetry-instrumentation-asyncio==0.61b0",
+ "opentelemetry-instrumentation-dbapi==0.61b0",
+ "opentelemetry-instrumentation-logging==0.61b0",
+ "opentelemetry-instrumentation-sqlite3==0.61b0",
+ "opentelemetry-instrumentation-threading==0.61b0",
+ "opentelemetry-instrumentation-urllib==0.61b0",
+ "opentelemetry-instrumentation-wsgi==0.61b0",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation-0.60b0/src/opentelemetry/instrumentation/version.py
new/opentelemetry_instrumentation-0.61b0/src/opentelemetry/instrumentation/version.py
---
old/opentelemetry_instrumentation-0.60b0/src/opentelemetry/instrumentation/version.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_instrumentation-0.61b0/src/opentelemetry/instrumentation/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__ = "0.60b0"
+__version__ = "0.61b0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation-0.60b0/tests/test_semconv.py
new/opentelemetry_instrumentation-0.61b0/tests/test_semconv.py
--- old/opentelemetry_instrumentation-0.60b0/tests/test_semconv.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_instrumentation-0.61b0/tests/test_semconv.py
2020-02-02 01:00:00.000000000 +0100
@@ -20,9 +20,24 @@
OTEL_SEMCONV_STABILITY_OPT_IN,
_OpenTelemetrySemanticConventionStability,
_OpenTelemetryStabilitySignalType,
+ _set_db_name,
+ _set_db_statement,
+ _set_db_system,
+ _set_db_user,
_set_status,
_StabilityMode,
)
+from opentelemetry.semconv._incubating.attributes.db_attributes import (
+ DB_NAME,
+ DB_STATEMENT,
+ DB_SYSTEM,
+ DB_USER,
+)
+from opentelemetry.semconv.attributes.db_attributes import (
+ DB_NAMESPACE,
+ DB_QUERY_TEXT,
+ DB_SYSTEM_NAME,
+)
from opentelemetry.trace.status import StatusCode
@@ -277,3 +292,154 @@
# Verify status code set for metrics independent of tracing decision
self.assertIn("http.status_code", metrics_attributes)
self.assertIn("http.response.status_code", metrics_attributes)
+
+
+class TestOpenTelemetrySemConvStabilityDatabase(TestCase):
+ def test_db_system_default(self):
+ result = {}
+ _set_db_system(
+ result, "postgresql", sem_conv_opt_in_mode=_StabilityMode.DEFAULT
+ )
+ self.assertIn(DB_SYSTEM, result)
+ self.assertEqual(result[DB_SYSTEM], "postgresql")
+ self.assertNotIn(DB_SYSTEM_NAME, result)
+
+ def test_db_system_database_stable(self):
+ result = {}
+ _set_db_system(
+ result, "postgresql", sem_conv_opt_in_mode=_StabilityMode.DATABASE
+ )
+ self.assertNotIn(DB_SYSTEM, result)
+ self.assertIn(DB_SYSTEM_NAME, result)
+ self.assertEqual(result[DB_SYSTEM_NAME], "postgresql")
+
+ def test_db_system_database_dup(self):
+ result = {}
+ _set_db_system(
+ result,
+ "postgresql",
+ sem_conv_opt_in_mode=_StabilityMode.DATABASE_DUP,
+ )
+ self.assertIn(DB_SYSTEM, result)
+ self.assertEqual(result[DB_SYSTEM], "postgresql")
+ self.assertIn(DB_SYSTEM_NAME, result)
+ self.assertEqual(result[DB_SYSTEM_NAME], "postgresql")
+
+ def test_db_system_none_value(self):
+ result = {}
+ _set_db_system(
+ result, None, sem_conv_opt_in_mode=_StabilityMode.DATABASE_DUP
+ )
+ self.assertNotIn(DB_SYSTEM, result)
+ self.assertNotIn(DB_SYSTEM_NAME, result)
+
+ def test_db_name_default(self):
+ result = {}
+ _set_db_name(
+ result, "my_database", sem_conv_opt_in_mode=_StabilityMode.DEFAULT
+ )
+ self.assertIn(DB_NAME, result)
+ self.assertEqual(result[DB_NAME], "my_database")
+ self.assertNotIn(DB_NAMESPACE, result)
+
+ def test_db_name_database_stable(self):
+ result = {}
+ _set_db_name(
+ result, "my_database", sem_conv_opt_in_mode=_StabilityMode.DATABASE
+ )
+ self.assertNotIn(DB_NAME, result)
+ self.assertIn(DB_NAMESPACE, result)
+ self.assertEqual(result[DB_NAMESPACE], "my_database")
+
+ def test_db_name_database_dup(self):
+ result = {}
+ _set_db_name(
+ result,
+ "my_database",
+ sem_conv_opt_in_mode=_StabilityMode.DATABASE_DUP,
+ )
+ self.assertIn(DB_NAME, result)
+ self.assertEqual(result[DB_NAME], "my_database")
+ self.assertIn(DB_NAMESPACE, result)
+ self.assertEqual(result[DB_NAMESPACE], "my_database")
+
+ def test_db_name_none_value(self):
+ result = {}
+ _set_db_name(
+ result, None, sem_conv_opt_in_mode=_StabilityMode.DATABASE_DUP
+ )
+ self.assertNotIn(DB_NAME, result)
+ self.assertNotIn(DB_NAMESPACE, result)
+
+ def test_db_statement_default(self):
+ result = {}
+ _set_db_statement(
+ result,
+ "SELECT * FROM users",
+ sem_conv_opt_in_mode=_StabilityMode.DEFAULT,
+ )
+ self.assertIn(DB_STATEMENT, result)
+ self.assertEqual(result[DB_STATEMENT], "SELECT * FROM users")
+ self.assertNotIn(DB_QUERY_TEXT, result)
+
+ def test_db_statement_database_stable(self):
+ result = {}
+ _set_db_statement(
+ result,
+ "SELECT * FROM users",
+ sem_conv_opt_in_mode=_StabilityMode.DATABASE,
+ )
+ self.assertNotIn(DB_STATEMENT, result)
+ self.assertIn(DB_QUERY_TEXT, result)
+ self.assertEqual(result[DB_QUERY_TEXT], "SELECT * FROM users")
+
+ def test_db_statement_database_dup(self):
+ result = {}
+ _set_db_statement(
+ result,
+ "SELECT * FROM users",
+ sem_conv_opt_in_mode=_StabilityMode.DATABASE_DUP,
+ )
+ self.assertIn(DB_STATEMENT, result)
+ self.assertEqual(result[DB_STATEMENT], "SELECT * FROM users")
+ self.assertIn(DB_QUERY_TEXT, result)
+ self.assertEqual(result[DB_QUERY_TEXT], "SELECT * FROM users")
+
+ def test_db_statement_none_value(self):
+ result = {}
+ _set_db_statement(
+ result, None, sem_conv_opt_in_mode=_StabilityMode.DEFAULT
+ )
+ self.assertNotIn(DB_STATEMENT, result)
+ self.assertNotIn(DB_QUERY_TEXT, result)
+
+ def test_db_user_default(self):
+ result = {}
+ _set_db_user(
+ result, "admin", sem_conv_opt_in_mode=_StabilityMode.DEFAULT
+ )
+ self.assertIn(DB_USER, result)
+ self.assertEqual(result[DB_USER], "admin")
+
+ def test_db_user_database_stable(self):
+ result = {}
+ _set_db_user(
+ result, "admin", sem_conv_opt_in_mode=_StabilityMode.DATABASE
+ )
+ # No new attribute - db.user was removed with no replacement
+ self.assertNotIn(DB_USER, result)
+
+ def test_db_user_database_dup(self):
+ result = {}
+ _set_db_user(
+ result,
+ "admin",
+ sem_conv_opt_in_mode=_StabilityMode.DATABASE_DUP,
+ )
+ self.assertIn(DB_USER, result)
+ self.assertEqual(result[DB_USER], "admin")
+
+ def test_db_user_none_value(self):
+ result = {}
+ _set_db_user(result, None, sem_conv_opt_in_mode=_StabilityMode.DEFAULT)
+ self.assertNotIn(DB_USER, result)