...

Source file src/github.com/go-kit/kit/metrics/pcp/pcp_test.go

Documentation: github.com/go-kit/kit/metrics/pcp

     1  package pcp
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/performancecopilot/speed/v4"
     7  
     8  	"github.com/go-kit/kit/metrics/teststat"
     9  )
    10  
    11  func TestCounter(t *testing.T) {
    12  	r, err := NewReporter("test_counter")
    13  	if err != nil {
    14  		t.Fatal(err)
    15  	}
    16  
    17  	counter, err := r.NewCounter("speed_counter")
    18  	if err != nil {
    19  		t.Fatal(err)
    20  	}
    21  
    22  	counter = counter.With("label values", "not supported").(*Counter)
    23  
    24  	value := func() float64 { f := counter.c.Val(); return float64(f) }
    25  	if err := teststat.TestCounter(counter, value); err != nil {
    26  		t.Fatal(err)
    27  	}
    28  }
    29  
    30  func TestGauge(t *testing.T) {
    31  	r, err := NewReporter("test_gauge")
    32  	if err != nil {
    33  		t.Fatal(err)
    34  	}
    35  
    36  	gauge, err := r.NewGauge("speed_gauge")
    37  	if err != nil {
    38  		t.Fatal(err)
    39  	}
    40  
    41  	gauge = gauge.With("label values", "not supported").(*Gauge)
    42  
    43  	value := func() []float64 { f := gauge.g.Val(); return []float64{f} }
    44  	if err := teststat.TestGauge(gauge, value); err != nil {
    45  		t.Fatal(err)
    46  	}
    47  }
    48  
    49  func TestHistogram(t *testing.T) {
    50  	r, err := NewReporter("test_histogram")
    51  	if err != nil {
    52  		t.Fatal(err)
    53  	}
    54  
    55  	histogram, err := r.NewHistogram("speed_histogram", 0, 3600000000, speed.OneUnit)
    56  	if err != nil {
    57  		t.Fatal(err)
    58  	}
    59  
    60  	histogram = histogram.With("label values", "not supported").(*Histogram)
    61  
    62  	quantiles := func() (float64, float64, float64, float64) {
    63  		p50 := float64(histogram.Percentile(50))
    64  		p90 := float64(histogram.Percentile(90))
    65  		p95 := float64(histogram.Percentile(95))
    66  		p99 := float64(histogram.Percentile(99))
    67  		return p50, p90, p95, p99
    68  	}
    69  	if err := teststat.TestHistogram(histogram, quantiles, 0.01); err != nil {
    70  		t.Fatal(err)
    71  	}
    72  }
    73  

View as plain text