Files
FlexDXClusterGui/stats.go
2025-10-19 10:15:11 +02:00

46 lines
753 B
Go

package main
import "sync"
var (
spotsReceived int64
spotsProcessed int64
spotsRejected int64
spotsMutex sync.RWMutex
)
func IncrementSpotsReceived() {
spotsMutex.Lock()
spotsReceived++
spotsMutex.Unlock()
}
func IncrementSpotsProcessed() {
spotsMutex.Lock()
spotsProcessed++
spotsMutex.Unlock()
}
func IncrementSpotsRejected() {
spotsMutex.Lock()
spotsRejected++
spotsMutex.Unlock()
}
func GetSpotStats() (int64, int64, int64) {
spotsMutex.RLock()
defer spotsMutex.RUnlock()
return spotsReceived, spotsProcessed, spotsRejected
}
func GetSpotSuccessRate() float64 {
spotsMutex.RLock()
defer spotsMutex.RUnlock()
if spotsReceived == 0 {
return 0.0
}
return float64(spotsProcessed) / float64(spotsReceived) * 100.0
}