| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package prometheus
- import (
- "os"
- "testing"
- "time"
- "github.com/ethereum/go-ethereum/metrics"
- )
- func TestMain(m *testing.M) {
- metrics.Enabled = true
- os.Exit(m.Run())
- }
- func TestCollector(t *testing.T) {
- c := newCollector()
- counter := metrics.NewCounter()
- counter.Inc(12345)
- c.addCounter("test/counter", counter)
- gauge := metrics.NewGauge()
- gauge.Update(23456)
- c.addGauge("test/gauge", gauge)
- gaugeFloat64 := metrics.NewGaugeFloat64()
- gaugeFloat64.Update(34567.89)
- c.addGaugeFloat64("test/gauge_float64", gaugeFloat64)
- histogram := metrics.NewHistogram(&metrics.NilSample{})
- c.addHistogram("test/histogram", histogram)
- meter := metrics.NewMeter()
- defer meter.Stop()
- meter.Mark(9999999)
- c.addMeter("test/meter", meter)
- timer := metrics.NewTimer()
- defer timer.Stop()
- timer.Update(20 * time.Millisecond)
- timer.Update(21 * time.Millisecond)
- timer.Update(22 * time.Millisecond)
- timer.Update(120 * time.Millisecond)
- timer.Update(23 * time.Millisecond)
- timer.Update(24 * time.Millisecond)
- c.addTimer("test/timer", timer)
- resettingTimer := metrics.NewResettingTimer()
- resettingTimer.Update(10 * time.Millisecond)
- resettingTimer.Update(11 * time.Millisecond)
- resettingTimer.Update(12 * time.Millisecond)
- resettingTimer.Update(120 * time.Millisecond)
- resettingTimer.Update(13 * time.Millisecond)
- resettingTimer.Update(14 * time.Millisecond)
- c.addResettingTimer("test/resetting_timer", resettingTimer.Snapshot())
- emptyResettingTimer := metrics.NewResettingTimer().Snapshot()
- c.addResettingTimer("test/empty_resetting_timer", emptyResettingTimer)
- const expectedOutput = `# TYPE test_counter gauge
- test_counter 12345
- # TYPE test_gauge gauge
- test_gauge 23456
- # TYPE test_gauge_float64 gauge
- test_gauge_float64 34567.89
- # TYPE test_histogram_count counter
- test_histogram_count 0
- # TYPE test_histogram summary
- test_histogram {quantile="0.5"} 0
- test_histogram {quantile="0.75"} 0
- test_histogram {quantile="0.95"} 0
- test_histogram {quantile="0.99"} 0
- test_histogram {quantile="0.999"} 0
- test_histogram {quantile="0.9999"} 0
- # TYPE test_meter gauge
- test_meter 9999999
- # TYPE test_timer_count counter
- test_timer_count 6
- # TYPE test_timer summary
- test_timer {quantile="0.5"} 2.25e+07
- test_timer {quantile="0.75"} 4.8e+07
- test_timer {quantile="0.95"} 1.2e+08
- test_timer {quantile="0.99"} 1.2e+08
- test_timer {quantile="0.999"} 1.2e+08
- test_timer {quantile="0.9999"} 1.2e+08
- # TYPE test_resetting_timer_count counter
- test_resetting_timer_count 6
- # TYPE test_resetting_timer summary
- test_resetting_timer {quantile="0.50"} 12000000
- test_resetting_timer {quantile="0.95"} 120000000
- test_resetting_timer {quantile="0.99"} 120000000
- `
- exp := c.buff.String()
- if exp != expectedOutput {
- t.Log("Expected Output:\n", expectedOutput)
- t.Log("Actual Output:\n", exp)
- t.Fatal("unexpected collector output")
- }
- }
|