vendor: update leveldb

This commit is contained in:
rjl493456442 2017-12-14 22:46:40 +08:00
parent 8978fcb4ac
commit 4b5757c36c
3 changed files with 16 additions and 6 deletions

View file

@ -32,6 +32,11 @@ type DB struct {
// Need 64-bit alignment. // Need 64-bit alignment.
seq uint64 seq uint64
// Stats. Need 64-bit alignment.
cWriteDelay int64 // The cumulative duration of write delays
cWriteDelayN int32 // The cumulative number of write delays
aliveSnaps, aliveIters int32
// Session. // Session.
s *session s *session
@ -49,9 +54,6 @@ type DB struct {
snapsMu sync.Mutex snapsMu sync.Mutex
snapsList *list.List snapsList *list.List
// Stats.
aliveSnaps, aliveIters int32
// Write. // Write.
batchPool sync.Pool batchPool sync.Pool
writeMergeC chan writeMerge writeMergeC chan writeMerge
@ -904,6 +906,8 @@ func (db *DB) GetSnapshot() (*Snapshot, error) {
// Returns the number of files at level 'n'. // Returns the number of files at level 'n'.
// leveldb.stats // leveldb.stats
// Returns statistics of the underlying DB. // Returns statistics of the underlying DB.
// leveldb.writedelay
// Returns cumulative write delay caused by compaction.
// leveldb.sstables // leveldb.sstables
// Returns sstables list for each level. // Returns sstables list for each level.
// leveldb.blockpool // leveldb.blockpool
@ -955,6 +959,9 @@ func (db *DB) GetProperty(name string) (value string, err error) {
level, len(tables), float64(tables.size())/1048576.0, duration.Seconds(), level, len(tables), float64(tables.size())/1048576.0, duration.Seconds(),
float64(read)/1048576.0, float64(write)/1048576.0) float64(read)/1048576.0, float64(write)/1048576.0)
} }
case p == "writedelay":
writeDelayN, writeDelay := atomic.LoadInt32(&db.cWriteDelayN), time.Duration(atomic.LoadInt64(&db.cWriteDelay))
value = fmt.Sprintf("DelayN:%d Delay:%s", writeDelayN, writeDelay)
case p == "sstables": case p == "sstables":
for level, tables := range v.levels { for level, tables := range v.levels {
value += fmt.Sprintf("--- level %d ---\n", level) value += fmt.Sprintf("--- level %d ---\n", level)

View file

@ -7,6 +7,7 @@
package leveldb package leveldb
import ( import (
"sync/atomic"
"time" "time"
"github.com/syndtr/goleveldb/leveldb/memdb" "github.com/syndtr/goleveldb/leveldb/memdb"
@ -117,6 +118,8 @@ func (db *DB) flush(n int) (mdb *memDB, mdbFree int, err error) {
db.writeDelayN++ db.writeDelayN++
} else if db.writeDelayN > 0 { } else if db.writeDelayN > 0 {
db.logf("db@write was delayed N·%d T·%v", db.writeDelayN, db.writeDelay) db.logf("db@write was delayed N·%d T·%v", db.writeDelayN, db.writeDelay)
atomic.AddInt32(&db.cWriteDelayN, int32(db.writeDelayN))
atomic.AddInt64(&db.cWriteDelay, int64(db.writeDelay))
db.writeDelay = 0 db.writeDelay = 0
db.writeDelayN = 0 db.writeDelayN = 0
} }

6
vendor/vendor.json vendored
View file

@ -358,10 +358,10 @@
"revisionTime": "2017-07-05T02:17:15Z" "revisionTime": "2017-07-05T02:17:15Z"
}, },
{ {
"checksumSHA1": "spMeORRgS1azN91KYqJgoxBmhMw=", "checksumSHA1": "l9hsW4atYllqlNjJUwHb6lyLn+I=",
"path": "github.com/syndtr/goleveldb/leveldb", "path": "github.com/syndtr/goleveldb/leveldb",
"revision": "3d8f4155ffd9029d32e5cf03853b58759b6e3710", "revision": "34011bf325bce385408353a30b101fe5e923eb6e",
"revisionTime": "2017-12-09T15:37:43Z" "revisionTime": "2017-12-14T12:08:11Z"
}, },
{ {
"checksumSHA1": "EKIow7XkgNdWvR/982ffIZxKG8Y=", "checksumSHA1": "EKIow7XkgNdWvR/982ffIZxKG8Y=",