@@ -24,6 +24,11 @@ import (
24
24
"github.com/stretchr/testify/require"
25
25
)
26
26
27
+ type fakeAddr string
28
+
29
+ func (a fakeAddr ) String () string { return string (a ) }
30
+ func (a fakeAddr ) Network () string { return "" }
31
+
27
32
func TestMethodsDontPanic (t * testing.T ) {
28
33
ssMetrics := newPrometheusOutlineMetrics (nil , prometheus .NewPedanticRegistry ())
29
34
proxyMetrics := metrics.ProxyMetrics {
@@ -34,12 +39,12 @@ func TestMethodsDontPanic(t *testing.T) {
34
39
}
35
40
ssMetrics .SetBuildInfo ("0.0.0-test" )
36
41
ssMetrics .SetNumAccessKeys (20 , 2 )
37
- ssMetrics .AddOpenTCPConnection (ipinfo. IPInfo { CountryCode : "US" , ASN : 100 } )
38
- ssMetrics .AddClosedTCPConnection (ipinfo. IPInfo { CountryCode : "US" , ASN : 100 } , "1" , "OK" , proxyMetrics , 10 * time .Millisecond )
42
+ ssMetrics .AddOpenTCPConnection (fakeAddr ( "127.0.0.1:9" ) )
43
+ ssMetrics .AddClosedTCPConnection (fakeAddr ( "127.0.0.1:9" ) , "1" , "OK" , proxyMetrics , 10 * time .Millisecond )
39
44
ssMetrics .AddUDPPacketFromClient (ipinfo.IPInfo {CountryCode : "US" , ASN : 100 }, "2" , "OK" , 10 , 20 )
40
45
ssMetrics .AddUDPPacketFromTarget (ipinfo.IPInfo {CountryCode : "US" , ASN : 100 }, "3" , "OK" , 10 , 20 )
41
- ssMetrics .AddUDPNatEntry ()
42
- ssMetrics .RemoveUDPNatEntry ()
46
+ ssMetrics .AddUDPNatEntry (fakeAddr ( "127.0.0.1:9" ), "key-1" )
47
+ ssMetrics .RemoveUDPNatEntry (fakeAddr ( "127.0.0.1:9" ), "key-1" )
43
48
ssMetrics .AddTCPProbe ("ERR_CIPHER" , "eof" , 443 , proxyMetrics .ClientProxy )
44
49
ssMetrics .AddTCPCipherSearch (true , 10 * time .Millisecond )
45
50
ssMetrics .AddUDPCipherSearch (true , 10 * time .Millisecond )
@@ -54,21 +59,21 @@ func BenchmarkOpenTCP(b *testing.B) {
54
59
ssMetrics := newPrometheusOutlineMetrics (nil , prometheus .NewRegistry ())
55
60
b .ResetTimer ()
56
61
for i := 0 ; i < b .N ; i ++ {
57
- ssMetrics .AddOpenTCPConnection (ipinfo. IPInfo { CountryCode : "ZZ" , ASN : 100 } )
62
+ ssMetrics .AddOpenTCPConnection (fakeAddr ( "127.0.0.1:9" ) )
58
63
}
59
64
}
60
65
61
66
func BenchmarkCloseTCP (b * testing.B ) {
62
67
ssMetrics := newPrometheusOutlineMetrics (nil , prometheus .NewRegistry ())
63
- clientInfo := ipinfo. IPInfo { CountryCode : "ZZ" , ASN : 100 }
68
+ addr := fakeAddr ( "127.0.0.1:9" )
64
69
accessKey := "key 1"
65
70
status := "OK"
66
71
data := metrics.ProxyMetrics {}
67
72
timeToCipher := time .Microsecond
68
73
duration := time .Minute
69
74
b .ResetTimer ()
70
75
for i := 0 ; i < b .N ; i ++ {
71
- ssMetrics .AddClosedTCPConnection (clientInfo , accessKey , status , data , duration )
76
+ ssMetrics .AddClosedTCPConnection (addr , accessKey , status , data , duration )
72
77
ssMetrics .AddTCPCipherSearch (true , timeToCipher )
73
78
}
74
79
}
@@ -115,7 +120,7 @@ func BenchmarkNAT(b *testing.B) {
115
120
ssMetrics := newPrometheusOutlineMetrics (nil , prometheus .NewRegistry ())
116
121
b .ResetTimer ()
117
122
for i := 0 ; i < b .N ; i ++ {
118
- ssMetrics .AddUDPNatEntry ()
119
- ssMetrics .RemoveUDPNatEntry ()
123
+ ssMetrics .AddUDPNatEntry (fakeAddr ( "127.0.0.1:9" ), "key-0" )
124
+ ssMetrics .RemoveUDPNatEntry (fakeAddr ( "127.0.0.1:9" ), "key-0" )
120
125
}
121
126
}
0 commit comments