def instrument_sqlite3_dbapi2(module): register_database_client(module, 'SQLite', 'single', instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module, ))
def instrument_psycopg2cffi(module): register_database_client(module, database_name='Postgres', quoting_style='single', explain_query='explain', explain_stmts=('select', 'insert', 'update', 'delete'), instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module,))
def instrument_ibm_db_dbi(module): register_database_client(module, database_name='IBMDB2', quoting_style='single', explain_query='EXPLAIN', explain_stmts=('select', 'insert', 'update', 'delete')) wrap_object(module, 'connect', ConnectionFactory, (module, ))
def instrument_postgresql_interface_proboscis_dbapi2(module): register_database_client(module, database_name='Postgres', quoting_style='single', explain_query='explain', explain_stmts=('select', 'insert', 'update', 'delete'), instance_name=instance_name) from .database_dbapi2 import ConnectionFactory wrap_object(module, 'connect', ConnectionFactory, (module,))
def instrument_pymssql(module): # XXX Don't believe MSSQL provides a simple means of doing an # explain plan using one SQL statement prefix, eg., 'EXPLAIN'. register_database_client(module, database_name='MSSQL', quoting_style='single') wrap_object(module, 'connect', ConnectionFactory, (module, ))
def instrument_psycopg2ct(module): register_database_client(module, database_name='Postgres', quoting_style='single', explain_query='explain', explain_stmts=('select', 'insert', 'update', 'delete'), instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module, ))
def instrument_tornado_mysql(module): register_database_client(module, database_name='MySQL', quoting_style='single+double', explain_query='explain', explain_stmts=('select', ), instance_name=instance_name) wrap_object(module.connections, 'Connection', ConnectionFactory, (module, ))
def instrument_sqlite3(module): # This case is to handle where the sqlite3 module was already # imported prior to agent initialization. In this situation, a # reference to the connect() method would already have been created # which referred to the uninstrumented version of the function # originally imported by sqlite3.dbapi2 before instrumentation could # be applied. if not isinstance(module.connect, ConnectionFactory): register_database_client(module, 'SQLite', instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module, ))
def instrument_postgresql_interface_proboscis_dbapi2(module): register_database_client(module, database_name='Postgres', quoting_style='single', explain_query='explain', explain_stmts=('select', 'insert', 'update', 'delete'), instance_name=instance_name) from .database_dbapi2 import ConnectionFactory wrap_object(module, 'connect', ConnectionFactory, (module, ))
def instrument_sqlite3(module): # This case is to handle where the sqlite3 module was already # imported prior to agent initialization. In this situation, a # reference to the connect() method would already have been created # which referred to the uninstrumented version of the function # originally imported by sqlite3.dbapi2 before instrumentation could # be applied. if not isinstance(module.connect, ConnectionFactory): register_database_client(module, 'SQLite', instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module,))
def instrument_pymysql(module): register_database_client(module, database_name='MySQL', quoting_style='single+double', explain_query='explain', explain_stmts=('select',), instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module,)) # The connect() function is actually aliased with Connect() and # Connection, the later actually being the Connection type object. # Instrument Connect(), but don't instrument Connection in case that # interferes with direct type usage. If people are using the # Connection object directly, they should really be using connect(). if hasattr(module, 'Connect'): wrap_object(module, 'Connect', ConnectionFactory, (module,))
def instrument_mysql_connector(module): register_database_client(module, database_name='MySQL', quoting_style='single+double', explain_query='explain', explain_stmts=('select', ), instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module, )) # The connect() function is actually aliased with Connect() and # Connection, the later actually being the Connection type object. # Instrument Connect(), but don't instrument Connection in case that # interferes with direct type usage. If people are using the # Connection object directly, they should really be using connect(). if hasattr(module, 'Connect'): wrap_object(module, 'Connect', ConnectionFactory, (module, ))
def instrument_sqlite3_dbapi2(module): register_database_client(module, 'SQLite', 'single', instance_name=instance_name) wrap_object(module, 'connect', ConnectionFactory, (module,))
def instrument(module): register_database_client(module, 'DBAPI2', 'single') wrap_object(module, 'connect', ConnectionFactory, (module,))
def instrument_tornado_mysql(module): register_database_client(module, database_name='MySQL', quoting_style='single+double', explain_query='explain', explain_stmts=('select',), instance_name=instance_name) wrap_object(module.connections, 'Connection', ConnectionFactory, (module,))
def instrument_ibm_db_dbi(module): register_database_client(module, database_name='IBMDB2', quoting_style='single', explain_query='EXPLAIN', explain_stmts=('select', 'insert', 'update', 'delete')) wrap_object(module, 'connect', ConnectionFactory, (module,))
def instrument_cx_oracle(module): register_database_client(module, database_name='Oracle', quoting_style='single') wrap_object(module, 'connect', ConnectionFactory, (module,))