diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2021-11-25 17:55:58 +0000 |
|---|---|---|
| committer | Aleksandr Nogikh <wp32pw@gmail.com> | 2021-12-06 14:29:36 +0100 |
| commit | 9fca97cadd2e63056f40e69d80ca1e798b2a18e8 (patch) | |
| tree | 6e6ae13406cd08aa46785cfdea86c6b00ae5465e /tools/syz-testbed/testbed.go | |
| parent | 1ba1043eb4dc79008b7138f2fc04e136e2f796a3 (diff) | |
tools/syz-testbed: introduce a special type for table
This simplifies table generation and will let us more easily implement
relative difference and p-value calculation and printing.
Diffstat (limited to 'tools/syz-testbed/testbed.go')
| -rw-r--r-- | tools/syz-testbed/testbed.go | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/tools/syz-testbed/testbed.go b/tools/syz-testbed/testbed.go index dee9ffc73..192784763 100644 --- a/tools/syz-testbed/testbed.go +++ b/tools/syz-testbed/testbed.go @@ -163,8 +163,7 @@ func (ctx *TestbedContext) saveStatView(view StatView) error { if err != nil { return fmt.Errorf("failed to create %s: %s", benchDir, err) } - - tableStats := map[string]func(view StatView) ([][]string, error){ + tableStats := map[string]func(view StatView) (*Table, error){ "bugs.csv": (StatView).GenerateBugTable, "checkout_stats.csv": (StatView).StatsTable, "instance_stats.csv": (StatView).InstanceStatsTable, @@ -172,30 +171,27 @@ func (ctx *TestbedContext) saveStatView(view StatView) error { for fileName, genFunc := range tableStats { table, err := genFunc(view) if err == nil { - SaveTableAsCsv(table, filepath.Join(dir, fileName)) + table.SaveAsCsv(filepath.Join(dir, fileName)) } else { - log.Printf("some error: %s", err) + log.Printf("stat generation error: %s", err) } } _, err = view.SaveAvgBenches(benchDir) return err } -func (ctx *TestbedContext) TestbedStatsTable() [][]string { - table := [][]string{ - {"Checkout", "Running", "Completed", "Until reset"}, - } +func (ctx *TestbedContext) TestbedStatsTable() *Table { + table := NewTable("Checkout", "Running", "Completed", "Until reset") for _, checkout := range ctx.Checkouts { until := "-" if ctx.NextRestart.After(time.Now()) { until = time.Until(ctx.NextRestart).Round(time.Second).String() } - table = append(table, []string{ - checkout.Name, + table.AddRow(checkout.Name, fmt.Sprintf("%d", len(checkout.Running)), fmt.Sprintf("%d", len(checkout.Completed)), until, - }) + ) } return table } @@ -215,7 +211,7 @@ func (ctx *TestbedContext) SaveStats() error { } } table := ctx.TestbedStatsTable() - return SaveTableAsCsv(table, filepath.Join(ctx.Config.Workdir, "testbed.csv")) + return table.SaveAsCsv(filepath.Join(ctx.Config.Workdir, "testbed.csv")) } func (ctx *TestbedContext) generateInstances(count int) ([]*Instance, error) { |
