(err error)
| 19 | } |
| 20 | |
| 21 | func (e *errorMap) add(err error) { |
| 22 | s := err.Error() |
| 23 | e.mu.RLock() |
| 24 | c, ok := e.m[s] |
| 25 | e.mu.RUnlock() |
| 26 | if !ok { |
| 27 | e.mu.Lock() |
| 28 | c, ok = e.m[s] |
| 29 | if !ok { |
| 30 | c = new(uint64) |
| 31 | e.m[s] = c |
| 32 | } |
| 33 | e.mu.Unlock() |
| 34 | } |
| 35 | atomic.AddUint64(c, 1) |
| 36 | } |
| 37 | |
| 38 | func (e *errorMap) get(err error) uint64 { |
| 39 | s := err.Error() |