def test_instrument_connection(self):
     connection = MockConnectionEmpty()
     # Avoid get_attributes failing because can't concatenate mock
     # pylint: disable=attribute-defined-outside-init
     connection.database = "-"
     connection2 = dbapi.instrument_connection(self.tracer, connection, "-")
     self.assertIs(connection2._connection, connection)
    def test_uninstrument_connection(self):
        connection = mock.Mock()
        # Set connection.database to avoid a failure because mock can't
        # be concatenated
        connection.database = "-"
        connection2 = dbapi.instrument_connection(self.tracer, connection, "-")
        self.assertIs(connection2.__wrapped__, connection)

        connection3 = dbapi.uninstrument_connection(connection2)
        self.assertIs(connection3, connection)

        with self.assertLogs(level=logging.WARNING):
            connection4 = dbapi.uninstrument_connection(connection)
        self.assertIs(connection4, connection)
    def test_uninstrument_connection(self):
        connection = MockConnectionEmpty()
        # Set connection.database to avoid a failure because mock can't
        # be concatenated
        # pylint: disable=attribute-defined-outside-init
        connection.database = "-"
        connection2 = dbapi.instrument_connection(self.tracer, connection, "-")
        self.assertIs(connection2._connection, connection)

        connection3 = dbapi.uninstrument_connection(connection2)
        self.assertIs(connection3, connection)

        with self.assertLogs(level=logging.WARNING):
            connection4 = dbapi.uninstrument_connection(connection)
        self.assertIs(connection4, connection)
    def instrument_connection(self, connection):
        """Enable instrumentation in a SQLite connection.

        Args:
            connection: The connection to instrument.

        Returns:
            An instrumented connection.
        """
        tracer = get_tracer(__name__, __version__)

        return dbapi.instrument_connection(
            tracer,
            connection,
            self._DATABASE_SYSTEM,
            self._CONNECTION_ATTRIBUTES,
        )
예제 #5
0
    def instrument_connection(self, connection):
        """Enable instrumentation in a PyMySQL connection.

        Args:
            connection: The connection to instrument.

        Returns:
            An instrumented connection.
        """

        return dbapi.instrument_connection(
            __name__,
            connection,
            self._DATABASE_COMPONENT,
            self._DATABASE_TYPE,
            self._CONNECTION_ATTRIBUTES,
            version=__version__,
        )
    def instrument_connection(self, connection, tracer_provider=None):
        """Enable instrumentation in a MySQL connection.

        Args:
            connection: The connection to instrument.
            tracer_provider: The optional tracer provider to use. If omitted
                the current globally configured one is used.

        Returns:
            An instrumented connection.
        """
        return dbapi.instrument_connection(
            __name__,
            connection,
            self._DATABASE_SYSTEM,
            self._CONNECTION_ATTRIBUTES,
            version=__version__,
            tracer_provider=tracer_provider,
        )
 def test_instrument_connection(self):
     connection = mock.Mock()
     # Avoid get_attributes failing because can't concatenate mock
     connection.database = "-"
     connection2 = dbapi.instrument_connection(self.tracer, connection, "-")
     self.assertIs(connection2.__wrapped__, connection)