code: func (p *Whisper) Stat(send helper.StatCallback) {
  	updateOperations := atomic.LoadUint32(&p.updateOperations)
  	committedPoints := atomic.LoadUint32(&p.committedPoints)
  	atomic.AddUint32(&p.updateOperations, -updateOperations)
  	atomic.AddUint32(&p.committedPoints, -committedPoints)
  
  	created := atomic.LoadUint32(&p.created)
  	atomic.AddUint32(&p.created, -created)
  
  	throttledCreates := atomic.LoadUint32(&p.throttledCreates)
  	atomic.AddUint32(&p.throttledCreates, -throttledCreates)
  
  	send("updateOperations", float64(updateOperations))
  	send("committedPoints", float64(committedPoints))
  	if updateOperations > 0 {
  		send("pointsPerUpdate", float64(committedPoints)/float64(updateOperations))
  	} else {
  		send("pointsPerUpdate", 0.0)
  	}
  
  	send("created", float64(created))
  	send("throttledCreates", float64(throttledCreates))
  	send("maxCreatesPerSecond", float64(p.maxCreatesPerSecond))
  
  	send("maxUpdatesPerSecond", float64(p.maxUpdatesPerSecond))
  	send("workers", float64(p.workersCount))
  
  	// helper.SendAndSubstractUint64("blockThrottleNs", &p.blockThrottleNs, send)
  	// helper.SendAndSubstractUint64("blockQueueGetNs", &p.blockQueueGetNs, send)
  	// helper.SendAndSubstractUint64("blockAvoidConcurrentNs", &p.blockAvoidConcurrentNs, send)
  	// helper.SendAndSubstractUint64("blockUpdateManyNs", &p.blockUpdateManyNs, send)
  
  }
docs: // Stat callback