Skip to content

Commit 935f19c

Browse files
committed
fix
Signed-off-by: pipiland2612 <[email protected]>
1 parent bb2c9b6 commit 935f19c

File tree

1 file changed

+67
-1
lines changed

1 file changed

+67
-1
lines changed

scripts/e2e/metrics_summary.py

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,31 @@ def extract_metric_name(line):
7979
return line.split('{')[0].strip()
8080
return line.strip()
8181

82+
def get_sample_lines(samples, max_lines=5):
83+
"""
84+
Get sample lines from metric changes, limiting to max_lines.
85+
Returns formatted sample lines for display.
86+
"""
87+
sample_lines = []
88+
line_count = 0
89+
90+
for sample in samples[:3]: # Take first 3 samples to avoid too much output
91+
lines = sample.split('\n')
92+
for line in lines:
93+
if line_count >= max_lines:
94+
if len(samples) > 3 or any(len(s.split('\n')) > max_lines for s in samples):
95+
sample_lines.append(" ...")
96+
break
97+
sample_lines.append(f" {line}")
98+
line_count += 1
99+
if line_count >= max_lines:
100+
break
101+
102+
return sample_lines
103+
82104
def generate_diff_summary(changes):
83105
"""
84-
Generates a markdown summary from the parsed diff changes.
106+
Generates a markdown summary from the parsed diff changes with sample lines.
85107
"""
86108
summary = ["## 📊 Metrics Diff Summary\n"]
87109

@@ -100,12 +122,30 @@ def generate_diff_summary(changes):
100122
summary.append("\n### 🆕 Added Metrics")
101123
for metric, samples in changes['added'].items():
102124
summary.append(f"- `{metric}` ({len(samples)} variants)")
125+
sample_lines = get_sample_lines(samples)
126+
if sample_lines:
127+
summary.append("<details>")
128+
summary.append("<summary>View samples</summary>")
129+
summary.append("")
130+
summary.append("```")
131+
summary.extend(sample_lines)
132+
summary.append("```")
133+
summary.append("</details>")
103134

104135
# Removed metrics
105136
if changes['removed']:
106137
summary.append("\n### ❌ Removed Metrics")
107138
for metric, samples in changes['removed'].items():
108139
summary.append(f"- `{metric}` ({len(samples)} variants)")
140+
sample_lines = get_sample_lines(samples)
141+
if sample_lines:
142+
summary.append("<details>")
143+
summary.append("<summary>View samples</summary>")
144+
summary.append("")
145+
summary.append("```")
146+
summary.extend(sample_lines)
147+
summary.append("```")
148+
summary.append("</details>")
109149

110150
# Modified metrics
111151
if changes['modified']:
@@ -115,6 +155,32 @@ def generate_diff_summary(changes):
115155
summary.append(f" - Added variants: {len(versions['added'])}")
116156
summary.append(f" - Removed variants: {len(versions['removed'])}")
117157

158+
# Show samples of added variants
159+
if versions['added']:
160+
added_samples = get_sample_lines(versions['added'], max_lines=3)
161+
if added_samples:
162+
summary.append(" - Sample added:")
163+
summary.append(" <details>")
164+
summary.append(" <summary>View added samples</summary>")
165+
summary.append("")
166+
summary.append(" ```")
167+
summary.extend([f" {line}" for line in added_samples])
168+
summary.append(" ```")
169+
summary.append(" </details>")
170+
171+
# Show samples of removed variants
172+
if versions['removed']:
173+
removed_samples = get_sample_lines(versions['removed'], max_lines=3)
174+
if removed_samples:
175+
summary.append(" - Sample removed:")
176+
summary.append(" <details>")
177+
summary.append(" <summary>View removed samples</summary>")
178+
summary.append("")
179+
summary.append(" ```")
180+
summary.extend([f" {line}" for line in removed_samples])
181+
summary.append(" ```")
182+
summary.append(" </details>")
183+
118184
return "\n".join(summary)
119185

120186
def main():

0 commit comments

Comments
 (0)