From 5b9f7821ea80d87bd63fc74e6e95edc863736efa Mon Sep 17 00:00:00 2001 From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> Date: Wed, 6 Apr 2022 00:22:35 -0400 Subject: [PATCH] Test: Add statistics in conn testing (#1444) * Add statistics in conn testing Occasional error is observed when we execute long test Print time and memory for better troubleshooting in the future * fix: units import version error Co-authored-by: Kslr Co-authored-by: Kslr --- testing/scenarios/common.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/testing/scenarios/common.go b/testing/scenarios/common.go index a63512df1..01a07c335 100644 --- a/testing/scenarios/common.go +++ b/testing/scenarios/common.go @@ -24,6 +24,7 @@ import ( "github.com/v2fly/v2ray-core/v5/common/net" "github.com/v2fly/v2ray-core/v5/common/retry" "github.com/v2fly/v2ray-core/v5/common/serial" + "github.com/v2fly/v2ray-core/v5/common/units" ) func xor(b []byte) []byte { @@ -198,7 +199,18 @@ func testUDPConn(port net.Port, payloadSize int, timeout time.Duration) func() e } func testTCPConn2(conn net.Conn, payloadSize int, timeout time.Duration) func() error { - return func() error { + return func() (err1 error) { + start := time.Now() + defer func() { + var m runtime.MemStats + runtime.ReadMemStats(&m) + // For info on each, see: https://golang.org/pkg/runtime/#MemStats + fmt.Println("testConn finishes:", time.Since(start).Milliseconds(), "ms\t", + err1, "\tAlloc =", units.ByteSize(m.Alloc).String(), + "\tTotalAlloc =", units.ByteSize(m.TotalAlloc).String(), + "\tSys =", units.ByteSize(m.Sys).String(), + "\tNumGC =", m.NumGC) + }() payload := make([]byte, payloadSize) common.Must2(rand.Read(payload))