diagnose(trajectory): add diagnostics to identify why trace_count is 0
This commit is contained in:
+31
@@ -19,6 +19,7 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import traceback
|
import traceback
|
||||||
|
from datetime import datetime
|
||||||
from typing import Dict, List, Optional, Tuple
|
from typing import Dict, List, Optional, Tuple
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -2096,6 +2097,36 @@ def choose_trajectory_title(axis_def: dict, axis: str, threshold: float = 0.65)
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
debug_enabled = get_debug_trajectories_enabled()
|
debug_enabled = get_debug_trajectories_enabled()
|
||||||
|
# Add detailed diagnostics to understand why trace_count is 0
|
||||||
|
if trace_count == 0:
|
||||||
|
_last_trajectories_diagnostics.update(
|
||||||
|
{
|
||||||
|
"stage": "zero_traces",
|
||||||
|
"positions_count": sum(len(pos) for pos in positions_by_window.values())
|
||||||
|
if positions_by_window
|
||||||
|
else 0,
|
||||||
|
"party_map_count": len(party_map) if party_map else 0,
|
||||||
|
"centroids_count": len(centroids) if centroids else 0,
|
||||||
|
"selected_parties_count": len(selected_parties)
|
||||||
|
if selected_parties
|
||||||
|
else 0,
|
||||||
|
"timestamp": datetime.now().isoformat(),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
# Check if there are positions but no centroids (name mismatch)
|
||||||
|
if positions_by_window and party_map and not centroids:
|
||||||
|
# Sample some MP names from positions
|
||||||
|
sample_mps = []
|
||||||
|
for window, positions in list(positions_by_window.items())[:1]:
|
||||||
|
sample_mps = list(positions.keys())[:5]
|
||||||
|
break
|
||||||
|
# Check if these MPs are in party_map
|
||||||
|
matched = sum(1 for mp in sample_mps if mp in party_map)
|
||||||
|
_last_trajectories_diagnostics["name_match_check"] = {
|
||||||
|
"sample_mps": sample_mps,
|
||||||
|
"matched_in_party_map": matched,
|
||||||
|
"sample_size": len(sample_mps),
|
||||||
|
}
|
||||||
if trace_count == 0:
|
if trace_count == 0:
|
||||||
try:
|
try:
|
||||||
st.info(
|
st.info(
|
||||||
|
|||||||
Reference in New Issue
Block a user