aboutsummaryrefslogtreecommitdiff
path: root/internal/options
diff options
context:
space:
mode:
Diffstat (limited to 'internal/options')
-rw-r--r--internal/options/options.go24
1 files changed, 18 insertions, 6 deletions
diff --git a/internal/options/options.go b/internal/options/options.go
index 8e10686..c988713 100644
--- a/internal/options/options.go
+++ b/internal/options/options.go
@@ -6,19 +6,31 @@ import (
)
type Options struct {
- InputFile string
- NumWorkers int
+ // Input file
+ InputFile string
+ MaxFileBuffer int
+ NextLine int64
+
+ // Website visits
+ NumWorkers int
+ Timeout time.Duration
+ MaxResponse int64
+
+ // Health and metrics
MetricsInterval time.Duration
- Timeout time.Duration
- MaxResponse int64
}
func Parse() (opts Options) {
flag.StringVar(&opts.InputFile, "i", "lists/small.lst", "input file, one domain name per line")
- flag.IntVar(&opts.NumWorkers, "w", 10, "number of parallel workers")
+ flag.IntVar(&opts.MaxFileBuffer, "b", 512, "max bytes to read from input file at once in MiB")
+ flag.Int64Var(&opts.NextLine, "n", 0, "next line to start reading the input file from")
+
+ flag.IntVar(&opts.NumWorkers, "w", 2, "number of parallel workers")
flag.DurationVar(&opts.Timeout, "t", 10*time.Second, "timeout for each website visit")
+ flag.Int64Var(&opts.MaxResponse, "r", 128, "max response body size to accept in MiB")
+
flag.DurationVar(&opts.MetricsInterval, "m", 5*time.Second, "how often to emit metrics")
- flag.Int64Var(&opts.MaxResponse, "r", 128*1024*1024, "max response body size to accept")
+
flag.Parse()
return
}