mirror of https://github.com/etcd-io/bbolt.git
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
parent
4b56f820bc
commit
b5ae095a87
|
@ -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.
|
||||
|
|
|
@ -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"),
|
||||
})
|
||||
},
|
||||
}}
|
||||
|
|
Loading…
Reference in New Issue