Compare commits
2 Commits
d11c294010
...
08b8d0ce3d
| Author | SHA1 | Date | |
|---|---|---|---|
| 08b8d0ce3d | |||
| 53847db0e9 |
@@ -26,7 +26,9 @@ func (a *AvgCacheState) Clear() {
|
|||||||
a.mu.Lock()
|
a.mu.Lock()
|
||||||
defer a.mu.Unlock()
|
defer a.mu.Unlock()
|
||||||
|
|
||||||
a.avgs = make([]cachestate.CacheState, a.size) // zeroed
|
for i := 0; i < len(a.avgs); i++ {
|
||||||
|
a.avgs[i] = cachestate.CacheStateMiss
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add adds a cache state to the average cache state.
|
// Add adds a cache state to the average cache state.
|
||||||
@@ -45,16 +47,13 @@ func (a *AvgCacheState) Avg() float64 {
|
|||||||
a.mu.Lock()
|
a.mu.Lock()
|
||||||
defer a.mu.Unlock()
|
defer a.mu.Unlock()
|
||||||
|
|
||||||
var hits, misses int
|
var hits int
|
||||||
for _, cs := range a.avgs {
|
for _, cs := range a.avgs {
|
||||||
switch cs {
|
switch cs {
|
||||||
case cachestate.CacheStateHit:
|
case cachestate.CacheStateHit:
|
||||||
hits++
|
hits++
|
||||||
case cachestate.CacheStateMiss:
|
|
||||||
misses++
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
total := hits + misses
|
|
||||||
|
|
||||||
return float64(hits) / float64(total)
|
return float64(hits) / float64(len(a.avgs))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,11 +111,23 @@ func (sc *SteamCache) LogStats() {
|
|||||||
sc.mu.Lock()
|
sc.mu.Lock()
|
||||||
defer sc.mu.Unlock()
|
defer sc.mu.Unlock()
|
||||||
if sc.dirty {
|
if sc.dirty {
|
||||||
|
|
||||||
|
logger.Logger.Info().
|
||||||
|
Str("size", units.HumanSize(float64(sc.memory.Size()))).
|
||||||
|
Str("capacity", units.HumanSize(float64(sc.memory.Capacity()))).
|
||||||
|
Str("files", fmt.Sprintf("%d", len(sc.memory.StatAll()))).
|
||||||
|
Msg("memory")
|
||||||
|
|
||||||
|
logger.Logger.Info().
|
||||||
|
Str("size", units.HumanSize(float64(sc.disk.Size()))).
|
||||||
|
Str("capacity", units.HumanSize(float64(sc.disk.Capacity()))).
|
||||||
|
Str("files", fmt.Sprintf("%d", len(sc.disk.StatAll()))).
|
||||||
|
Msg("disk")
|
||||||
|
|
||||||
logger.Logger.Info().
|
logger.Logger.Info().
|
||||||
Str("memory", fmt.Sprintf("%s/%s", units.HumanSize(float64(sc.memory.Size())), units.HumanSize(float64(sc.memory.Capacity())))).Int("memory-files", len(sc.memory.StatAll())).
|
|
||||||
Str("disk", fmt.Sprintf("%s/%s", units.HumanSize(float64(sc.disk.Size())), units.HumanSize(float64(sc.disk.Capacity())))).Int("disk-files", len(sc.disk.StatAll())).
|
|
||||||
Str("hitrate", fmt.Sprintf("%.2f%%", sc.hits.Avg()*100)).
|
Str("hitrate", fmt.Sprintf("%.2f%%", sc.hits.Avg()*100)).
|
||||||
Msg("stats")
|
Msg("cache")
|
||||||
|
|
||||||
sc.dirty = false
|
sc.dirty = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user