From 6d6c1b28224c181f0925bf0d5ce169a830d3dad7 Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Thu, 6 Feb 2025 18:05:26 -0500 Subject: [PATCH] Fixes splunk uploads (#1621) --- tools/flakeguard/reports/io.go | 11 +++++------ tools/flakeguard/reports/io_test.go | 2 ++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/tools/flakeguard/reports/io.go b/tools/flakeguard/reports/io.go index 1ed5687c6..b2cd284de 100644 --- a/tools/flakeguard/reports/io.go +++ b/tools/flakeguard/reports/io.go @@ -480,9 +480,6 @@ func aggregate(reportChan <-chan *TestReport, errChan <-chan error, opts *aggreg fullReport.SelectedTests = append(fullReport.SelectedTests, test) } - // Get the report without any results to send to splunk - splunkReport := *fullReport - // Prepare final results var ( aggregatedResults []TestResult @@ -497,14 +494,16 @@ func aggregate(reportChan <-chan *TestReport, errChan <-chan error, opts *aggreg GenerateSummaryData(fullReport) if sendToSplunk { - err = sendDataToSplunk(opts, splunkReport, aggregatedResults...) + err = sendDataToSplunk(opts, *fullReport) } return fullReport, err } // sendDataToSplunk sends a truncated TestReport and each individual TestResults to Splunk as events -func sendDataToSplunk(opts *aggregateOptions, report TestReport, results ...TestResult) error { +func sendDataToSplunk(opts *aggregateOptions, report TestReport) error { start := time.Now() + results := report.Results + report.Results = nil // Don't send results to Splunk, doing that individually // Dry-run mode for example runs isExampleRun := strings.Contains(opts.splunkURL, "splunk.example.com") @@ -515,7 +514,7 @@ func sendDataToSplunk(opts *aggregateOptions, report TestReport, results ...Test SetHeader("Content-Type", "application/json"). SetLogger(ZerologRestyLogger{}) - log.Debug().Str("report id", report.ID).Int("results", len(results)).Msg("Sending aggregated data to Splunk") + log.Debug().Str("report id", report.ID).Int("results", len(report.Results)).Msg("Sending aggregated data to Splunk") var ( splunkErrs = []error{} diff --git a/tools/flakeguard/reports/io_test.go b/tools/flakeguard/reports/io_test.go index bdb951da0..3dfbef0b7 100644 --- a/tools/flakeguard/reports/io_test.go +++ b/tools/flakeguard/reports/io_test.go @@ -46,6 +46,8 @@ func TestAggregateResultFilesSplunk(t *testing.T) { require.Equal(t, splunkEvent, report.Event.Event, "event mismatch") require.Equal(t, reportID, report.Event.Data.ID, "report ID mismatch") require.False(t, report.Event.Incomplete, "report should not be incomplete") + require.NotNil(t, report.Event.Data.SummaryData, "report summary data is nil") + require.Len(t, report.Event.Data.Results, 0, "shouldn't send all result data to splunk") reportRequestsReceived++ } else { results, err := unBatchSplunkResults(bodyBytes)