from __future__ import annotations import importlib.util from pathlib import Path _CONTRACT_PATH = ( Path(__file__).resolve().parents[5] / 'diagnosis' / 'tikv-slow-diagnosis' / 'evaluation' / 'contract.py' ) _SPEC = importlib.util.spec_from_file_location('tikv_slow_evaluation_contract', _CONTRACT_PATH) if _SPEC is None or _SPEC.loader is None: raise RuntimeError(f'failed to load tikv-slow evaluator contract from {_CONTRACT_PATH}') _MODULE = importlib.util.module_from_spec(_SPEC) _SPEC.loader.exec_module(_MODULE) PROFILE_NAME = _MODULE.PROFILE_NAME DEFAULT_SOURCE = _MODULE.DEFAULT_SOURCE DEFAULT_TIME_RANGE = _MODULE.DEFAULT_TIME_RANGE DEFAULT_ASSIGNEE = _MODULE.DEFAULT_ASSIGNEE DEFAULT_SAMPLE_SIZE = _MODULE.DEFAULT_SAMPLE_SIZE DEFAULT_STATUS = _MODULE.DEFAULT_STATUS DEFAULT_PAGE_SIZE = _MODULE.DEFAULT_PAGE_SIZE DEFAULT_CLINIC_ONLY = _MODULE.DEFAULT_CLINIC_ONLY DEFAULT_IGNORE_GRAFANA_ONLY = _MODULE.DEFAULT_IGNORE_GRAFANA_ONLY FOCUS_KEYWORDS = _MODULE.FOCUS_KEYWORDS NEGATIVE_KEYWORDS = _MODULE.NEGATIVE_KEYWORDS REPLAY_ENTRY_MODES = _MODULE.REPLAY_ENTRY_MODES ALLOWED_REFERENCE_FILES = _MODULE.ALLOWED_REFERENCE_FILES MERGE_READINESS_VALUES = _MODULE.MERGE_READINESS_VALUES MATCH_LEVEL_VALUES = _MODULE.MATCH_LEVEL_VALUES FINAL_HUMAN_CONCLUSION_STATUS_VALUES = _MODULE.FINAL_HUMAN_CONCLUSION_STATUS_VALUES MISMATCH_TYPES = _MODULE.MISMATCH_TYPES SKILL_CONCLUSION_FIELDS = _MODULE.SKILL_CONCLUSION_FIELDS