package statistics import ( "time" ) type Tracker struct { start time.Time steps uint64 Results *Results } func Track() *Tracker { return &Tracker{} } func (t *Tracker) Start() { t.start = time.Now() t.steps = 0 t.Results = nil } func (t *Tracker) Step() { t.steps++ } func (t *Tracker) End() { t.Results = &Results{ StepsTaken: t.steps, TimeElapsed: uint64(time.Since(t.start).Milliseconds()), } }