// Continuously prints stats on the database at given intervals. func printStats(db *bolt.DB, interval time.Duration) { var prevStats = db.Stats() var encoder = json.NewEncoder(os.Stdout) for { // Wait for the stats interval. time.Sleep(interval) // Retrieve new stats and find difference from previous iteration. var stats = db.Stats() var diff = stats.Sub(&prevStats) // Print as JSON to STDOUT. if err := encoder.Encode(diff); err != nil { fatal(err) } // Save stats for next iteration. prevStats = stats } }