Skip to content

Commit 41c9ac8

Browse files
committed
Merge branch 'fix/1477' of https://github.com/aryabharat/opentelemetry-python-contrib into fix/1477
2 parents ba3b51a + e90eefe commit 41c9ac8

File tree

3 files changed

+9
-0
lines changed
  • instrumentation
    • opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi
    • opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware
    • opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy

3 files changed

+9
-0
lines changed

instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,9 @@ def _update_args_with_added_sql_comment(self, args, cursor) -> tuple:
488488
args_list = list(args)
489489
self._capture_mysql_version(cursor)
490490
commenter_data = self._get_commenter_data()
491+
# Convert sql statement to string, handling psycopg2.sql.Composable object
492+
if hasattr(args_list[0], "as_string"):
493+
args_list[0] = args_list[0].as_string(cursor.connection)
491494
statement = _add_sql_comment(args_list[0], **commenter_data)
492495
args_list[0] = statement
493496
args = tuple(args_list)

instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/sqlcommenter_middleware.py

+3
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ def __call__(self, execute: Type[T], sql, params, many, context) -> T:
8080
db_driver = context["connection"].settings_dict.get("ENGINE", "")
8181
resolver_match = self.request.resolver_match
8282

83+
if hasattr(sql, "as_string"):
84+
sql = sql.as_string(context["connection"])
85+
8386
sql = _add_sql_comment(
8487
sql,
8588
# Information about the controller.

instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/engine.py

+3
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,9 @@ def _before_cur_exec(
274274
commenter_data = self._get_commenter_data(conn)
275275

276276
if self.enable_attribute_commenter:
277+
# Convert sql statement to string, handling psycopg2.sql.Composable object
278+
if hasattr(statement, "as_string"):
279+
statement = statement.as_string(conn)
277280
# sqlcomment is added to executed query and db.statement span attribute
278281
statement = _add_sql_comment(
279282
statement, **commenter_data

0 commit comments

Comments
 (0)