diff --git a/app/benchmark_internal_test.go b/app/benchmark_internal_test.go index 537883b3c..40daacbd5 100644 --- a/app/benchmark_internal_test.go +++ b/app/benchmark_internal_test.go @@ -5,9 +5,6 @@ import ( "net/http" "net/url" "testing" - "time" - - "golang.org/x/net/context" "github.com/weaveworks/scope/render" "github.com/weaveworks/scope/report" @@ -15,22 +12,9 @@ import ( ) var ( - benchReportFile = flag.String("bench-report-file", "", "json report file to use for benchmarking (relative to this package)") + benchReportFile = flag.String("bench-report-file", "", "report file to use for benchmarking (relative to this package)") ) -func loadReport() (report.Report, error) { - if *benchReportFile == "" { - return fixture.Report, nil - } - - c, err := NewFileCollector(*benchReportFile, 0) - if err != nil { - return fixture.Report, err - } - - return c.Report(context.Background(), time.Now()) -} - func BenchmarkTopologyList(b *testing.B) { benchmarkRender(b, func(report report.Report) { request := &http.Request{ @@ -41,17 +25,22 @@ func BenchmarkTopologyList(b *testing.B) { } func benchmarkRender(b *testing.B, f func(report.Report)) { - report, err := loadReport() - if err != nil { - b.Fatal(err) + r := fixture.Report + if *benchReportFile != "" { + var err error + if r, err = report.MakeFromFile(*benchReportFile); err != nil { + b.Fatal(err) + } } + b.ReportAllocs() b.ResetTimer() + for i := 0; i < b.N; i++ { b.StopTimer() render.ResetCache() b.StartTimer() - f(report) + f(r) } }