from abc import ABCMeta
from abc import abstractmethod
class DBNameConstant(metaclass=ABCMeta):
"""
DB name and DB table names
"""
DB_ACL_MODULE = "acl_module.db"
DB_AICORE_OP_SUMMARY = "ai_core_op_summary.db"
DB_RUNTIME = "runtime.db"
DB_GE_MODEL_INFO = "ge_model_info.db"
DB_GE_HOST_INFO = "ge_host_info.db"
DB_GE_LOGIC_STREAM_INFO = "ge_logic_stream_info.db"
DB_STREAM_INFO = "stream_info.db"
DB_AI_CPU = "ai_cpu.db"
DB_GE_INFO = "ge_info.db"
DB_HASH = "hash_mapping.db"
DB_HCCS = "hccs.db"
DB_HOST_SYS_USAGE_CPU = "cpu_usage.db"
DB_HOST_SYS_USAGE_MEM = "memory.db"
DB_HOST_CPU_USAGE = "host_cpu_usage.db"
DB_HOST_DISK_USAGE = "host_disk_usage.db"
DB_HOST_MEM_USAGE = "host_mem_usage.db"
DB_HOST_NETWORK_USAGE = "host_network_usage.db"
DB_HOST_RUNTIME_API = "host_runtime_api.db"
DB_HWTS = "hwts.db"
DB_HWTS_AIV = "hwts_aiv.db"
DB_HWTS_REC = "hwts-rec.db"
DB_L2CACHE = "l2cache.db"
DB_LLC = "llc.db"
DB_OP_COUNTER = "op_counter.db"
DB_PERIPHERAL = "peripheral.db"
DB_RTS_TRACK = "rts_track.db"
DB_TRACE = "trace.db"
DB_TIME = "time.db"
DB_STEP_TRACE = "step_trace.db"
DB_MEMORY_COPY = "memory_copy.db"
DB_TASK_PMU = "task_pmu.db"
DB_NIC_ORIGIN = "nic.db"
DB_ROCE_ORIGIN = "roce.db"
DB_NIC_RECEIVE = "nicreceivesend_table.db"
DB_ROCE_RECEIVE = "rocereceivesend_table.db"
DB_DDR = "ddr.db"
DB_PCIE = "pcie.db"
DB_HBM = "hbm.db"
DB_QOS = "qos.db"
DB_HCCL = "hccl.db"
DB_MSPROFTX = 'msproftx.db'
DB_GE_HASH = "ge_hash.db"
DB_SOC_LOG = "soc_log.db"
DB_ACC_PMU = "acc_pmu.db"
DB_STARS_SOC = "soc_profiler.db"
DB_SIO = "sio.db"
DB_STARS_CHIP_TRANS = "chip_trans.db"
DB_LOW_POWER = "lowpower.db"
DB_BIU_PERF = "biu_perf.db"
DB_CLUSTER_RANK = "cluster_rank.db"
DB_CLUSTER_STEP_TRACE = 'cluster_step_trace.db'
DB_CLUSTER_DATA_PREPROCESS = 'data_preprocess.db'
DB_CLUSTER_HCCL = "cluster_hccl.db"
DB_PARALLEL = "parallel.db"
DB_CLUSTER_PARALLEL = "cluster_parallel.db"
DB_NPU_MEM = "npu_mem.db"
DB_SYNC_ACL_NPU = "sync_acl_npu.db"
DB_FREQ = "freq.db"
DB_API_EVENT = "api_event.db"
DB_HCCL_INFO = "hccl_info.db"
DB_MULTI_THREAD = "multi_thread.db"
DB_TENSOR_ADD_INFO = "tensor_info.db"
DB_NODE_BASIC_INFO = "node_basic_info.db"
DB_FUSION_ADD_INFO = "fusion_op_info.db"
DB_GRAPH_ADD_INFO = "graph_id_map.db"
DB_CTX_ID = "ctx_id.db"
DB_STATIC_OP_MEM = "static_op_mem.db"
DB_MEMORY_APPLICATION = "memory_application.db"
DB_MEMORY_OP = "task_memory.db"
DB_ASCEND_TASK = "ascend_task.db"
DB_NPU_MODULE_MEM = "npu_module_mem.db"
DB_NODE_ATTR_INFO = "node_attr_info.db"
DB_STREAM_EXPAND_SPEC = "stream_expand_spec.db"
DB_NAME_AICORE = "aicore.db"
DB_NAME_AI_VECTOR_CORE = "ai_vector_core.db"
DB_NAME_AICPU = "aicpu.db"
DB_NAME_CTRLCPU = "ctrlcpu.db"
DB_NAME_TSCPU = "tscpu.db"
DB_MC2_COMM_INFO = "mc2_comm_info.db"
DB_KFC_INFO = "kfc_info.db"
DB_NETDEV_STATS = "netdev_stats.db"
DB_UB = "ub.db"
DB_CCU = "ccu.db"
DB_CCU_ADD_INFO = "ccu_add_info.db"
DB_SOC_PMU = "soc_pmu.db"
DB_VOLTAGE = "voltage.db"
DB_FUSION_TASK = "fusion_task.db"
DB_DPU = "dpu.db"
TABLE_ACL_DATA = "AclData"
TABLE_AI_CORE_REC = "AiCoreRec"
TABLE_AI_CPU = "AiCpuData"
TABLE_AI_CPU_FROM_TS = "AiCpuFromTs"
TABLE_AI_CPU_DP = "AiCpuDP"
TABLE_ALL_REDUCE = "all_reduce"
TABLE_CLUSTER_STEP_TRACE = "ClusterStepTrace_{}"
TABLE_CLUSTER_ALL_REDUCE = "AllReduce_{}"
TABLE_EVENT_COUNTER = "EventCounter"
TABLE_EVENT_COUNT = "EventCount"
TABLE_GE_LOAD_TABLE = "GELoad"
TABLE_GE_GRAPH = "ge_graph_data"
TABLE_GE_INFER = "GEInfer"
TABLE_GE_STEP_INFO_DATA = "step_info_data"
TABLE_GE_HOST = "GEHostInfo"
TABLE_GE_LOGIC_STREAM_INFO = "GeLogicStreamInfo"
TABLE_CAPTURE_STREAM_INFO = "CaptureStreamInfo"
TABLE_HASH_ACL = "hash_acl_dict"
TABLE_HWTS_SYS_RANGE = "hwts_sys_cnt_range"
TABLE_HWTS_ITER_SYS = "HwtsIter"
TABLE_HWTS_BATCH = "HwtsBatch"
TABLE_HWTS_TASK = "HwtsTask"
TABLE_HWTS_TASK_TIME = "HwtsTaskTime"
TABLE_LLC_METRIC_DATA = "LLCMetricData"
TABLE_LLC_DSID = "LLCDsidData"
DB_METRICS_SUMMARY = "metric_summary.db"
TABLE_METRIC_SUMMARY = "MetricSummary"
TABLE_V6_BLOCK_PMU = "V6BlockPmu"
TABLE_AIV_METRIC_SUMMARY = "AivMetricSummary"
DB_HCCL_SINGLE_DEVICE = "hccl_single_device.db"
DB_COMMUNICATION_ANALYZER = "communication_analyzer.db"
TABLE_HCCL_TASK_SINGLE_DEVICE = "HCCLTaskSingleDevice"
TABLE_HCCL_OP_REPORT = "HcclOpReport"
TABLE_HCCL_OP_SINGLE_DEVICE = "HCCLOpSingleDevice"
TABLE_OP_COUNTER_GE_MERGE = "ge_task_merge"
TABLE_OP_COUNTER_OP_REPORT = "op_report"
TABLE_OP_COUNTER_RTS_TASK = "rts_task"
TABLE_RUNTIME_REPORT_TASK = "ReportTask"
TABLE_RUNTIME_TASK_TIME = "TaskTime"
TABLE_RUNTIME_TIMELINE = "TimeLine"
TABLE_RUNTIME_TRACK = "RuntimeTrack"
TABLE_TASK_TRACK = "TaskTrack"
TABLE_RUNTIME_OP_INFO = "RuntimeOpInfo"
TABLE_MEMCPY_INFO = "MemcpyInfo"
TABLE_SUMMARY_GE = "ge_summary"
TABLE_SUMMARY_METRICS = "ai_core_metrics"
TABLE_SUMMARY_TASK_TIME = "task_time"
TABLE_SUMMARY_TENSOR = "ge_tensor"
TABLE_TS_MEMCPY_CALCULATION = "TsMemcpyCalculation"
TABLE_TIME = 'Time'
TABLE_TRACE_FILES = 'files'
TABLE_TRAINING_TRACE = 'training_trace'
TABLE_GET_NEXT = 'get_next'
TABLE_STEP_TRACE = "StepTrace"
TABLE_TS_MEMCPY = "TsMemcpy"
TABLE_MODEL_WITH_Q = "ModelWithQ"
TABLE_TASK_TYPE = "TaskType"
TABLE_STEP_TRACE_DATA = "step_trace_data"
TABLE_STEP_TIME = "StepTime"
TABLE_BLOCK_NUM = "TsBlockNum"
TABLE_HOST_CPU_INFO = "CpuInfo"
TABLE_HOST_CPU_USAGE = "CpuUsage"
TABLE_HOST_DISK_USAGE = "DiskUsage"
TABLE_HOST_MEM_USAGE = "MemUsage"
TABLE_HOST_NETWORK_USAGE = "NetworkUsage"
TABLE_HOST_PROCESS_USAGE = "ProcessUsage"
TABLE_HOST_RUNTIME_API = "Syscall"
TABLE_ACSQ_TASK = "AcsqTask"
TABLE_ACSQ_TASK_TIME = "AcsqTaskTime"
TABLE_THREAD_TASK = "ThreadTime"
TABLE_SUBTASK_TIME = "SubtaskTime"
TABLE_L2CACHE_PARSE = 'L2CacheParse'
TABLE_L2CACHE_SAMPLE = 'L2CacheSample'
TABLE_L2CACHE_SUMMARY = 'L2CacheSummary'
TABLE_BLOCK_LOG = "BlockLog"
TABLE_SOC_PMU = "SocPmu"
TABLE_SOC_PMU_SUMMARY = "SocPmuSummary"
TABLE_DVPP_ORIGIN = "DvppOriginalData"
TABLE_DVPP_REPORT = "DvppReportData"
TABLE_DVPP_TREE = "DvppTreeData"
TABLE_NIC_ORIGIN = 'NicOriginalData'
TABLE_NIC_REPORT = 'NicReportData'
TABLE_NIC_RECEIVE = 'NicReceiveSend'
TABLE_ROCE_ORIGIN = 'RoceOriginalData'
TABLE_ROCE_REPORT = 'RoceReportData'
TABLE_ROCE_RECEIVE = 'RoceReceiveSend'
TABLE_TSCPU_ORIGIN = "TsOriginalData"
TABLE_DDR_ORIGIN = "DDROriginalData"
TABLE_DDR_METRIC = "DDRMetricData"
TABLE_SYS_MEM = "sysmem"
TABLE_PID_MEM = "pidmem"
TABLE_SYS_USAGE = "SysCpuUsage"
TABLE_PID_USAGE = "ProCpuUsage"
TABLE_PCIE = "PcieOriginalData"
TABLE_HBM_ORIGIN = "HBMOriginalData"
TABLE_HBM_BW = "HBMbwData"
TABLE_QOS_BW = "QosBwData"
TABLE_HCCS_ORIGIN = 'HCCSOriginalData'
TABLE_HCCS_EVENTS = 'HCCSEventsData'
TABLE_UB_BW = "UBBwData"
TABLE_LLC_ORIGIN = "LLCOriginalData"
TABLE_LLC_EVENTS = "LLCEvents"
TABLE_LLC_METRICS = "LLCMetrics"
TABLE_MINI_LLC_METRICS = "LLCMetricData"
TABLE_LLC_CAPACITY = "LLCCapacity"
TABLE_LLC_BANDWIDTH = "LLCBandwidth"
TABLE_CPU_ORIGIN = "OriginalData"
TABLE_TS_CPU_EVENT = "EventCount"
TABLE_TS_CPU_HOT_INS = "HotIns"
TABLE_MSPROFTX = "MsprofTx"
TABLE_MSPROFTX_EX = "MsprofTxEx"
TABLE_PCIE_DATA = "PcieData"
TABLE_ACC_PMU_DATA = "AccPmu"
TABLE_ACC_PMU_ORIGIN_DATA = "AccPmuOrigin"
TABLE_LPE_DATA = 'Lpe'
TABLE_LPS_DATA = "Lps"
TABLE_SOC_DATA = "InterSoc"
TABLE_STARS_DATA = "StarsMessage"
TABLE_FFTS_LOG = "FftsLog"
TABLE_STARS_PA_LINK = "PaLinkInfo"
TABLE_STARS_PCIE = "PcieInfo"
TABLE_STARS_PCIE_V6 = "PcieInfoV6"
TABLE_LOWPOWER = "LowPower"
TABLE_SIO = "Sio"
TABLE_GE_TASK = "TaskInfo"
TABLE_GE_SESSION = "SessionInfo"
TABLE_GE_HASH = "GeHashInfo"
TABLE_TYPE_HASH = "TypeHashInfo"
TABLE_GE_FUSION_OP_INFO = "GeFusionOpInfo"
TABLE_MODEL_NAME = "ModelName"
TABLE_FLOW_MONITOR = "MonitorFlow"
TABLE_CYCLES_MONITOR = "MonitorCycles"
TABLE_BIU_FLOW = "BiuFlow"
TABLE_BIU_CYCLES = "BiuCycles"
TABLE_BIU_DATA = "OriBiuData"
TABLE_BIU_INSTR_STATUS = "BiuInstrStatus"
TABLE_CLUSTER_RANK = "ClusterRank"
TABLE_DATA_QUEUE = "DataQueue"
TABLE_HCCL_OPERATOR_EXE = "HcclOperatorExe"
TABLE_PARALLEL_STRATEGY = "ParallelStrategy"
TABLE_HCCL_OPERATOR_OVERLAP = "HcclOperatorOverlap"
TABLE_COMPUTATION_TIME = "ComputationTime"
TABLE_CLUSTER_DATA_PARALLEL = "ClusterDataParallel"
TABLE_CLUSTER_MODEL_PARALLEL = "ClusterModelParallel"
TABLE_CLUSTER_PIPELINE_PARALLEL = "ClusterPipelineParallel"
TABLE_CLUSTER_PARALLEL_STRATEGY = "ClusterParallelStrategy"
TABLE_HOST_QUEUE = "HostQueue"
TABLE_CCU_MISSION = "OriginMission"
TABLE_CCU_CHANNEL = "OriginChannel"
TABLE_CCU_TASK_INFO = "CCUTaskInfo"
TABLE_CCU_WAIT_SIGNAL_INFO = "CCUWaitSignalInfo"
TABLE_CCU_GROUP_INFO = "CCUGroupInfo"
TABLE_NPU_MEM = "NpuMem"
TABLE_NPU_MODULE_MEM = "NpuModuleMem"
TABLE_NPU_OP_MEM_RAW = "NpuOpMemRaw"
TABLE_NPU_OP_MEM = "NpuOpMem"
TABLE_NPU_OP_MEM_REC = "NpuOpMemRec"
TABLE_TORCH_TO_ACL = "TorchAclRelation"
TABLE_TORCH_TO_NPU = "TorchNpuRelation"
TABLE_FREQ_PARSE = "FreqParse"
TABLE_AIC_VOLTAGE = "AicVoltage"
TABLE_BUS_VOLTAGE = "BusVoltage"
TABLE_API_DATA = 'ApiData'
TABLE_EVENT_DATA = 'EventData'
TABLE_HCCL_INFO_DATA = 'HcclInfoData'
TABLE_MULTI_THREAD_DATA = 'MultiThreadData'
TABLE_TENSOR_ADD_INFO = "TensorInfoV2"
TABLE_NODE_BASIC_INFO = "NodeBasicInfo"
TABLE_FUSION_ADD_INFO = "FusionOPInfo"
TABLE_GRAPH_ADD_INFO = "GraphIdMap"
TABLE_CTX_ID_ADD_INFO = "CtxId"
TABLE_CTX_ID = "CtxId"
TABLE_STATIC_OP_MEM = "StaticOpMem"
TABLE_MEMORY_APPLICATION = "MemoryApplication"
TABLE_HCCL_OP = "HCCLOP"
TABLE_HCCL_TASK = "HCCLTask"
TABLE_HOST_TASK = "HostTask"
TABLE_ASCEND_TASK = "AscendTask"
TABLE_NODE_ATTR_INFO = "NodeAttrInfo"
TABLE_HCCL_OP_INFO = "HcclOpInfo"
TABLE_STREAM_EXPAND_SPEC = "StreamExpandSpec"
TABLE_DPU_TASK_TRACK = "DPUTaskTrack"
TABLE_DPU_HCCL_TRACK = 'DPUHcclTrack'
TABLE_V5_TASK = "V5Task"
TABLE_HOST_TASK_FLIP = "HostTaskFlip"
TABLE_DEVICE_TASK_FLIP = "DeviceTaskFlip"
TABLE_COMM_ANALYZER_TIME = "CommAnalyzerTime"
TABLE_COMM_ANALYZER_BAND = "CommAnalyzerBandwidth"
TABLE_COMM_ANALYZER_MATRIX = "CommAnalyzerMatrix"
TABLE_MC2_COMM_INFO = "Mc2CommInfo"
TABLE_KFC_INFO = "KfcInfo"
TABLE_KFC_COMM_TURN = "KfcCommTurn"
TABLE_KFC_COMPUTE_TURN = "KfcComputeTurn"
TABLE_KFC_OP = "KfcOP"
TABLE_KFC_TASK = "KfcTask"
TABLE_DEVICE_HCCL_OP_INFO = "DeviceHcclOpInfo"
TABLE_AICPU_TASK_FLIP = "AicpuTaskFlip"
TABLE_AICPU_MASTER_STREAM_HCCL_TASK = "AicpuMasterStreamHcclTask"
TABLE_NETDEV_STATS_ORIGIN = 'NetDevStatsOriginalData'
TABLE_FUSION_TASK = "FusionTask"
@abstractmethod
def get_db_name(self: any) -> str:
"""
get db name
:return: db name
"""
@abstractmethod
def get_table_name(self: any) -> str:
"""
get table name
:return: table name
"""