added seed param

This commit is contained in:
Todd Gruben 2021-11-19 09:40:39 -06:00
parent de7af694fd
commit c72406819e

View file

@ -56,6 +56,7 @@ type RandomQueryConfig struct {
TimeRange int64 // hours between parsed times
Index string
QPM int
Seed int
SrcFile string
Duration time.Duration
Target vegeta.Target
@ -109,9 +110,10 @@ func (cfg *RandomQueryConfig) DefineFlags(fs *flag.FlagSet) {
fs.IntVar(&cfg.TreeDepth, "max-nesting-depth", 1, "depth of random queries to generate.")
fs.IntVar(&cfg.QueryCount, "queries-per-request", 1, "number of random queries to generate")
fs.IntVar(&cfg.NumRuns, "number-reports", 1, "number of reports generate ")
fs.IntVar(&cfg.Seed, "seed", 0, "RNG seed")
fs.DurationVar(&cfg.Duration, "metrics-period", 10*time.Second, "size of time window on metrics reporting, default 10s")
fs.StringVar(&cfg.Index, "index", "i", "index to run queries against")
fs.IntVar(&cfg.QPM, "qps", 10, "number of currernt requests per minute to simulate, default 10")
fs.IntVar(&cfg.QPM, "qpm", 10, "number of currernt requests per minute to simulate, default 10")
fs.BoolVar(&cfg.Verbose, "v", false, "show queries as they are generated")
fs.StringVar(&cfg.TimeFromArg, "time.from", defaultStartTime.Format(time.RFC3339), "starting time for time fields (format: 2006-01-02T15:04:05Z07:00)")
fs.StringVar(&cfg.TimeToArg, "time.to", defaultEndTime.Format(time.RFC3339), "starting time for time fields (format: 2006-01-02T15:04:05Z07:00)")
@ -179,7 +181,7 @@ func (cfg *RandomQueryConfig) Run() (err error) {
if err != nil {
return err
}
rate := vegeta.Rate{Freq: cfg.QPM, Per: time.Second}
rate := vegeta.Rate{Freq: cfg.QPM, Per: time.Minute}
duration := cfg.Duration
targeter := vegeta.NewStaticTargeter(cfg.Target)
attacker := vegeta.NewAttacker()
@ -348,8 +350,7 @@ func (cfg *RandomQueryConfig) Setup(api API) (err error) {
if foundIntField {
cfg.BitmapFunc = append(cfg.BitmapFunc, "Distinct")
}
seed := int64(42)
cfg.Rnd = rand.New(rand.NewSource(seed))
cfg.Rnd = rand.New(rand.NewSource(int64(cfg.Seed)))
return cfg.buildPayload()
}