From a46744976beb940ab90b5ed867de13c0ecfd496a Mon Sep 17 00:00:00 2001 From: Srikanth Chekuri Date: Tue, 24 Nov 2020 11:32:33 +0530 Subject: [PATCH] Add docstring and comments --- .../src/opentelemetry/instrumentation/asyncpg/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/__init__.py b/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/__init__.py index 198fe199d..e78224a9e 100644 --- a/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/__init__.py @@ -49,8 +49,12 @@ _APPLIED = "_opentelemetry_tracer" def _hydrate_span_from_args(connection, query, parameters) -> dict: + """Get network and database attributes from connection.""" span_attributes = {"db.system": "postgresql"} + # connection contains _params attribute which is a namedtuple ConnectionParameters. + # https://github.com/MagicStack/asyncpg/blob/master/asyncpg/connection.py#L68 + params = getattr(connection, "_params", None) dbname = getattr(params, "database", None) if dbname: @@ -59,6 +63,8 @@ def _hydrate_span_from_args(connection, query, parameters) -> dict: if user: span_attributes["db.user"] = user + # connection contains _addr attribute which is either a host/port tuple, or unix socket string + # https://magicstack.github.io/asyncpg/current/_modules/asyncpg/connection.html addr = getattr(connection, "_addr", None) if isinstance(addr, tuple): span_attributes["net.peer.name"] = addr[0]