Verified Commit fa7d1e2b authored by shelikhoo's avatar shelikhoo
Browse files

Add distinct IP counter to metrics

parent 211254fa
...@@ -14,6 +14,7 @@ import ( ...@@ -14,6 +14,7 @@ import (
"sync" "sync"
"time" "time"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/ipsetsink/sinkcluster"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/messages" "git.torproject.org/pluggable-transports/snowflake.git/v2/common/messages"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"gitlab.torproject.org/tpo/anti-censorship/geoip" "gitlab.torproject.org/tpo/anti-censorship/geoip"
...@@ -41,6 +42,8 @@ type Metrics struct { ...@@ -41,6 +42,8 @@ type Metrics struct {
logger *log.Logger logger *log.Logger
geoipdb *geoip.Geoip geoipdb *geoip.Geoip
distinctIPWriter *sinkcluster.ClusterWriter
countryStats CountryStats countryStats CountryStats
clientRoundtripEstimate time.Duration clientRoundtripEstimate time.Duration
proxyIdleCount uint proxyIdleCount uint
...@@ -324,3 +327,13 @@ func initPrometheus() *PromMetrics { ...@@ -324,3 +327,13 @@ func initPrometheus() *PromMetrics {
return promMetrics return promMetrics
} }
func (m *Metrics) RecordIPAddress(ip string) {
if m.distinctIPWriter != nil {
m.distinctIPWriter.AddIPToSet(ip)
}
}
func (m *Metrics) SetIPAddressRecorder(recorder *sinkcluster.ClusterWriter) {
m.distinctIPWriter = recorder
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment