@@ -173,18 +173,8 @@ def display_reports(project: str | None, selected_run: str | None):
173173 gr .Markdown (report .content )
174174
175175 gr .Markdown ("## Alerts" )
176- alerts_placeholder = gr .Markdown (visible = False )
177- alerts_df = gr .Dataframe (
178- value = pd .DataFrame (),
179- label = "Alerts" ,
180- interactive = False ,
181- wrap = True ,
182- )
183-
184- def refresh_alerts (project , selected_run , level_filter ):
185- df = load_alerts (project , run_name = selected_run , level_filter = level_filter )
186- if df .empty :
187- placeholder_text = """
176+ alerts_placeholder = gr .Markdown (
177+ """
188178No alerts have been logged yet. To log alerts during training:
189179
190180```python
@@ -198,10 +188,21 @@ def refresh_alerts(project, selected_run, level_filter):
198188trackio.alert("NaN loss", text="Training diverged at step 500", level="error")
199189```
200190"""
201- return (
202- gr .Markdown (value = placeholder_text , visible = True ),
203- gr .Dataframe (value = df , visible = False , label = "Alerts (0)" ),
204- )
191+ )
192+ alerts_df = gr .Dataframe (
193+ value = pd .DataFrame (),
194+ label = "Alerts" ,
195+ interactive = False ,
196+ wrap = True ,
197+ visible = False ,
198+ )
199+
200+ def refresh_alerts (project , selected_run , level_filter , current_df ):
201+ df = load_alerts (project , run_name = selected_run , level_filter = level_filter )
202+ if df .equals (current_df ):
203+ return gr .skip (), gr .skip ()
204+ if df .empty :
205+ return gr .Markdown (visible = True ), gr .Dataframe (value = df , visible = False )
205206 return (
206207 gr .Markdown (visible = False ),
207208 gr .Dataframe (value = df , visible = True , label = f"Alerts ({ len (df )} )" ),
@@ -210,7 +211,7 @@ def refresh_alerts(project, selected_run, level_filter):
210211 gr .on (
211212 [timer .tick , reports_page .load , runs_dropdown .change , level_filter_cb .change ],
212213 fn = refresh_alerts ,
213- inputs = [project_dd , runs_dropdown , level_filter_cb ],
214+ inputs = [project_dd , runs_dropdown , level_filter_cb , alerts_df ],
214215 outputs = [alerts_placeholder , alerts_df ],
215216 show_progress = "hidden" ,
216217 api_visibility = "private" ,
0 commit comments