fix: harden single-machine load handling
This commit is contained in:
@@ -38,6 +38,8 @@ type CombinedReport struct {
|
||||
OutOfOrder int64 `json:"out_of_order"`
|
||||
OrderingViolations []OrderingViolation `json:"ordering_violations,omitempty"`
|
||||
Disconnects int64 `json:"disconnects"`
|
||||
DisconnectReasons map[string]int64 `json:"disconnect_reasons,omitempty"`
|
||||
DisconnectSamples []DisconnectSample `json:"disconnect_samples,omitempty"`
|
||||
UnexpectedMessages int64 `json:"unexpected_messages"`
|
||||
HistoryChecked int64 `json:"history_checked"`
|
||||
HistoryFound int64 `json:"history_found"`
|
||||
@@ -62,7 +64,7 @@ func runMerge(aPath, bPath, output string) error {
|
||||
return fmt.Errorf("agent summaries do not belong to the same run")
|
||||
}
|
||||
report := CombinedReport{RunID: a.RunID, Scenario: a.Scenario, GeneratedAt: time.Now().UTC(), Agents: []AgentSummary{a, b}, Passed: true,
|
||||
PublishErrors: make(map[string]int64)}
|
||||
PublishErrors: make(map[string]int64), DisconnectReasons: make(map[string]int64)}
|
||||
for _, summary := range report.Agents {
|
||||
expectedConnections := summary.ExpectedConnections
|
||||
if expectedConnections == 0 {
|
||||
@@ -92,6 +94,15 @@ func runMerge(aPath, bPath, output string) error {
|
||||
report.OutOfOrder += summary.OutOfOrder
|
||||
report.OrderingViolations = append(report.OrderingViolations, summary.OrderingViolations...)
|
||||
report.Disconnects += summary.Disconnects
|
||||
for category, count := range summary.DisconnectReasons {
|
||||
report.DisconnectReasons[category] += count
|
||||
}
|
||||
if remaining := 100 - len(report.DisconnectSamples); remaining > 0 {
|
||||
if remaining > len(summary.DisconnectSamples) {
|
||||
remaining = len(summary.DisconnectSamples)
|
||||
}
|
||||
report.DisconnectSamples = append(report.DisconnectSamples, summary.DisconnectSamples[:remaining]...)
|
||||
}
|
||||
report.UnexpectedMessages += summary.UnexpectedMessages
|
||||
report.HistoryChecked += summary.HistoryChecked
|
||||
report.HistoryFound += summary.HistoryFound
|
||||
|
||||
Reference in New Issue
Block a user