Skip to content

Commit c5636d2

Browse files
committed
Make previous commit backwards compatible persist metadata as it was.
1 parent 8e43f1c commit c5636d2

File tree

2 files changed

+14
-21
lines changed

2 files changed

+14
-21
lines changed

aws_xray_sdk/ext/psycopg2/patch.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,14 @@ def patch():
1616
def _xray_traced_connect(wrapped, instance, args, kwargs):
1717

1818
conn = wrapped(*args, **kwargs)
19+
host = kwargs['host'] if 'host' in kwargs else re.search(r'host=(\S+)\b', args[0]).groups()[0]
20+
dbname = kwargs['dbname'] if 'dbname' in kwargs else re.search(r'dbname=(\S+)\b', args[0]).groups()[0]
21+
port = kwargs['port'] if 'port' in kwargs else re.search(r'port=(\S+)\b', args[0]).groups()[0]
22+
user = kwargs['user'] if 'user' in kwargs else re.search(r'user=(\S+)\b', args[0]).groups()[0]
1923
meta = {
2024
'database_type': 'PostgreSQL',
21-
'connection_string': conn.dsn,
25+
'url': 'postgresql://{}@{}:{}/{}'.format(user, host, port, dbname),
26+
'user': user,
2227
'database_version': str(conn.server_version),
2328
'driver_version': 'Psycopg 2'
2429
}

tests/ext/psycopg2/test_psycopg2.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,8 @@ def test_execute_dsn_kwargs():
4242
assert subsegment.name == 'execute'
4343
sql = subsegment.sql
4444
assert sql['database_type'] == 'PostgreSQL'
45-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
46-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
47-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
48-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
49-
assert 'password=xxx' in sql['connection_string']
45+
assert sql['user'] == dsn['user']
46+
assert sql['url'] == url
5047
assert sql['database_version']
5148

5249

@@ -67,11 +64,8 @@ def test_execute_dsn_string():
6764
assert subsegment.name == 'execute'
6865
sql = subsegment.sql
6966
assert sql['database_type'] == 'PostgreSQL'
70-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
71-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
72-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
73-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
74-
assert 'password=xxx' in sql['connection_string']
67+
assert sql['user'] == dsn['user']
68+
assert sql['url'] == url
7569
assert sql['database_version']
7670

7771

@@ -93,11 +87,8 @@ def test_execute_in_pool():
9387
assert subsegment.name == 'execute'
9488
sql = subsegment.sql
9589
assert sql['database_type'] == 'PostgreSQL'
96-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
97-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
98-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
99-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
100-
assert 'password=xxx' in sql['connection_string']
90+
assert sql['user'] == dsn['user']
91+
assert sql['url'] == url
10192
assert sql['database_version']
10293

10394

@@ -121,11 +112,8 @@ def test_execute_bad_query():
121112
assert subsegment.name == 'execute'
122113
sql = subsegment.sql
123114
assert sql['database_type'] == 'PostgreSQL'
124-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
125-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
126-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
127-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
128-
assert 'password=xxx' in sql['connection_string']
115+
assert sql['user'] == dsn['user']
116+
assert sql['url'] == url
129117
assert sql['database_version']
130118

131119
exception = subsegment.cause['exceptions'][0]

0 commit comments

Comments
 (0)