github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/system/trace/summary.go (about) 1 package trace 2 3 import ( 4 "fmt" 5 //"github.com/fibonacci-chain/fbc/libs/tendermint/libs/log" 6 ) 7 8 var sum *Summary 9 10 func insertElapse(tag string, elapse int64) { 11 if sum == nil { 12 return 13 } 14 sum.insert(tag, elapse) 15 } 16 17 func GetTraceSummary() *Summary { 18 once.Do(func() { 19 sum = &Summary{ 20 statisticMap: make(map[string]int64), 21 } 22 }) 23 return sum 24 } 25 26 //func (s *Summary) Dump(logger log.Logger) { 27 // for _, k := range s.keys { 28 // logger.With("module", "main").Info("Summary", k, s.statisticMap[k]) 29 // } 30 //} 31 32 func (s *Summary) Dump(context string) { 33 var res string 34 for _, k := range s.keys { 35 res += fmt.Sprintf("%s=%d, ", k, s.statisticMap[k]) 36 } 37 //systemlog.Println("Elapse Summary", context, res) 38 fmt.Printf("Elapse Summary: %s\n", res) 39 } 40 41 func (s *Summary) insert(tag string, elapse int64) { 42 _, ok := s.statisticMap[tag] 43 if !ok { 44 return 45 } 46 s.statisticMap[tag] += elapse 47 }