[tor-commits] [pluggable-transports/snowflake] 22/31: Add Proxy Relay URL Metrics Collection
gitolite role
git at cupani.torproject.org
Thu Jun 16 17:04:09 UTC 2022
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 dd61e2be0f65aed72b0740aa22debab7246ebc48
Author: Shelikhoo <xiaokangwang at outlook.com>
AuthorDate: Mon May 2 16:19:27 2022 +0100
Add Proxy Relay URL Metrics Collection
---
broker/ipc.go | 17 +++++++++++++++++
broker/metrics.go | 1 +
broker/snowflake-broker_test.go | 4 ++--
3 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/broker/ipc.go b/broker/ipc.go
index 5a93585..c86d1a7 100644
--- a/broker/ipc.go
+++ b/broker/ipc.go
@@ -71,7 +71,24 @@ func (i *IPC) ProxyPolls(arg messages.Arg, response *[]byte) error {
return messages.ErrBadRequest
}
+ if !relayPatternSupported {
+ i.ctx.metrics.lock.Lock()
+ i.ctx.metrics.proxyPollWithoutRelayURLExtension++
+ i.ctx.metrics.promMetrics.ProxyPollWithoutRelayURLExtensionTotal.With(prometheus.Labels{"nat": natType}).Inc()
+ i.ctx.metrics.lock.Unlock()
+ } else {
+ i.ctx.metrics.lock.Lock()
+ i.ctx.metrics.proxyPollWithRelayURLExtension++
+ i.ctx.metrics.promMetrics.ProxyPollWithRelayURLExtensionTotal.With(prometheus.Labels{"nat": natType}).Inc()
+ i.ctx.metrics.lock.Unlock()
+ }
+
if !i.ctx.CheckProxyRelayPattern(relayPattern, !relayPatternSupported) {
+ i.ctx.metrics.lock.Lock()
+ i.ctx.metrics.proxyPollRejectedWithRelayURLExtension++
+ i.ctx.metrics.promMetrics.ProxyPollRejectedForRelayURLExtensionTotal.With(prometheus.Labels{"nat": natType}).Inc()
+ i.ctx.metrics.lock.Unlock()
+
log.Printf("bad request: rejected relay pattern from proxy = %v", messages.ErrBadRequest)
b, err := messages.EncodePollResponseWithRelayURL("", false, "", "", "incorrect relay pattern")
*response = b
diff --git a/broker/metrics.go b/broker/metrics.go
index d9f8123..eecc137 100644
--- a/broker/metrics.go
+++ b/broker/metrics.go
@@ -316,6 +316,7 @@ func initPrometheus() *PromMetrics {
promMetrics.ProxyTotal, promMetrics.AvailableProxies,
promMetrics.ProxyPollWithRelayURLExtensionTotal,
promMetrics.ProxyPollWithoutRelayURLExtensionTotal,
+ promMetrics.ProxyPollRejectedForRelayURLExtensionTotal,
)
return promMetrics
diff --git a/broker/snowflake-broker_test.go b/broker/snowflake-broker_test.go
index 6a3ba62..aee8578 100644
--- a/broker/snowflake-broker_test.go
+++ b/broker/snowflake-broker_test.go
@@ -560,7 +560,7 @@ func TestMetrics(t *testing.T) {
So(metricsStr, ShouldContainSubstring, "\nsnowflake-ips-standalone 1\n")
So(metricsStr, ShouldContainSubstring, "\nsnowflake-ips-badge 1\n")
So(metricsStr, ShouldContainSubstring, "\nsnowflake-ips-webext 1\n")
- So(metricsStr, ShouldEndWith, "\nsnowflake-ips-total 4\nsnowflake-idle-count 8\nsnowflake-proxy-poll-with-relay-url-count 0\nsnowflake-proxy-poll-without-relay-url-count 8\nclient-denied-count 0\nclient-restricted-denied-count 0\nclient-unrestricted-denied-count 0\nclient-snowflake-match-count 0\nsnowflake-ips-nat-restricted 0\nsnowflake-ips-nat-unrestricted 0\nsnowflake-ips-nat-unknown 1\n")
+ So(metricsStr, ShouldEndWith, "\nsnowflake-ips-total 4\nsnowflake-idle-count 8\nsnowflake-proxy-poll-with-relay-url-count 0\nsnowflake-proxy-poll-without-relay-url-count 8\nsnowflake-proxy-rejected-for-relay-url-count 0\nclient-denied-count 0\nclient-restricted-denied-count 0\nclient-unrestricted-denied-count 0\nclient-snowflake-match-count 0\nsnowflake-ips-nat-restricted 0\nsnowflake-ips-nat-unrestricted 0\nsnowflake-ips-nat-unknown 1\n")
})
//Test addition of client failures
@@ -584,7 +584,7 @@ func TestMetrics(t *testing.T) {
So(buf.String(), ShouldContainSubstring, "\nsnowflake-ips-standalone 0\n")
So(buf.String(), ShouldContainSubstring, "\nsnowflake-ips-badge 0\n")
So(buf.String(), ShouldContainSubstring, "\nsnowflake-ips-webext 0\n")
- So(buf.String(), ShouldContainSubstring, "\nsnowflake-ips-total 0\nsnowflake-idle-count 0\nsnowflake-proxy-poll-with-relay-url-count 0\nsnowflake-proxy-poll-without-relay-url-count 0\nclient-denied-count 0\nclient-restricted-denied-count 0\nclient-unrestricted-denied-count 0\nclient-snowflake-match-count 0\nsnowflake-ips-nat-restricted 0\nsnowflake-ips-nat-unrestricted 0\nsnowflake-ips-nat-unknown 0\n")
+ So(buf.String(), ShouldContainSubstring, "\nsnowflake-ips-total 0\nsnowflake-idle-count 0\nsnowflake-proxy-poll-with-relay-url-count 0\nsnowflake-proxy-poll-without-relay-url-count 0\nsnowflake-proxy-rejected-for-relay-url-count 0\nclient-denied-count 0\nclient-restricted-denied-count 0\nclient-unrestricted-denied-count 0\nclient-snowflake-match-count 0\nsnowflake-ips-nat-restricted 0\nsnowflake-ips-nat-unrestricted 0\nsnowflake-ips-nat-unknown 0\n")
})
//Test addition of client matches
Convey("for client-proxy match", func() {
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the tor-commits
mailing list