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)
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)
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)
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)
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)