1313sys .path .append (str (project_root ))
1414
1515from components .header import render_header
16- from utils .data_loader import InfiniMetricsDataLoader , load_summary_file
16+ from utils .data_loader import InfiniMetricsDataLoader
17+ from common import show_data_source_info
1718
1819# Page configuration
1920st .set_page_config (
2829 st .session_state .data_loader = InfiniMetricsDataLoader ()
2930if "selected_accelerators" not in st .session_state :
3031 st .session_state .selected_accelerators = []
32+ if "use_mongodb" not in st .session_state :
33+ st .session_state .use_mongodb = False
3134
3235
3336def main ():
@@ -40,11 +43,34 @@ def main():
4043 with st .sidebar :
4144 st .markdown ("## ⚙️ 设置" )
4245
46+ # Data source selection
47+ use_mongodb = st .toggle (
48+ "使用 MongoDB" ,
49+ value = st .session_state .use_mongodb ,
50+ help = "切换到 MongoDB 数据源(需要 MongoDB 服务运行中)" ,
51+ )
52+
53+ if use_mongodb != st .session_state .use_mongodb :
54+ st .session_state .use_mongodb = use_mongodb
55+ if use_mongodb :
56+ st .session_state .data_loader = InfiniMetricsDataLoader (
57+ use_mongodb = True , fallback_to_files = True
58+ )
59+ else :
60+ st .session_state .data_loader = InfiniMetricsDataLoader ()
61+
62+ # Show current data source
63+ show_data_source_info (style = "sidebar" )
64+
65+ st .markdown ("---" )
66+
4367 results_dir = st .text_input (
44- "测试结果目录" , value = "./test_output " , help = "包含 JSON/CSV 测试结果的目录"
68+ "测试结果目录" , value = "../output " , help = "包含 JSON/CSV 测试结果的目录"
4569 )
4670
47- if results_dir != str (st .session_state .data_loader .results_dir ):
71+ if not use_mongodb and results_dir != str (
72+ st .session_state .data_loader .results_dir
73+ ):
4874 st .session_state .data_loader = InfiniMetricsDataLoader (results_dir )
4975
5076 auto_refresh = st .toggle ("自动刷新" , value = False )
@@ -103,8 +129,9 @@ def render_dashboard(run_id_filter: str):
103129 <strong>InfiniMetrics Dashboard</strong> 用于统一展示
104130 <strong>通信(NCCL / 集合通信)</strong>、
105131 <strong>训练(Training / 分布式训练)</strong>、
106- <strong>推理(Direct / Service 推理)</strong>、
107- <strong>算子(核心算子性能)</strong>
132+ <strong>推理(直接推理 / 服务性能)</strong>、
133+ <strong>算子(核心算子性能)</strong>、
134+ <strong>硬件(内存带宽 / 缓存性能)</strong>
108135 等 AI 加速卡性能测试结果。
109136 <br/>
110137 测试框架输出 <code>JSON</code>(环境 / 配置 / 标量指标) +
@@ -247,10 +274,10 @@ def _latest(lst):
247274 st .dataframe (df , use_container_width = True , hide_index = True )
248275
249276 # ========== Dispatcher summary ==========
250- summaries = load_summary_file ()
277+ summaries = st . session_state . data_loader . load_summaries ()
251278
252279 if not summaries :
253- st .info ("No dispatcher_summary file found " )
280+ st .info ("未找到 Dispatcher 汇总记录 " )
254281 return
255282
256283 st .markdown ("### 🧾 Dispatcher 汇总记录" )
0 commit comments