diff --git a/shards/mishards/service_handler.py b/shards/mishards/service_handler.py index 91e2c7a2a0ed963dc2556e9005cd3a9a7aba1a18..1b56c864ed32e9e893106f00271a86683c56dbdd 100644 --- a/shards/mishards/service_handler.py +++ b/shards/mishards/service_handler.py @@ -140,15 +140,12 @@ class ServiceHandler(milvus_pb2_grpc.MilvusServiceServicer): with self.tracer.start_span('search_{}'.format(addr), child_of=span): - ret = conn.search_vectors_in_files( - table_name=query_params['table_id'], - file_ids=query_params['file_ids'], - query_records=vectors, - top_k=topk, - nprobe=nprobe - ) + ret = conn.search_vectors_in_files(table_name=query_params['table_id'], + file_ids=query_params['file_ids'], + query_records=vectors, + top_k=topk, + nprobe=nprobe) end = time.time() - logger.info('search_vectors_in_files takes: {}'.format(end - start)) all_topk_results.append(ret) @@ -321,7 +318,7 @@ class ServiceHandler(milvus_pb2_grpc.MilvusServiceServicer): metadata=metadata) now = time.time() - logger.info('SearchVector takes: {}'.format(now - start)) + # logger.info('SearchVector takes: {}'.format(now - start)) topk_result_list = milvus_pb2.TopKQueryResult( status=status_pb2.Status(error_code=status.error_code, diff --git a/shards/mishards/settings.py b/shards/mishards/settings.py index 832f1639ea720f861a5615b3667c87a3211bf230..3ab4777369d4c180825e9bad9adfe1dd0b9c15e9 100644 --- a/shards/mishards/settings.py +++ b/shards/mishards/settings.py @@ -50,7 +50,6 @@ class TracingConfig: } } - max_overflow=0 class DefaultConfig: SQLALCHEMY_DATABASE_URI = env.str('SQLALCHEMY_DATABASE_URI') diff --git a/shards/utils/colors.py b/shards/utils/colors.py index 7f55ae1a2f96888fc690754a4995712b4c508b5a..74ce614d5cfd4cc722721b28a4ebb20e46ed69ae 100644 --- a/shards/utils/colors.py +++ b/shards/utils/colors.py @@ -1,72 +1,72 @@ # Reset -Color_Off='\033[0m' # Text Reset +Color_Off = '\033[0m' # Text Reset # Regular Colors -Black='\033[0;30m' # Black -Red='\033[0;31m' # Red -Green='\033[0;32m' # Green -Yellow='\033[0;33m' # Yellow -Blue='\033[0;34m' # Blue -Purple='\033[0;35m' # Purple -Cyan='\033[0;36m' # Cyan -White='\033[0;37m' # White +Black = '\033[0;30m' # Black +Red = '\033[0;31m' # Red +Green = '\033[0;32m' # Green +Yellow = '\033[0;33m' # Yellow +Blue = '\033[0;34m' # Blue +Purple = '\033[0;35m' # Purple +Cyan = '\033[0;36m' # Cyan +White = '\033[0;37m' # White # Bold -BBlack='\033[1;30m' # Black -BRed='\033[1;31m' # Red -BGreen='\033[1;32m' # Green -BYellow='\033[1;33m' # Yellow -BBlue='\033[1;34m' # Blue -BPurple='\033[1;35m' # Purple -BCyan='\033[1;36m' # Cyan -BWhite='\033[1;37m' # White +BBlack = '\033[1;30m' # Black +BRed = '\033[1;31m' # Red +BGreen = '\033[1;32m' # Green +BYellow = '\033[1;33m' # Yellow +BBlue = '\033[1;34m' # Blue +BPurple = '\033[1;35m' # Purple +BCyan = '\033[1;36m' # Cyan +BWhite = '\033[1;37m' # White # Underline -UBlack='\033[4;30m' # Black -URed='\033[4;31m' # Red -UGreen='\033[4;32m' # Green -UYellow='\033[4;33m' # Yellow -UBlue='\033[4;34m' # Blue -UPurple='\033[4;35m' # Purple -UCyan='\033[4;36m' # Cyan -UWhite='\033[4;37m' # White +UBlack = '\033[4;30m' # Black +URed = '\033[4;31m' # Red +UGreen = '\033[4;32m' # Green +UYellow = '\033[4;33m' # Yellow +UBlue = '\033[4;34m' # Blue +UPurple = '\033[4;35m' # Purple +UCyan = '\033[4;36m' # Cyan +UWhite = '\033[4;37m' # White # Background -On_Black='\033[40m' # Black -On_Red='\033[41m' # Red -On_Green='\033[42m' # Green -On_Yellow='\033[43m' # Yellow -On_Blue='\033[44m' # Blue -On_Purple='\033[45m' # Purple -On_Cyan='\033[46m' # Cyan -On_White='\033[47m' # White +On_Black = '\033[40m' # Black +On_Red = '\033[41m' # Red +On_Green = '\033[42m' # Green +On_Yellow = '\033[43m' # Yellow +On_Blue = '\033[44m' # Blue +On_Purple = '\033[45m' # Purple +On_Cyan = '\033[46m' # Cyan +On_White = '\033[47m' # White # High Intensity -IBlack='\033[0;90m' # Black -IRed='\033[0;91m' # Red -IGreen='\033[0;92m' # Green -IYellow='\033[0;93m' # Yellow -IBlue='\033[0;94m' # Blue -IPurple='\033[0;95m' # Purple -ICyan='\033[0;96m' # Cyan -IWhite='\033[0;97m' # White +IBlack = '\033[0;90m' # Black +IRed = '\033[0;91m' # Red +IGreen = '\033[0;92m' # Green +IYellow = '\033[0;93m' # Yellow +IBlue = '\033[0;94m' # Blue +IPurple = '\033[0;95m' # Purple +ICyan = '\033[0;96m' # Cyan +IWhite = '\033[0;97m' # White # Bold High Intensity -BIBlack='\033[1;90m' # Black -BIRed='\033[1;91m' # Red -BIGreen='\033[1;92m' # Green -BIYellow='\033[1;93m' # Yellow -BIBlue='\033[1;94m' # Blue -BIPurple='\033[1;95m' # Purple -BICyan='\033[1;96m' # Cyan -BIWhite='\033[1;97m' # White +BIBlack = '\033[1;90m' # Black +BIRed = '\033[1;91m' # Red +BIGreen = '\033[1;92m' # Green +BIYellow = '\033[1;93m' # Yellow +BIBlue = '\033[1;94m' # Blue +BIPurple = '\033[1;95m' # Purple +BICyan = '\033[1;96m' # Cyan +BIWhite = '\033[1;97m' # White # High Intensity backgrounds -On_IBlack='\033[0;100m' # Black -On_IRed='\033[0;101m' # Red -On_IGreen='\033[0;102m' # Green -On_IYellow='\033[0;103m' # Yellow -On_IBlue='\033[0;104m' # Blue -On_IPurple='\033[0;105m' # Purple -On_ICyan='\033[0;106m' # Cyan -On_IWhite='\033[0;107m' # White +On_IBlack = '\033[0;100m' # Black +On_IRed = '\033[0;101m' # Red +On_IGreen = '\033[0;102m' # Green +On_IYellow = '\033[0;103m' # Yellow +On_IBlue = '\033[0;104m' # Blue +On_IPurple = '\033[0;105m' # Purple +On_ICyan = '\033[0;106m' # Cyan +On_IWhite = '\033[0;107m' # White diff --git a/shards/utils/logger_helper.py b/shards/utils/logger_helper.py index 5141f5dc73032736903cc0d88c734a87173a57ea..11558fd8fa1e9bc9ae29e9a1f681b4ae7348de4b 100644 --- a/shards/utils/logger_helper.py +++ b/shards/utils/logger_helper.py @@ -1,5 +1,6 @@ import os import datetime +import copy from pytz import timezone from logging import Filter import logging.config @@ -59,24 +60,31 @@ class ColorFulFormatColMixin: return message_str def formatTime(self, record, datefmt=None): - ret = super().formatTime(record, datefmt) + ret = super().formatTime(record, datefmt) ret = COLORS['ASCTIME'] + ret + COLORS['ENDC'] return ret - def format_record(self, record): - msg_schema = record.levelname + 'M' - record.msg = '{}{}{}'.format(COLORS[msg_schema], record.msg, COLORS['ENDC']) - record.filename = COLORS['FILENAME'] + record.filename + COLORS['ENDC'] - record.lineno = '{}{}{}'.format(COLORS['LINENO'], record.lineno, COLORS['ENDC']) - record.threadName = '{}{}{}'.format(COLORS['THREAD'], record.threadName, COLORS['ENDC']) - record.levelname = COLORS[record.levelname] + record.levelname + COLORS['ENDC'] - return record + +class ColorfulLogRecordProxy(logging.LogRecord): + def __init__(self, record): + self._record = record + msg_level = record.levelname + 'M' + self.msg = '{}{}{}'.format(COLORS[msg_level], record.msg, COLORS['ENDC']) + self.filename = COLORS['FILENAME'] + record.filename + COLORS['ENDC'] + self.lineno = '{}{}{}'.format(COLORS['LINENO'], record.lineno, COLORS['ENDC']) + self.threadName = '{}{}{}'.format(COLORS['THREAD'], record.threadName, COLORS['ENDC']) + self.levelname = COLORS[record.levelname] + record.levelname + COLORS['ENDC'] + + def __getattr__(self, attr): + if attr not in self.__dict__: + return getattr(self._record, attr) + return getattr(self, attr) class ColorfulFormatter(ColorFulFormatColMixin, logging.Formatter): def format(self, record): - record = self.format_record(record) - message_str = super(ColorfulFormatter, self).format(record) + proxy = ColorfulLogRecordProxy(record) + message_str = super().format(proxy) return message_str