github.com/piotrnar/gocoin@v0.0.0-20240512203912-faa0448c5e96/lib/others/qdb/stats.go (about) 1 package qdb 2 3 import ( 4 "fmt" 5 "sort" 6 ) 7 8 func (db *DB) cnt(k string) { 9 db.cntadd(k, 1) 10 } 11 12 func (db *DB) cntadd(k string, val uint64) { 13 db.counter_mutex.Lock() 14 db.counter[k] += val 15 db.counter_mutex.Unlock() 16 } 17 18 func (db *DB) GetStats() (s string) { 19 db.counter_mutex.Lock() 20 ck := make([]string, len(db.counter)) 21 idx := 0 22 for k, _ := range db.counter { 23 ck[idx] = k 24 idx++ 25 } 26 sort.Strings(ck) 27 28 for i := range ck { 29 k := ck[i] 30 v := db.counter[k] 31 if s != "" { 32 s += ", " 33 } 34 s += fmt.Sprint(k, "=", v) 35 } 36 db.counter_mutex.Unlock() 37 return s 38 }