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  }