@@ -75,14 +75,14 @@ type Database struct {
7575
7676	log  log.Logger  // Contextual logger tracking the database path 
7777
78- 	activeComp           int        // Current number of active compactions 
79- 	compStartTime        time.Time  // The start time of the earliest currently-active compaction 
80- 	compTime             int64       // Total time spent in compaction in ns 
81- 	level0Comp           uint32      // Total number of level-zero compactions 
82- 	nonLevel0Comp        uint32      // Total number of non level-zero compactions 
83- 	writeDelayStartTime  time.Time  // The start time of the latest write stall 
84- 	writeDelayCount      int64       // Total number of write stall counts 
85- 	writeDelayTime       int64       // Total time spent in write stalls 
78+ 	activeComp           int             // Current number of active compactions 
79+ 	compStartTime        time.Time       // The start time of the earliest currently-active compaction 
80+ 	compTime             atomic. Int64   // Total time spent in compaction in ns 
81+ 	level0Comp           atomic. Uint32  // Total number of level-zero compactions 
82+ 	nonLevel0Comp        atomic. Uint32  // Total number of non level-zero compactions 
83+ 	writeDelayStartTime  time.Time       // The start time of the latest write stall 
84+ 	writeDelayCount      atomic. Int64   // Total number of write stall counts 
85+ 	writeDelayTime       atomic. Int64   // Total time spent in write stalls 
8686}
8787
8888func  (d  * Database ) onCompactionBegin (info  pebble.CompactionInfo ) {
@@ -91,16 +91,16 @@ func (d *Database) onCompactionBegin(info pebble.CompactionInfo) {
9191	}
9292	l0  :=  info .Input [0 ]
9393	if  l0 .Level  ==  0  {
94- 		atomic . AddUint32 ( & d .level0Comp ,  1 )
94+ 		d .level0Comp . Add ( 1 )
9595	} else  {
96- 		atomic . AddUint32 ( & d .nonLevel0Comp ,  1 )
96+ 		d .nonLevel0Comp . Add ( 1 )
9797	}
9898	d .activeComp ++ 
9999}
100100
101101func  (d  * Database ) onCompactionEnd (info  pebble.CompactionInfo ) {
102102	if  d .activeComp  ==  1  {
103- 		atomic . AddInt64 ( & d .compTime ,  int64 (time .Since (d .compStartTime )))
103+ 		d .compTime . Add ( int64 (time .Since (d .compStartTime )))
104104	} else  if  d .activeComp  ==  0  {
105105		panic ("should not happen" )
106106	}
@@ -112,7 +112,7 @@ func (d *Database) onWriteStallBegin(b pebble.WriteStallBeginInfo) {
112112}
113113
114114func  (d  * Database ) onWriteStallEnd () {
115- 	atomic . AddInt64 ( & d .writeDelayTime ,  int64 (time .Since (d .writeDelayStartTime )))
115+ 	d .writeDelayTime . Add ( int64 (time .Since (d .writeDelayStartTime )))
116116}
117117
118118// New returns a wrapped pebble DB object. The namespace is the prefix that the 
@@ -407,11 +407,11 @@ func (d *Database) meter(refresh time.Duration) {
407407			nWrite     int64 
408408
409409			metrics             =  d .db .Metrics ()
410- 			compTime            =  atomic . LoadInt64 ( & d .compTime )
411- 			writeDelayCount     =  atomic . LoadInt64 ( & d .writeDelayCount )
412- 			writeDelayTime      =  atomic . LoadInt64 ( & d .writeDelayTime )
413- 			nonLevel0CompCount  =  int64 (atomic . LoadUint32 ( & d .nonLevel0Comp ))
414- 			level0CompCount     =  int64 (atomic . LoadUint32 ( & d .level0Comp ))
410+ 			compTime            =  d .compTime . Load ( )
411+ 			writeDelayCount     =  d .writeDelayCount . Load ( )
412+ 			writeDelayTime      =  d .writeDelayTime . Load ( )
413+ 			nonLevel0CompCount  =  int64 (d .nonLevel0Comp . Load ( ))
414+ 			level0CompCount     =  int64 (d .level0Comp . Load ( ))
415415		)
416416		writeDelayTimes [i % 2 ] =  writeDelayTime 
417417		writeDelayCounts [i % 2 ] =  writeDelayCount 
0 commit comments