[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [pluggable-transports/snowflake] 02/07: Add distinct IP counter to metrics



This is an automated email from the git hooks/post-receive script.

shelikhoo pushed a commit to branch main
in repository pluggable-transports/snowflake.

commit fa7d1e2bb77b92452785ce3d03c81a90efc9891e
Author: Shelikhoo <xiaokangwang@xxxxxxxxxxx>
AuthorDate: Fri May 27 16:21:28 2022 +0100

    Add distinct IP counter to metrics
---
 broker/metrics.go | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/broker/metrics.go b/broker/metrics.go
index 639d505..cd1ca37 100644
--- a/broker/metrics.go
+++ b/broker/metrics.go
@@ -14,6 +14,7 @@ import (
 	"sync"
 	"time"
 
+	"git.torproject.org/pluggable-transports/snowflake.git/v2/common/ipsetsink/sinkcluster"
 	"git.torproject.org/pluggable-transports/snowflake.git/v2/common/messages"
 	"github.com/prometheus/client_golang/prometheus"
 	"gitlab.torproject.org/tpo/anti-censorship/geoip"
@@ -41,6 +42,8 @@ type Metrics struct {
 	logger  *log.Logger
 	geoipdb *geoip.Geoip
 
+	distinctIPWriter *sinkcluster.ClusterWriter
+
 	countryStats                  CountryStats
 	clientRoundtripEstimate       time.Duration
 	proxyIdleCount                uint
@@ -324,3 +327,13 @@ func initPrometheus() *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
+}

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits