Documentation
¶
Overview ¶
Package fsbench provides utility functions for filesystem benchmarks.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunWithDifferentFilesystems ¶
func RunWithDifferentFilesystems(ctx context.Context, b *testing.B, machine harness.Machine, bm FSBenchmark)
RunWithDifferentFilesystems runs a
Types ¶
type FSBenchmark ¶
type FSBenchmark struct {
// Image is the Docker image to load.
Image string
// WorkDir is where the action takes place.
// The commands below are run from a directory that has the same file as what the container image
// has at this directory.
WorkDir string
// RunCmd is the command to run to execute the benchmark.
RunCmd []string
// WantOutput, if set, is verified to be a substring of the output of RunCmd.
WantOutput string
// CleanCmd, if set, is run to clean up between benchmarks.
CleanCmd []string
// EnableForPGO is whether this benchmark should be run for PGO benchmarks.
EnableForPGO bool
// Variants is a list of benchmark variants to run.
// If unset, the typical set is used.
Variants []Variant
// Callback is an optional function that is called after each execution of
// the workload being benchmarked. It can be used to perform workload
// specific metric reporting.
Callback func(b *testing.B, output string)
}
FSBenchmark represents a set of work to perform within a container that is instrumented with different filesystem configurations.
type Variant ¶
type Variant struct {
// EnableForPGO is whether this variant should be run for PGO benchmarks.
EnableForPGO bool
// contains filtered or unexported fields
}
Variant is a specific configuration for a benchmark. Dimensions here are clean/dirty cache (do or don't drop caches) and if the mount on which we are compiling is a tmpfs/bind mount.
func TypicalVariants ¶
func TypicalVariants() []Variant
TypicalVariants returns the typical full set of benchmark variants.
Click to show internal directories.
Click to hide internal directories.