Skip to content

Commit 195a1b8

Browse files
_populate_span and sqlcomment only if span.is_recording
1 parent 6a8e962 commit 195a1b8

File tree

1 file changed

+47
-44
lines changed
  • instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi

1 file changed

+47
-44
lines changed

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

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -492,50 +492,53 @@ def traced_execution(
492492
with self._db_api_integration._tracer.start_as_current_span(
493493
name, kind=SpanKind.CLIENT
494494
) as span:
495-
if args and self._commenter_enabled:
496-
try:
497-
args_list = list(args)
498-
499-
# lazy capture of mysql-connector client version using cursor
500-
if (
501-
self._db_api_integration.database_system == "mysql"
502-
and self._db_api_integration.connect_module.__name__
503-
== "mysql.connector"
504-
and not self._db_api_integration.commenter_data[
505-
"mysql_client_version"
506-
]
507-
):
508-
self._db_api_integration.commenter_data[
509-
"mysql_client_version"
510-
] = cursor._cnx._cmysql.get_client_info()
511-
512-
commenter_data = dict(
513-
self._db_api_integration.commenter_data
514-
)
515-
if self._commenter_options.get(
516-
"opentelemetry_values", True
517-
):
518-
commenter_data.update(**_get_opentelemetry_values())
519-
520-
# Filter down to just the requested attributes.
521-
commenter_data = {
522-
k: v
523-
for k, v in commenter_data.items()
524-
if self._commenter_options.get(k, True)
525-
}
526-
statement = _add_sql_comment(
527-
args_list[0], **commenter_data
528-
)
529-
530-
args_list[0] = statement
531-
args = tuple(args_list)
532-
533-
except Exception as exc: # pylint: disable=broad-except
534-
_logger.exception(
535-
"Exception while generating sql comment: %s", exc
536-
)
537-
538-
self._populate_span(span, cursor, *args)
495+
if span.is_recording():
496+
if args and self._commenter_enabled:
497+
try:
498+
args_list = list(args)
499+
500+
# lazy capture of mysql-connector client version using cursor
501+
if (
502+
self._db_api_integration.database_system == "mysql"
503+
and self._db_api_integration.connect_module.__name__
504+
== "mysql.connector"
505+
and not self._db_api_integration.commenter_data[
506+
"mysql_client_version"
507+
]
508+
):
509+
self._db_api_integration.commenter_data[
510+
"mysql_client_version"
511+
] = cursor._cnx._cmysql.get_client_info()
512+
513+
commenter_data = dict(
514+
self._db_api_integration.commenter_data
515+
)
516+
if self._commenter_options.get(
517+
"opentelemetry_values", True
518+
):
519+
commenter_data.update(
520+
**_get_opentelemetry_values()
521+
)
522+
523+
# Filter down to just the requested attributes.
524+
commenter_data = {
525+
k: v
526+
for k, v in commenter_data.items()
527+
if self._commenter_options.get(k, True)
528+
}
529+
statement = _add_sql_comment(
530+
args_list[0], **commenter_data
531+
)
532+
533+
args_list[0] = statement
534+
args = tuple(args_list)
535+
536+
except Exception as exc: # pylint: disable=broad-except
537+
_logger.exception(
538+
"Exception while generating sql comment: %s", exc
539+
)
540+
541+
self._populate_span(span, cursor, *args)
539542

540543
return query_method(*args, **kwargs)
541544

0 commit comments

Comments
 (0)