فهرست منبع

Make benchmark test work again

The metrics changes made the benchmarks or other server tests unable to run alone.
Ask Bjørn Hansen 11 سال پیش
والد
کامیت
2ac9b6de76
4فایلهای تغییر یافته به همراه15 افزوده شده و 8 حذف شده
  1. 1 1
      geodns.go
  2. 7 5
      metrics.go
  3. 4 1
      monitor_test.go
  4. 3 1
      serve_test.go

+ 1 - 1
geodns.go

@@ -135,7 +135,7 @@ func main() {
 	go configWatcher(configFileName)
 
 	metrics := NewMetrics()
-	go metrics.Updater()
+	go metrics.Updater(true)
 
 	go statHatPoster()
 

+ 7 - 5
metrics.go

@@ -32,12 +32,14 @@ func NewMetrics() *ServerMetrics {
 	return m
 }
 
-func (m *ServerMetrics) Updater() {
+func (m *ServerMetrics) Updater(printStatus bool) {
 
-	go func() {
-		time.Sleep(2 * time.Second)
-		metrics.Log(metrics.DefaultRegistry, 30, log.New(os.Stderr, "metrics: ", log.Lmicroseconds))
-	}()
+	if printStatus {
+		go func() {
+			time.Sleep(2 * time.Second)
+			metrics.Log(metrics.DefaultRegistry, 30, log.New(os.Stderr, "metrics: ", log.Lmicroseconds))
+		}()
+	}
 
 	for {
 		time.Sleep(1 * time.Second)

+ 4 - 1
monitor_test.go

@@ -19,12 +19,15 @@ var _ = Suite(&MonitorSuite{})
 func (s *MonitorSuite) SetUpSuite(c *C) {
 	s.zones = make(Zones)
 	s.metrics = NewMetrics()
-	go s.metrics.Updater()
+	go s.metrics.Updater(false)
 
 	*flaghttp = ":8881"
 
 	fmt.Println("Starting http server")
 
+	// TODO: use httptest
+	// https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/Jk785WB7F8I
+
 	zonesReadDir("dns", s.zones)
 	go httpHandler(s.zones)
 	time.Sleep(500 * time.Millisecond)

+ 3 - 1
serve_test.go

@@ -20,7 +20,9 @@ var _ = Suite(&ServeSuite{})
 
 func (s *ServeSuite) SetUpSuite(c *C) {
 
-	// log.Println("Setting up serve test suite")
+	// setup and register metrics
+	metrics := NewMetrics()
+	go metrics.Updater(false)
 
 	Zones := make(Zones)
 	setupPgeodnsZone(Zones)