Esempio n. 1
0
def _get_vendor(conn):
    """ Return the vendor (e.g postgres, mysql) of the given
        database.
    """
    try:
        name = _get_module_name(conn)
    except Exception:
        log.debug("couldnt parse module name", exc_info=True)
        name = "sql"
    return sql.normalize_vendor(name)
Esempio n. 2
0
def _get_vendor(conn):
    """ Return the vendor (e.g postgres, mysql) of the given
        database.
    """
    try:
        name = _get_module_name(conn)
    except Exception:
        log.debug("couldnt parse module name", exc_info=True)
        name = "sql"
    return sql.normalize_vendor(name)
Esempio n. 3
0
 def cursor(django, pin, func, instance, args, kwargs):
     database_prefix = config.django.database_service_name_prefix
     alias = getattr(conn, "alias", "default")
     service = "{}{}{}".format(database_prefix, alias, "db")
     vendor = getattr(conn, "vendor", "db")
     prefix = sqlx.normalize_vendor(vendor)
     tags = {
         "django.db.vendor": vendor,
         "django.db.alias": alias,
     }
     pin = Pin(service, tags=tags, tracer=pin.tracer, app=prefix)
     return dbapi.TracedCursor(func(*args, **kwargs), pin)
Esempio n. 4
0
    def __init__(self, tracer, service, engine):
        self.tracer = tracer
        self.engine = engine
        self.vendor = sqlx.normalize_vendor(engine.name)
        self.service = service or self.vendor
        self.name = "%s.query" % self.vendor

        # set the service info.
        self.tracer.set_service_info(
            service=self.service,
            app=self.vendor,
            app_type=sqlx.APP_TYPE)

        listen(engine, 'before_cursor_execute', self._before_cur_exec)
        listen(engine, 'after_cursor_execute', self._after_cur_exec)
        listen(engine, 'dbapi_error', self._dbapi_error)
Esempio n. 5
0
    def __init__(self, tracer, service, engine):
        self.tracer = tracer
        self.engine = engine
        self.vendor = sqlx.normalize_vendor(engine.name)
        self.service = service or self.vendor
        self.name = "%s.query" % self.vendor

        # attach the PIN
        Pin(
            app=self.vendor,
            tracer=tracer,
            service=self.service,
            app_type=sqlx.APP_TYPE,
        ).onto(engine)

        listen(engine, 'before_cursor_execute', self._before_cur_exec)
        listen(engine, 'after_cursor_execute', self._after_cur_exec)
        listen(engine, 'dbapi_error', self._dbapi_error)
Esempio n. 6
0
    def cursor(django, pin, func, instance, args, kwargs):
        alias = getattr(conn, "alias", "default")

        if config.django.database_service_name:
            service = config.django.database_service_name
        else:
            database_prefix = config.django.database_service_name_prefix
            service = "{}{}{}".format(database_prefix, alias, "db")

        vendor = getattr(conn, "vendor", "db")
        prefix = sqlx.normalize_vendor(vendor)
        tags = {
            "django.db.vendor": vendor,
            "django.db.alias": alias,
        }
        pin = Pin(service, tags=tags, tracer=pin.tracer, app=prefix)
        cursor = func(*args, **kwargs)
        traced_cursor_cls = dbapi.TracedCursor
        if (Psycopg2TracedCursor is not None and hasattr(cursor, "cursor")
                and isinstance(cursor.cursor, psycopg_cursor_cls)):
            traced_cursor_cls = Psycopg2TracedCursor
        return traced_cursor_cls(cursor, pin, config.django)