stat.go 691 B

123456789101112131415161718192021222324252627282930313233
  1. package dao
  2. import (
  3. "context"
  4. "strconv"
  5. "time"
  6. "go-common/library/log"
  7. )
  8. type statMsg struct {
  9. ID int64 `json:"id"`
  10. Timestamp int64 `json:"timestamp"`
  11. Count int32 `json:"count"`
  12. Type string `json:"type"`
  13. }
  14. // SendStats update stat.
  15. func (d *Dao) SendStats(c context.Context, typ int32, oid int64, cnt int32) (err error) {
  16. // new databus stats
  17. if name, ok := d.statsTypes[typ]; ok {
  18. m := &statMsg{
  19. ID: oid,
  20. Type: name,
  21. Count: cnt,
  22. Timestamp: time.Now().Unix(),
  23. }
  24. if err = d.statsBus.Send(c, strconv.FormatInt(oid, 10), m); err != nil {
  25. log.Error("d.databus.Send(%d,%d,%d) error(%v)", typ, oid, cnt, err)
  26. }
  27. }
  28. return
  29. }