const ( ExecutionTimeout = five * time.Minute StandardRuntime = time.Minute MinimumRuntime = five * time.Second MinIterations = hundred )
func BSONDeepDocumentDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONDeepDocumentDecodingLazy(_ context.Context, tm TimerManager, iters int) error
func BSONDeepDocumentEncoding(_ context.Context, tm TimerManager, iters int) error
func BSONDeepMapDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONDeepMapEncoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatDocumentDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatDocumentDecodingLazy(_ context.Context, tm TimerManager, iters int) error
func BSONFlatDocumentEncoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatMapDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatMapEncoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatStructDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatStructEncoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatStructTagsDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONFlatStructTagsEncoding(_ context.Context, tm TimerManager, iters int) error
func BSONFullDocumentDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONFullDocumentDecodingLazy(_ context.Context, tm TimerManager, iters int) error
func BSONFullDocumentEncoding(_ context.Context, tm TimerManager, iters int) error
func BSONFullMapDecoding(_ context.Context, tm TimerManager, iters int) error
func BSONFullMapEncoding(_ context.Context, tm TimerManager, iters int) error
func CanaryIncCase(context.Context, TimerManager, int) error
CanaryIncCase is a no-op.
Deprecated: CanaryIncCase has no observable effect, so recent versions of the Go compiler may bypass calls to it in the compiled binary. It should not be used in benchmarks.
func DriverBenchmarkMain() int
func GlobalCanaryIncCase(context.Context, TimerManager, int) error
GlobalCanaryIncCase is a no-op.
Deprecated: GlobalCanaryIncCase has no observable effect, so recent versions of the Go compiler may bypass calls to it in the compiled binary. It should not be used in benchmarks.
func MultiFindMany(ctx context.Context, tm TimerManager, iters int) error
func MultiInsertLargeDocument(ctx context.Context, tm TimerManager, iters int) error
func MultiInsertSmallDocument(ctx context.Context, tm TimerManager, iters int) error
func SingleFindOneByID(ctx context.Context, tm TimerManager, iters int) error
func SingleInsertLargeDocument(ctx context.Context, tm TimerManager, iters int) error
func SingleInsertSmallDocument(ctx context.Context, tm TimerManager, iters int) error
func SingleRunCommand(ctx context.Context, tm TimerManager, iters int) error
type BenchCase func(context.Context, TimerManager, int) error
type BenchFunction func(*testing.B)
func WrapCase(bench BenchCase) BenchFunction
type BenchResult struct { Name string Trials int Duration time.Duration Raw []Result DataSize int Operations int // contains filtered or unexported fields }
func (r *BenchResult) EvergreenPerfFormat() ([]interface{}, error)
func (r *BenchResult) HasErrors() bool
func (r *BenchResult) String() string
type CaseDefinition struct { Bench BenchCase Count int Size int RequiredIterations int Runtime time.Duration // contains filtered or unexported fields }
func (c *CaseDefinition) Name() string
func (c *CaseDefinition) ResetTimer()
func (c *CaseDefinition) Run(ctx context.Context) *BenchResult
func (c *CaseDefinition) StartTimer()
func (c *CaseDefinition) StopTimer()
func (c *CaseDefinition) String() string
type Metric struct { Name string `json:"name"` Value interface{} `json:"value"` }
type Result struct { Duration time.Duration Iterations int Error error }
TimerManager is a subset of the testing.B tool, used to manage setup code.
type TimerManager interface { ResetTimer() StartTimer() StopTimer() }