From 4732c68d6334c30a2c602a27d5598cba496c9719 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 12 Jun 2017 23:51:07 +0200 Subject: Track both, R and W time --- main.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index 0367ad3..edf06ba 100644 --- a/main.go +++ b/main.go @@ -29,7 +29,8 @@ type Data struct { Dir Direction Data []byte Size int - Time time.Duration + RTime time.Duration + WTime time.Duration } func dump(dir Direction, src, dst net.Conn, data chan<- Data) error { @@ -37,7 +38,7 @@ func dump(dir Direction, src, dst net.Conn, data chan<- Data) error { for k := 1; ; k++ { now := time.Now() n, err := src.Read(buf) - spent := time.Since(now) + rtime := time.Since(now) if err != nil { if err == io.EOF { return nil @@ -45,13 +46,16 @@ func dump(dir Direction, src, dst net.Conn, data chan<- Data) error { return fmt.Errorf("READ %v", err) } - data <- Data{Round: k, Dir: dir, Data: buf[:n], Size: n, Time: spent} time.Sleep(time.Second) + now = time.Now() _, err = dst.Write(buf[:n]) + wtime := time.Since(now) if err != nil { return fmt.Errorf("WRITE %v", err) } + + data <- Data{Round: k, Dir: dir, Data: buf[:n], Size: n, RTime: rtime, WTime: wtime} } } @@ -93,7 +97,7 @@ func main() { }(ClientServer) for d := range data { - fmt.Println("#", d.Round, d.Dir, d.Size, "bytes", d.Time, d.Data) + fmt.Println("#", d.Round, d.Dir, d.Size, "bytes", "Read", d.RTime, "Write", d.WTime, d.Data) //fmt.Println(hex.Dump(d.Data)) } } -- cgit v1.2.3