Exemplo n.º 1
0
def instrument_sqlite3_dbapi2(module):
    register_database_client(module,
                             'SQLite',
                             'single',
                             instance_name=instance_name)

    wrap_object(module, 'connect', ConnectionFactory, (module, ))
Exemplo n.º 2
0
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,))
Exemplo n.º 3
0
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, ))
Exemplo n.º 4
0
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,))
Exemplo n.º 5
0
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, ))
Exemplo n.º 6
0
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, ))
Exemplo n.º 7
0
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, ))
Exemplo n.º 8
0
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, ))
Exemplo n.º 9
0
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, ))
Exemplo n.º 10
0
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,))
Exemplo n.º 11
0
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,))
Exemplo n.º 12
0
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, ))
Exemplo n.º 13
0
def instrument_sqlite3_dbapi2(module):
    register_database_client(module, 'SQLite', 'single',
            instance_name=instance_name)

    wrap_object(module, 'connect', ConnectionFactory, (module,))
Exemplo n.º 14
0
def instrument(module):
    register_database_client(module, 'DBAPI2', 'single')

    wrap_object(module, 'connect', ConnectionFactory, (module,))
Exemplo n.º 15
0
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,))
Exemplo n.º 16
0
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,))
Exemplo n.º 17
0
def instrument_cx_oracle(module):
    register_database_client(module, database_name='Oracle',
            quoting_style='single')

    wrap_object(module, 'connect', ConnectionFactory, (module,))