github.com/theQRL/go-zond@v0.1.1/metrics/gauge_test.go (about)

     1  package metrics
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func BenchmarkGauge(b *testing.B) {
     8  	g := NewGauge()
     9  	b.ResetTimer()
    10  	for i := 0; i < b.N; i++ {
    11  		g.Update(int64(i))
    12  	}
    13  }
    14  
    15  func TestGaugeSnapshot(t *testing.T) {
    16  	g := NewGauge()
    17  	g.Update(int64(47))
    18  	snapshot := g.Snapshot()
    19  	g.Update(int64(0))
    20  	if v := snapshot.Value(); v != 47 {
    21  		t.Errorf("g.Value(): 47 != %v\n", v)
    22  	}
    23  }
    24  
    25  func TestGetOrRegisterGauge(t *testing.T) {
    26  	r := NewRegistry()
    27  	NewRegisteredGauge("foo", r).Update(47)
    28  	if g := GetOrRegisterGauge("foo", r); g.Snapshot().Value() != 47 {
    29  		t.Fatal(g)
    30  	}
    31  }