community/python-aws-xray-sdk to 2.4.2-7

This commit is contained in:
Kevin Mihelich 2019-11-14 14:43:05 +00:00
parent 7582bc2655
commit c25a548baa
2 changed files with 87 additions and 3 deletions

View file

@ -7,7 +7,7 @@
pkgname=python-aws-xray-sdk pkgname=python-aws-xray-sdk
_pkgname=aws-xray-sdk-python _pkgname=aws-xray-sdk-python
pkgver=2.4.2 pkgver=2.4.2
pkgrel=4 pkgrel=7
pkgdesc='AWS X-Ray SDK for Python' pkgdesc='AWS X-Ray SDK for Python'
arch=(any) arch=(any)
url='https://github.com/aws/aws-xray-sdk-python' url='https://github.com/aws/aws-xray-sdk-python'
@ -20,16 +20,20 @@ checkdepends=(python-flask-sqlalchemy python-pynamodb python-pytest python-aioht
# Not using PyPI source tarball as it does not include tests # Not using PyPI source tarball as it does not include tests
source=("https://github.com/aws/aws-xray-sdk-python/archive/$pkgver/$pkgname-$pkgver.tar.gz" source=("https://github.com/aws/aws-xray-sdk-python/archive/$pkgver/$pkgname-$pkgver.tar.gz"
"aws-xray-sdk-psycopg2.8.patch"::"https://github.com/aws/aws-xray-sdk-python/commit/4b4422a3ad9bb9a28399b34851dd574f6155bb66.patch" "aws-xray-sdk-psycopg2.8.patch"::"https://github.com/aws/aws-xray-sdk-python/commit/4b4422a3ad9bb9a28399b34851dd574f6155bb66.patch"
"aws-xray-sdk-pynamodb4.patch"::"https://github.com/aws/aws-xray-sdk-python/commit/1dd185ba2fb946cea711a9620f04516c7f6eecdf.patch") "aws-xray-sdk-pynamodb4.patch"::"https://github.com/aws/aws-xray-sdk-python/commit/1dd185ba2fb946cea711a9620f04516c7f6eecdf.patch"
"$pkgname-botocore-1.13.patch")
sha256sums=('e480a6dc21d314faf6a9af4cf871fd7b782fae1e704e0fe5977161707f101374' sha256sums=('e480a6dc21d314faf6a9af4cf871fd7b782fae1e704e0fe5977161707f101374'
'b0740901e4c3bd0a678b217b1121c5f827e8535722a560d9f84fb9a8b90f8f74' 'b0740901e4c3bd0a678b217b1121c5f827e8535722a560d9f84fb9a8b90f8f74'
'c2ad5a109841600d271c0b4b49b0fb2b54bcac6e220bf6a7c4cd6f68e17f377e') 'c2ad5a109841600d271c0b4b49b0fb2b54bcac6e220bf6a7c4cd6f68e17f377e'
'f581fe077ed5484e95cf7a3dc651fc3a86bcac6a8fcd142d701edce01266412c')
prepare() { prepare() {
cd $_pkgname-$pkgver cd $_pkgname-$pkgver
patch -Np1 -i ../aws-xray-sdk-psycopg2.8.patch patch -Np1 -i ../aws-xray-sdk-psycopg2.8.patch
# https://github.com/aws/aws-xray-sdk-python/issues/171 # https://github.com/aws/aws-xray-sdk-python/issues/171
patch -Np1 -i ../aws-xray-sdk-pynamodb4.patch patch -Np1 -i ../aws-xray-sdk-pynamodb4.patch
# https://github.com/aws/aws-xray-sdk-python/pull/181
patch -Np1 -i ../$pkgname-botocore-1.13.patch
} }
build() { build() {

View file

@ -0,0 +1,80 @@
From a9fb17f9f9d9edd44a2eafc2add36607b2aff98a Mon Sep 17 00:00:00 2001
From: Daniel Roschka <daniel.roschka@connected-health.eu>
Date: Mon, 11 Nov 2019 10:30:52 +0100
Subject: [PATCH 1/2] Fix patching for PynamoDB 4.x with botocore 1.13
---
aws_xray_sdk/ext/pynamodb/patch.py | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/aws_xray_sdk/ext/pynamodb/patch.py b/aws_xray_sdk/ext/pynamodb/patch.py
index 74b7825..2be2d41 100644
--- a/aws_xray_sdk/ext/pynamodb/patch.py
+++ b/aws_xray_sdk/ext/pynamodb/patch.py
@@ -1,4 +1,3 @@
-import botocore.vendored.requests.sessions
import json
import wrapt
import pynamodb
@@ -13,16 +12,18 @@
def patch():
"""Patch PynamoDB so it generates subsegements when calling DynamoDB."""
- if hasattr(botocore.vendored.requests.sessions, '_xray_enabled'):
- return
- setattr(botocore.vendored.requests.sessions, '_xray_enabled', True)
-
if PYNAMODB4:
module = 'botocore.httpsession'
name = 'URLLib3Session.send'
else:
+ import botocore.vendored.requests.sessions
+ if hasattr(botocore.vendored.requests.sessions, '_xray_enabled'):
+ return
+ setattr(botocore.vendored.requests.sessions, '_xray_enabled', True)
+
module = 'botocore.vendored.requests.sessions'
name = 'Session.send'
+
wrapt.wrap_function_wrapper(
module, name, _xray_traced_pynamodb,
)
From f1f8cd4e6635d1beb7c703717971afed54813a6a Mon Sep 17 00:00:00 2001
From: Daniel Roschka <daniel.roschka@connected-health.eu>
Date: Mon, 11 Nov 2019 13:17:37 +0100
Subject: [PATCH 2/2] Make PynamoDB patching idempotent for PynamoDB 4
---
aws_xray_sdk/ext/pynamodb/patch.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/aws_xray_sdk/ext/pynamodb/patch.py b/aws_xray_sdk/ext/pynamodb/patch.py
index 2be2d41..1478808 100644
--- a/aws_xray_sdk/ext/pynamodb/patch.py
+++ b/aws_xray_sdk/ext/pynamodb/patch.py
@@ -8,15 +8,23 @@
PYNAMODB4 = int(pynamodb.__version__.split('.')[0]) >= 4
+if PYNAMODB4:
+ import botocore.httpsession
+else:
+ import botocore.vendored.requests.sessions
+
def patch():
"""Patch PynamoDB so it generates subsegements when calling DynamoDB."""
if PYNAMODB4:
+ if hasattr(botocore.httpsession, '_xray_enabled'):
+ return
+ setattr(botocore.httpsession, '_xray_enabled', True)
+
module = 'botocore.httpsession'
name = 'URLLib3Session.send'
else:
- import botocore.vendored.requests.sessions
if hasattr(botocore.vendored.requests.sessions, '_xray_enabled'):
return
setattr(botocore.vendored.requests.sessions, '_xray_enabled', True)