feat(stage): log stage detail
This commit is contained in:
		
							parent
							
								
									b80431c624
								
							
						
					
					
						commit
						d51fb9f35d
					
				|  | @ -224,3 +224,14 @@ type StageResult struct { | ||||||
| 	Results   NonNullSlice[ParserResult] `json:"results"` | 	Results   NonNullSlice[ParserResult] `json:"results"` | ||||||
| 	ForceQuit bool                       `json:"force_quit"` | 	ForceQuit bool                       `json:"force_quit"` | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | type CaseDetail struct { | ||||||
|  | 	Index          int | ||||||
|  | 	ExecutorResult ExecutorResult | ||||||
|  | 	ParserScores   map[string]int | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type StageDetail struct { | ||||||
|  | 	Name        string | ||||||
|  | 	CaseDetails []CaseDetail | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -64,9 +64,13 @@ func Run(stages []Stage) ( | ||||||
| 			"summary", SummarizeExecutorResults(executorResults), | 			"summary", SummarizeExecutorResults(executorResults), | ||||||
| 		) | 		) | ||||||
| 		parserResults = []ParserResult{} | 		parserResults = []ParserResult{} | ||||||
|  | 		stageDetail := StageDetail{ | ||||||
|  | 			Name:        stage.Name, | ||||||
|  | 			CaseDetails: make([]CaseDetail, len(executorResults)), | ||||||
|  | 		} | ||||||
| 		parserScoresMap := map[string][]int{} | 		parserScoresMap := map[string][]int{} | ||||||
| 		for _, stageParser := range stage.Parsers { | 		for _, parser := range stage.Parsers { | ||||||
| 			parserScoresMap[stageParser.Name] = make([]int, len(executorResults)) | 			parserScoresMap[parser.Name] = make([]int, len(executorResults)) | ||||||
| 		} | 		} | ||||||
| 		for _, stageParser := range stage.Parsers { | 		for _, stageParser := range stage.Parsers { | ||||||
| 			slog.Info( | 			slog.Info( | ||||||
|  | @ -129,12 +133,23 @@ func Run(stages []Stage) ( | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 		for i := range executorResults { | ||||||
|  | 			caseDetail := CaseDetail{ | ||||||
|  | 				Index:          i, | ||||||
|  | 				ExecutorResult: executorResults[i], | ||||||
|  | 				ParserScores:   make(map[string]int), | ||||||
|  | 			} | ||||||
|  | 			for name, scores := range parserScoresMap { | ||||||
|  | 				caseDetail.ParserScores[name] = scores[i] | ||||||
|  | 			} | ||||||
|  | 			stageDetail.CaseDetails[i] = caseDetail | ||||||
|  | 		} | ||||||
| 		stageResults = append(stageResults, StageResult{ | 		stageResults = append(stageResults, StageResult{ | ||||||
| 			Name:      stage.Name, | 			Name:      stage.Name, | ||||||
| 			Results:   parserResults, | 			Results:   parserResults, | ||||||
| 			ForceQuit: forceQuitStageName != "", | 			ForceQuit: forceQuitStageName != "", | ||||||
| 		}) | 		}) | ||||||
| 		slog.Debug("stage done", "name", stage.Name, "parserScoresMap", parserScoresMap) | 		slog.Debug("stage done", "name", stage.Name, "stageDetail", stageDetail) | ||||||
| 		if forceQuitStageName != "" { | 		if forceQuitStageName != "" { | ||||||
| 			break | 			break | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user