Add -work flag to 'bolt bench'.

This commit adds a 'work' flag to the bolt bench utility so that databases
generated by the bench CLI can be saved for analysis.
pull/34/head
Ben Johnson 2014-05-12 15:34:07 -06:00
parent 4b56f820bc
commit b5ae095a87
2 changed files with 9 additions and 1 deletions

View File

@ -33,7 +33,12 @@ func Bench(options *BenchOptions) {
// Find temporary location.
path := tempfile()
defer os.Remove(path)
if options.Clean {
defer os.Remove(path)
} else {
println("work:", path)
}
// Create database.
db, err := bolt.Open(path, 0600)
@ -275,6 +280,7 @@ type BenchOptions struct {
MemProfile string
BlockProfile string
StatsInterval time.Duration
Clean bool
}
// BenchResults represents the performance results of the benchmark.

View File

@ -106,6 +106,7 @@ func NewApp() *cli.App {
&cli.StringFlag{Name: "memprofile", Usage: "Memory profile output path"},
&cli.StringFlag{Name: "blockprofile", Usage: "Block profile output path"},
&cli.StringFlag{Name: "stats-interval", Value: "0s", Usage: "Continuous stats interval"},
&cli.BoolFlag{Name: "work", Usage: "Print the temp db and do not delete on exit"},
},
Action: func(c *cli.Context) {
statsInterval, err := time.ParseDuration(c.String("stats-interval"))
@ -125,6 +126,7 @@ func NewApp() *cli.App {
MemProfile: c.String("memprofile"),
BlockProfile: c.String("blockprofile"),
StatsInterval: statsInterval,
Clean: !c.Bool("work"),
})
},
}}