[tor-commits] [snowflake/master] Changed variable names/types to be more reasonable

cohosh at torproject.org cohosh at torproject.org
Fri Jun 28 21:32:20 UTC 2019


commit 0767a637c1f07dab71708762dd975adaa35b0bd9
Author: Cecylia Bocovich <cohosh at torproject.org>
Date:   Fri Jun 14 17:00:31 2019 -0400

    Changed variable names/types to be more reasonable
    
    Also moved the geoip check to occur after we've make sure the proxy IP
    hasn't yet been recorded. This is will cut down on unecessary
    computation.
---
 broker/metrics.go | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/broker/metrics.go b/broker/metrics.go
index cca716f..f37ec8a 100644
--- a/broker/metrics.go
+++ b/broker/metrics.go
@@ -49,10 +49,10 @@ var (
 	once sync.Once
 )
 
-const metricsResolution = 86400 * time.Second
+const metricsResolution = 60 * 60 * 24 * time.Second //86400 seconds
 
 type CountryStats struct {
-	ips    map[string]bool
+	addrs  map[string]bool
 	counts map[string]int
 }
 
@@ -64,9 +64,9 @@ type Metrics struct {
 
 	countryStats            CountryStats
 	clientRoundtripEstimate time.Duration
-	proxyIdleCount          int
-	clientDeniedCount       int
-	clientProxyMatchCount   int
+	proxyIdleCount          uint
+	clientDeniedCount       uint
+	clientProxyMatchCount   uint
 }
 
 func (s CountryStats) Display() string {
@@ -82,6 +82,10 @@ func (m *Metrics) UpdateCountryStats(addr string) {
 	var country string
 	var ok bool
 
+	if m.countryStats.addrs[addr] {
+		return
+	}
+
 	ip := net.ParseIP(addr)
 	if ip.To4() != nil {
 		//This is an IPv4 address
@@ -102,10 +106,8 @@ func (m *Metrics) UpdateCountryStats(addr string) {
 	}
 
 	//update map of unique ips and counts
-	if !m.countryStats.ips[addr] {
-		m.countryStats.counts[country]++
-		m.countryStats.ips[addr] = true
-	}
+	m.countryStats.counts[country]++
+	m.countryStats.addrs[addr] = true
 
 	return
 }
@@ -140,7 +142,7 @@ func NewMetrics(metricsLogger *log.Logger) (*Metrics, error) {
 
 	m.countryStats = CountryStats{
 		counts: make(map[string]int),
-		ips:    make(map[string]bool),
+		addrs:  make(map[string]bool),
 	}
 
 	m.logger = metricsLogger
@@ -174,10 +176,10 @@ func (m *Metrics) zeroMetrics() {
 	m.clientDeniedCount = 0
 	m.clientProxyMatchCount = 0
 	m.countryStats.counts = make(map[string]int)
-	m.countryStats.ips = make(map[string]bool)
+	m.countryStats.addrs = make(map[string]bool)
 }
 
 // Rounds up a count to the nearest multiple of 8.
-func binCount(count int) int {
-	return int((math.Ceil(float64(count) / 8)) * 8)
+func binCount(count uint) uint {
+	return uint((math.Ceil(float64(count) / 8)) * 8)
 }





More information about the tor-commits mailing list