github.com/codingeasygo/util@v0.0.0-20231206062002-1ce2f004b7d9/monitor/monitor_test.go (about) 1 package monitor 2 3 import ( 4 "fmt" 5 "testing" 6 "time" 7 8 "github.com/codingeasygo/util/converter" 9 "github.com/codingeasygo/util/xtest" 10 ) 11 12 func TestMonitor(t *testing.T) { 13 var m = New() 14 _, err := xtest.DoPerfV_(200, 30, "", 15 func(i int) error { 16 if i%10 == 0 { 17 m.State() 18 return nil 19 } 20 var id = m.Start(fmt.Sprintf("_%v", i%3)) 21 time.Sleep(time.Duration(i) * time.Millisecond) 22 m.Done(id) 23 return nil 24 }) 25 if err != nil { 26 t.Error(err) 27 } 28 val, _ := m.State() 29 fmt.Println(converter.JSON(val)) 30 }