Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-aws-xray-sdk for
openSUSE:Factory checked in at 2021-08-02 15:41:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aws-xray-sdk (Old)
and /work/SRC/openSUSE:Factory/.python-aws-xray-sdk.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aws-xray-sdk"
Mon Aug 2 15:41:02 2021 rev:8 rq:908601 version:2.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aws-xray-sdk/python-aws-xray-sdk.changes
2021-04-08 21:32:54.335855865 +0200
+++
/work/SRC/openSUSE:Factory/.python-aws-xray-sdk.new.1899/python-aws-xray-sdk.changes
2021-08-02 15:41:06.539168460 +0200
@@ -1,0 +2,17 @@
+Tue Jul 27 10:19:14 UTC 2021 - John Paul Adrian Glaubitz
<[email protected]>
+
+- Update to 2.8.0
+ * improvement: feat(sqla-core): Add support for rendering Database Specific
queries.
+ `PR291 <https://github.com/aws/aws-xray-sdk-python/pull/291>`_.
+ * bugfix: Fixing broken instrumentation for sqlalchemy >= 1.4.0.
+ `PR289 <https://github.com/aws/aws-xray-sdk-python/pull/289>`_.
+ * feature: no op trace id generation.
+ `PR293 <https://github.com/aws/aws-xray-sdk-python/pull/293>`_.
+ * bugfix: Handle exception when sending entity to Daemon.
+ `PR292 <https://github.com/aws/aws-xray-sdk-python/pull/292>`_.
+ * bugfix: Fixed serialization issue when cause is a string.
+ `PR284 <https://github.com/aws/aws-xray-sdk-python/pull/284>`_.
+ * improvement: Publish metric on distribution availability.
+ `PR279 <https://github.com/aws/aws-xray-sdk-python/pull/279>`_.
+
+-------------------------------------------------------------------
Old:
----
aws-xray-sdk-2.7.0.tar.gz
New:
----
aws-xray-sdk-2.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-aws-xray-sdk.spec ++++++
--- /var/tmp/diff_new_pack.4ziRvs/_old 2021-08-02 15:41:07.239167474 +0200
+++ /var/tmp/diff_new_pack.4ziRvs/_new 2021-08-02 15:41:07.243167468 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-aws-xray-sdk
-Version: 2.7.0
+Version: 2.8.0
Release: 0
Summary: The AWS X-Ray SDK for Python
License: Apache-2.0
++++++ aws-xray-sdk-2.7.0.tar.gz -> aws-xray-sdk-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aws-xray-sdk-2.7.0/PKG-INFO
new/aws-xray-sdk-2.8.0/PKG-INFO
--- old/aws-xray-sdk-2.7.0/PKG-INFO 2021-03-24 18:06:14.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/PKG-INFO 2021-04-29 02:03:01.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: aws-xray-sdk
-Version: 2.7.0
+Version: 2.8.0
Summary: The AWS X-Ray SDK for Python (the SDK) enables Python developers to
record and emit information from within their applications to the AWS X-Ray
service.
Home-page: https://github.com/aws/aws-xray-sdk-python
Author: Amazon Web Services
@@ -14,7 +14,7 @@
## Installing
- The AWS X-Ray SDK for Python is compatible with Python 2.7, 3.4, 3.5,
3.6, 3.7, and 3.8.
+ The AWS X-Ray SDK for Python is compatible with Python 2.7, 3.4, 3.5,
3.6, 3.7, 3.8, and 3.9.
Install the SDK using the following command (the SDK's non-testing
dependencies will be installed).
@@ -199,6 +199,9 @@
xray_recorder.put_metadata('mykey', metadata)
```
+ ### Generate NoOp Trace and Entity Id
+ X-Ray Python SDK will by default generate no-op trace and entity id
for unsampled requests and secure random trace and entity id for sampled
requests. If customer wants to enable generating secure random trace and entity
id for all the (sampled/unsampled) requests (this is applicable for trace id
injection into logs use case) then they should set the `AWS_XRAY_NOOP_ID`
environment variable as False.
+
### Disabling X-Ray
Often times, it may be useful to be able to disable X-Ray for specific
use cases, whether to stop X-Ray from sending traces at any moment, or to test
code functionality that originally depended on X-Ray instrumented packages to
begin segments prior to the code call. For example, if your application relied
on an XRayMiddleware to instrument incoming web requests, and you have a method
which begins subsegments based on the segment generated by that middleware, it
would be useful to be able to disable X-Ray for your unit tests so that
`SegmentNotFound` exceptions are not thrown when you need to test your method.
@@ -529,4 +532,5 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aws-xray-sdk-2.7.0/README.md
new/aws-xray-sdk-2.8.0/README.md
--- old/aws-xray-sdk-2.7.0/README.md 2021-03-24 17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/README.md 2021-04-29 02:01:38.000000000 +0200
@@ -7,7 +7,7 @@
## Installing
-The AWS X-Ray SDK for Python is compatible with Python 2.7, 3.4, 3.5, 3.6,
3.7, and 3.8.
+The AWS X-Ray SDK for Python is compatible with Python 2.7, 3.4, 3.5, 3.6,
3.7, 3.8, and 3.9.
Install the SDK using the following command (the SDK's non-testing
dependencies will be installed).
@@ -192,6 +192,9 @@
xray_recorder.put_metadata('mykey', metadata)
```
+### Generate NoOp Trace and Entity Id
+X-Ray Python SDK will by default generate no-op trace and entity id for
unsampled requests and secure random trace and entity id for sampled requests.
If customer wants to enable generating secure random trace and entity id for
all the (sampled/unsampled) requests (this is applicable for trace id injection
into logs use case) then they should set the `AWS_XRAY_NOOP_ID` environment
variable as False.
+
### Disabling X-Ray
Often times, it may be useful to be able to disable X-Ray for specific use
cases, whether to stop X-Ray from sending traces at any moment, or to test code
functionality that originally depended on X-Ray instrumented packages to begin
segments prior to the code call. For example, if your application relied on an
XRayMiddleware to instrument incoming web requests, and you have a method which
begins subsegments based on the segment generated by that middleware, it would
be useful to be able to disable X-Ray for your unit tests so that
`SegmentNotFound` exceptions are not thrown when you need to test your method.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/emitters/udp_emitter.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/emitters/udp_emitter.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/emitters/udp_emitter.py
2021-03-24 17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/emitters/udp_emitter.py
2021-04-29 02:01:38.000000000 +0200
@@ -32,12 +32,15 @@
:param entity: a trace entity to send to the X-Ray daemon
"""
- message = "%s%s%s" % (PROTOCOL_HEADER,
- PROTOCOL_DELIMITER,
- entity.serialize())
+ try:
+ message = "%s%s%s" % (PROTOCOL_HEADER,
+ PROTOCOL_DELIMITER,
+ entity.serialize())
- log.debug("sending: %s to %s:%s." % (message, self._ip, self._port))
- self._send_data(message)
+ log.debug("sending: %s to %s:%s." % (message, self._ip,
self._port))
+ self._send_data(message)
+ except Exception:
+ log.exception("Failed to send entity to Daemon.")
def set_daemon_address(self, address):
"""
@@ -57,12 +60,7 @@
return self._port
def _send_data(self, data):
-
- try:
- self._socket.sendto(data.encode('utf-8'), (self._ip,
- self._port))
- except Exception:
- log.exception('failed to send data to X-Ray daemon.')
+ self._socket.sendto(data.encode('utf-8'), (self._ip, self._port))
def _parse_address(self, daemon_address):
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/models/dummy_entities.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/models/dummy_entities.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/models/dummy_entities.py
2021-03-24 17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/models/dummy_entities.py
2021-04-29 02:01:38.000000000 +0200
@@ -1,3 +1,5 @@
+import os
+from .noop_traceid import NoOpTraceId
from .traceid import TraceId
from .segment import Segment
from .subsegment import Subsegment
@@ -12,9 +14,13 @@
A dummy segment will not be sent to the X-Ray daemon. Manually create
dummy segments is not recommended.
"""
- def __init__(self, name='dummy'):
- super(DummySegment, self).__init__(name=name,
traceid=TraceId().to_id())
+ def __init__(self, name='dummy'):
+ no_op_id = os.getenv('AWS_XRAY_NOOP_ID')
+ if no_op_id and no_op_id.lower() == 'false':
+ super(DummySegment, self).__init__(name=name,
traceid=TraceId().to_id())
+ else:
+ super(DummySegment, self).__init__(name=name,
traceid=NoOpTraceId().to_id(), entityid='0000000000000000')
self.sampled = False
def set_aws(self, aws_meta):
@@ -79,9 +85,14 @@
to a dummy subsegment becomes no-op. Dummy subsegment will not
be sent to the X-Ray daemon.
"""
- def __init__(self, segment, name='dummy'):
+ def __init__(self, segment, name='dummy'):
super(DummySubsegment, self).__init__(name, 'dummy', segment)
+ no_op_id = os.getenv('AWS_XRAY_NOOP_ID')
+ if no_op_id and no_op_id.lower() == 'false':
+ super(Subsegment, self).__init__(name)
+ else:
+ super(Subsegment, self).__init__(name,
entity_id='0000000000000000')
self.sampled = False
def set_aws(self, aws_meta):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/models/entity.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/models/entity.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/models/entity.py 2021-03-24
17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/models/entity.py 2021-04-29
02:01:38.000000000 +0200
@@ -12,7 +12,6 @@
from . import http
from ..exceptions.exceptions import AlreadyEndedException
-
log = logging.getLogger(__name__)
# Valid characters can be found at
http://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html
@@ -27,10 +26,14 @@
The parent class for segment/subsegment. It holds common properties
and methods on segment and subsegment.
"""
- def __init__(self, name):
+
+ def __init__(self, name, entity_id=None):
+ if not entity_id:
+ self.id = self._generate_random_id()
+ else:
+ self.id = entity_id
# required attributes
- self.id = self._generate_random_id()
self.name = name
self.name = ''.join([c for c in name if c not in
_common_invalid_name_characters])
self.start_time = time.time()
@@ -259,10 +262,7 @@
Serialize to JSON document that can be accepted by the
X-Ray backend service. It uses json to perform serialization.
"""
- try:
- return json.dumps(self.to_dict(), default=str)
- except Exception:
- log.exception("Failed to serialize %s", self.name)
+ return json.dumps(self.to_dict(), default=str)
def to_dict(self):
"""
@@ -270,7 +270,7 @@
with required properties that have non-empty values.
"""
entity_dict = {}
-
+
for key, value in vars(self).items():
if isinstance(value, bool) or value:
if key == 'subsegments':
@@ -280,18 +280,21 @@
subsegments.append(subsegment.to_dict())
entity_dict[key] = subsegments
elif key == 'cause':
- entity_dict[key] = {}
- entity_dict[key]['working_directory'] =
self.cause['working_directory']
- # exceptions are stored as List
- throwables = []
- for throwable in value['exceptions']:
- throwables.append(throwable.to_dict())
- entity_dict[key]['exceptions'] = throwables
+ if isinstance(self.cause, dict):
+ entity_dict[key] = {}
+ entity_dict[key]['working_directory'] =
self.cause['working_directory']
+ # exceptions are stored as List
+ throwables = []
+ for throwable in value['exceptions']:
+ throwables.append(throwable.to_dict())
+ entity_dict[key]['exceptions'] = throwables
+ else:
+ entity_dict[key] = self.cause
elif key == 'metadata':
entity_dict[key] = metadata_to_dict(value)
elif key != 'sampled' and key != ORIGIN_TRACE_HEADER_ATTR_KEY:
- entity_dict[key] = value
-
+ entity_dict[key] = value
+
return entity_dict
def _check_ended(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/models/noop_traceid.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/models/noop_traceid.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/models/noop_traceid.py
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/models/noop_traceid.py
2021-04-29 02:01:38.000000000 +0200
@@ -0,0 +1,23 @@
+class NoOpTraceId:
+ """
+ A trace ID tracks the path of a request through your application.
+ A trace collects all the segments generated by a single request.
+ A trace ID is required for a segment.
+ """
+ VERSION = '1'
+ DELIMITER = '-'
+
+ def __init__(self):
+ """
+ Generate a no-op trace id.
+ """
+ self.start_time = '00000000'
+ self.__number = '000000000000000000000000'
+
+ def to_id(self):
+ """
+ Convert TraceId object to a string.
+ """
+ return "%s%s%s%s%s" % (NoOpTraceId.VERSION, NoOpTraceId.DELIMITER,
+ self.start_time,
+ NoOpTraceId.DELIMITER, self.__number)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/plugins/ec2_plugin.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/plugins/ec2_plugin.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/core/plugins/ec2_plugin.py
2021-03-24 17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/core/plugins/ec2_plugin.py
2021-04-29 02:01:38.000000000 +0200
@@ -28,6 +28,10 @@
def get_token():
+ """
+ Get the session token for IMDSv2 endpoint valid for 60 seconds
+ by specifying the X-aws-ec2-metadata-token-ttl-seconds header.
+ """
token = None
try:
headers = {"X-aws-ec2-metadata-token-ttl-seconds": "60"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aws-xray-sdk-2.7.0/aws_xray_sdk/ext/sqlalchemy/util/decorators.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/ext/sqlalchemy/util/decorators.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/ext/sqlalchemy/util/decorators.py
2021-03-24 17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/ext/sqlalchemy/util/decorators.py
2021-04-29 02:01:38.000000000 +0200
@@ -1,4 +1,6 @@
import re
+import types
+
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.ext.util import strip_url
from future.standard_library import install_aliases
@@ -13,7 +15,7 @@
for name, obj in vars(c).items():
if name.startswith("_"):
continue
- if callable(obj):
+ if isinstance(obj, types.FunctionType):
try:
obj = obj.__func__ # unwrap Python 2 unbound method
except AttributeError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aws-xray-sdk-2.7.0/aws_xray_sdk/ext/sqlalchemy_core/patch.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/ext/sqlalchemy_core/patch.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/ext/sqlalchemy_core/patch.py
2021-03-24 17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/ext/sqlalchemy_core/patch.py
2021-04-29 02:01:38.000000000 +0200
@@ -1,5 +1,6 @@
import logging
import sys
+
if sys.version_info >= (3, 0, 0):
from urllib.parse import urlparse, uses_netloc
else:
@@ -12,11 +13,13 @@
from aws_xray_sdk.core.utils import stacktrace
from aws_xray_sdk.ext.util import unwrap
+from sqlalchemy.sql.expression import ClauseElement
+
-def _sql_meta(instance, args):
+def _sql_meta(engine_instance, args):
try:
metadata = {}
- url = urlparse(str(instance.engine.url))
+ url = urlparse(str(engine_instance.engine.url))
# Add Scheme to uses_netloc or // will be missing from url.
uses_netloc.append(url.scheme)
if url.password is None:
@@ -29,17 +32,23 @@
metadata['url'] = parts.geturl()
name = host_info
metadata['user'] = url.username
- metadata['database_type'] = instance.engine.name
+ metadata['database_type'] = engine_instance.engine.name
try:
- version = getattr(instance.dialect,
'{}_version'.format(instance.engine.driver))
+ version = getattr(engine_instance.dialect,
'{}_version'.format(engine_instance.engine.driver))
version_str = '.'.join(map(str, version))
- metadata['driver_version'] =
"{}-{}".format(instance.engine.driver, version_str)
+ metadata['driver_version'] =
"{}-{}".format(engine_instance.engine.driver, version_str)
except AttributeError:
- metadata['driver_version'] = instance.engine.driver
- if instance.dialect.server_version_info is not None:
- metadata['database_version'] = '.'.join(map(str,
instance.dialect.server_version_info))
+ metadata['driver_version'] = engine_instance.engine.driver
+ if engine_instance.dialect.server_version_info is not None:
+ metadata['database_version'] = '.'.join(map(str,
engine_instance.dialect.server_version_info))
if xray_recorder.stream_sql:
- metadata['sanitized_query'] = str(args[0])
+ try:
+ if isinstance(args[0], ClauseElement):
+ metadata['sanitized_query'] =
str(args[0].compile(engine_instance.engine))
+ else:
+ metadata['sanitized_query'] = str(args[0])
+ except Exception:
+ logging.getLogger(__name__).exception('Error getting the
sanitized query')
except Exception:
metadata = None
name = None
@@ -48,7 +57,15 @@
def _xray_traced_sqlalchemy_execute(wrapped, instance, args, kwargs):
- name, sql = _sql_meta(instance, args)
+ return _process_request(wrapped, instance, args, kwargs)
+
+
+def _xray_traced_sqlalchemy_session(wrapped, instance, args, kwargs):
+ return _process_request(wrapped, instance.bind, args, kwargs)
+
+
+def _process_request(wrapped, engine_instance, args, kwargs):
+ name, sql = _sql_meta(engine_instance, args)
if sql is not None:
subsegment = xray_recorder.begin_subsegment(name, namespace='remote')
else:
@@ -75,6 +92,12 @@
_xray_traced_sqlalchemy_execute
)
+ wrapt.wrap_function_wrapper(
+ 'sqlalchemy.orm.session',
+ 'Session.execute',
+ _xray_traced_sqlalchemy_session
+ )
+
def unpatch():
"""
@@ -84,3 +107,4 @@
_PATCHED_MODULES.discard('sqlalchemy_core')
import sqlalchemy
unwrap(sqlalchemy.engine.base.Connection, 'execute')
+ unwrap(sqlalchemy.orm.session.Session, 'execute')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aws-xray-sdk-2.7.0/aws_xray_sdk/version.py
new/aws-xray-sdk-2.8.0/aws_xray_sdk/version.py
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk/version.py 2021-03-24
17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk/version.py 2021-04-29
02:01:38.000000000 +0200
@@ -1 +1 @@
-VERSION = '2.7.0'
+VERSION = '2.8.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aws-xray-sdk-2.7.0/aws_xray_sdk.egg-info/PKG-INFO
new/aws-xray-sdk-2.8.0/aws_xray_sdk.egg-info/PKG-INFO
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk.egg-info/PKG-INFO 2021-03-24
18:06:14.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk.egg-info/PKG-INFO 2021-04-29
02:03:01.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: aws-xray-sdk
-Version: 2.7.0
+Version: 2.8.0
Summary: The AWS X-Ray SDK for Python (the SDK) enables Python developers to
record and emit information from within their applications to the AWS X-Ray
service.
Home-page: https://github.com/aws/aws-xray-sdk-python
Author: Amazon Web Services
@@ -14,7 +14,7 @@
## Installing
- The AWS X-Ray SDK for Python is compatible with Python 2.7, 3.4, 3.5,
3.6, 3.7, and 3.8.
+ The AWS X-Ray SDK for Python is compatible with Python 2.7, 3.4, 3.5,
3.6, 3.7, 3.8, and 3.9.
Install the SDK using the following command (the SDK's non-testing
dependencies will be installed).
@@ -199,6 +199,9 @@
xray_recorder.put_metadata('mykey', metadata)
```
+ ### Generate NoOp Trace and Entity Id
+ X-Ray Python SDK will by default generate no-op trace and entity id
for unsampled requests and secure random trace and entity id for sampled
requests. If customer wants to enable generating secure random trace and entity
id for all the (sampled/unsampled) requests (this is applicable for trace id
injection into logs use case) then they should set the `AWS_XRAY_NOOP_ID`
environment variable as False.
+
### Disabling X-Ray
Often times, it may be useful to be able to disable X-Ray for specific
use cases, whether to stop X-Ray from sending traces at any moment, or to test
code functionality that originally depended on X-Ray instrumented packages to
begin segments prior to the code call. For example, if your application relied
on an XRayMiddleware to instrument incoming web requests, and you have a method
which begins subsegments based on the segment generated by that middleware, it
would be useful to be able to disable X-Ray for your unit tests so that
`SegmentNotFound` exceptions are not thrown when you need to test your method.
@@ -529,4 +532,5 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aws-xray-sdk-2.7.0/aws_xray_sdk.egg-info/SOURCES.txt
new/aws-xray-sdk-2.8.0/aws_xray_sdk.egg-info/SOURCES.txt
--- old/aws-xray-sdk-2.7.0/aws_xray_sdk.egg-info/SOURCES.txt 2021-03-24
18:06:14.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/aws_xray_sdk.egg-info/SOURCES.txt 2021-04-29
02:03:01.000000000 +0200
@@ -29,6 +29,7 @@
aws_xray_sdk/core/models/entity.py
aws_xray_sdk/core/models/facade_segment.py
aws_xray_sdk/core/models/http.py
+aws_xray_sdk/core/models/noop_traceid.py
aws_xray_sdk/core/models/segment.py
aws_xray_sdk/core/models/subsegment.py
aws_xray_sdk/core/models/throwable.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aws-xray-sdk-2.7.0/setup.py
new/aws-xray-sdk-2.8.0/setup.py
--- old/aws-xray-sdk-2.7.0/setup.py 2021-03-24 17:45:53.000000000 +0100
+++ new/aws-xray-sdk-2.8.0/setup.py 2021-04-29 02:01:38.000000000 +0200
@@ -41,6 +41,7 @@
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: 3.9',
],
install_requires=[