debug_test.go 467 B

123456789101112131415161718192021222324252627282930313233
  1. package metrics
  2. import (
  3. "runtime/debug"
  4. "testing"
  5. )
  6. func BenchmarkDebugGCStats(b *testing.B) {
  7. r := NewRegistry()
  8. RegisterDebugGCStats(r)
  9. b.ResetTimer()
  10. for i := 0; i < b.N; i++ {
  11. CaptureDebugGCStatsOnce(r)
  12. }
  13. }
  14. func TestDebugGCStatsBlocking(t *testing.T) {
  15. ch := make(chan int)
  16. go func() {
  17. i := 0
  18. for {
  19. select {
  20. case ch <- i:
  21. return
  22. default:
  23. i++
  24. }
  25. }
  26. }()
  27. var gcStats debug.GCStats
  28. debug.ReadGCStats(&gcStats)
  29. t.Log(<-ch)
  30. }