Skip to content

Commit 9041a31

Browse files
authored
Add support for remote resource in psycopg2 contract tests. (#187)
Add support for `AWS_REMOTE_RESOURCE_TYPE` and `AWS_REMOTE_RESOURCE_IDENTIFIER` for psycopg2 contract tests. By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
1 parent 0ea3ebd commit 9041a31

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

contract-tests/tests/test/amazon/psycopg2/psycopg2_test.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
AWS_LOCAL_OPERATION,
1212
AWS_LOCAL_SERVICE,
1313
AWS_REMOTE_OPERATION,
14+
AWS_REMOTE_RESOURCE_IDENTIFIER,
15+
AWS_REMOTE_RESOURCE_TYPE,
1416
AWS_REMOTE_SERVICE,
1517
AWS_SPAN_KIND,
1618
)
@@ -78,6 +80,8 @@ def _assert_aws_attributes(self, attributes_list: List[KeyValue], **kwargs) -> N
7880
self._assert_str_attribute(attributes_dict, AWS_REMOTE_SERVICE, "postgresql")
7981
command: str = kwargs.get("sql_command")
8082
self._assert_str_attribute(attributes_dict, AWS_REMOTE_OPERATION, f"{command}")
83+
self._assert_str_attribute(attributes_dict, AWS_REMOTE_RESOURCE_TYPE, "DB::Connection")
84+
self._assert_str_attribute(attributes_dict, AWS_REMOTE_RESOURCE_IDENTIFIER, "postgres|mydb|5432")
8185
# See comment above AWS_LOCAL_OPERATION
8286
self._assert_str_attribute(attributes_dict, AWS_SPAN_KIND, "LOCAL_ROOT")
8387

@@ -104,6 +108,10 @@ def _assert_semantic_conventions_attributes(self, attributes_list: List[KeyValue
104108
self.assertTrue(attributes_dict.get("db.statement").string_value.startswith(command))
105109
self._assert_str_attribute(attributes_dict, "db.system", "postgresql")
106110
self._assert_str_attribute(attributes_dict, "db.name", "postgres")
111+
self._assert_str_attribute(attributes_dict, "net.peer.name", "mydb")
112+
self._assert_int_attribute(attributes_dict, "net.peer.port", 5432)
113+
self.assertTrue("server.address" not in attributes_dict)
114+
self.assertTrue("server.port" not in attributes_dict)
107115
self.assertTrue("db.operation" not in attributes_dict)
108116

109117
@override
@@ -131,6 +139,8 @@ def _assert_metric_attributes(
131139
self._assert_str_attribute(attribute_dict, AWS_LOCAL_OPERATION, "InternalOperation")
132140
self._assert_str_attribute(attribute_dict, AWS_REMOTE_SERVICE, "postgresql")
133141
self._assert_str_attribute(attribute_dict, AWS_REMOTE_OPERATION, kwargs.get("sql_command"))
142+
self._assert_str_attribute(attribute_dict, AWS_REMOTE_RESOURCE_TYPE, "DB::Connection")
143+
self._assert_str_attribute(attribute_dict, AWS_REMOTE_RESOURCE_IDENTIFIER, "postgres|mydb|5432")
134144
self._assert_str_attribute(attribute_dict, AWS_SPAN_KIND, "CLIENT")
135145
self.check_sum(metric_name, dependency_dp.sum, expected_sum)
136146

0 commit comments

Comments
 (0)