Expose cache stats.
This commit is contained in:
parent
6776b67998
commit
61dc67251e
@ -59,7 +59,7 @@ func NewKeyValueStore(db *sqlx.DB, cacheConfig CacheConfig) ethdb.KeyValueStore
|
||||
}
|
||||
|
||||
// NewDatabase returns a ethdb.Database interface for PG-IPFS
|
||||
func NewDatabase(db *sqlx.DB, cacheConfig CacheConfig) ethdb.Database {
|
||||
func NewDatabase(db *sqlx.DB, cacheConfig CacheConfig) *Database {
|
||||
database := Database{db: db}
|
||||
database.InitCache(cacheConfig)
|
||||
|
||||
@ -69,6 +69,8 @@ func NewDatabase(db *sqlx.DB, cacheConfig CacheConfig) ethdb.Database {
|
||||
func (d *Database) InitCache(cacheConfig CacheConfig) {
|
||||
d.cache = groupcache.NewGroup(cacheConfig.Name, int64(cacheConfig.Size), groupcache.GetterFunc(
|
||||
func(_ context.Context, id string, dest groupcache.Sink) error {
|
||||
fmt.Println("Cache miss, fetching from DB:", id)
|
||||
|
||||
val, err := d.dbGet(id)
|
||||
|
||||
if err != nil {
|
||||
@ -85,6 +87,10 @@ func (d *Database) InitCache(cacheConfig CacheConfig) {
|
||||
))
|
||||
}
|
||||
|
||||
func (d *Database) GetCacheStats() groupcache.Stats {
|
||||
return d.cache.Stats
|
||||
}
|
||||
|
||||
// Has satisfies the ethdb.KeyValueReader interface
|
||||
// Has retrieves if a key is present in the key-value data store
|
||||
func (d *Database) Has(key []byte) (bool, error) {
|
||||
@ -113,6 +119,8 @@ func (d *Database) Get(key []byte) ([]byte, error) {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*500)
|
||||
defer cancel()
|
||||
|
||||
fmt.Println("GET request: ", mhKey)
|
||||
|
||||
var data []byte
|
||||
return data, d.cache.Get(ctx, mhKey, groupcache.AllocatingByteSliceSink(&data))
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user