Skip to content

Commit ab6c5e4

Browse files
committed
make some monkey-patching conditional on the version of SQLAlchemy
1 parent 7e1a976 commit ab6c5e4

File tree

1 file changed

+11
-8
lines changed
  • instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy

1 file changed

+11
-8
lines changed

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

+11-8
Original file line numberDiff line numberDiff line change
@@ -181,13 +181,15 @@ def _instrument(self, **kwargs):
181181
tracer, connections_usage, enable_commenter, commenter_options
182182
),
183183
)
184-
_w(
185-
"sqlalchemy.engine.create",
186-
"create_engine",
187-
_wrap_create_engine(
188-
tracer, connections_usage, enable_commenter, commenter_options
189-
),
190-
)
184+
# sqlalchemy.engine.create is not present in earlier versions of sqlalchemy (which we support)
185+
if parse_version(sqlalchemy.__version__).release >= (1, 4):
186+
_w(
187+
"sqlalchemy.engine.create",
188+
"create_engine",
189+
_wrap_create_engine(
190+
tracer, connections_usage, enable_commenter, commenter_options
191+
),
192+
)
191193
_w(
192194
"sqlalchemy.engine.base",
193195
"Engine.connect",
@@ -231,7 +233,8 @@ def _instrument(self, **kwargs):
231233
def _uninstrument(self, **kwargs):
232234
unwrap(sqlalchemy, "create_engine")
233235
unwrap(sqlalchemy.engine, "create_engine")
234-
unwrap(sqlalchemy.engine.create, "create_engine")
236+
if parse_version(sqlalchemy.__version__).release >= (1, 4):
237+
unwrap(sqlalchemy.engine.create, "create_engine")
235238
unwrap(Engine, "connect")
236239
if parse_version(sqlalchemy.__version__).release >= (1, 4):
237240
unwrap(sqlalchemy.ext.asyncio, "create_async_engine")

0 commit comments

Comments
 (0)