Quellcode durchsuchen

Make benchmark test work again

The metrics changes made the benchmarks or other server tests unable to run alone.
Ask Bjørn Hansen vor 11 Jahren
Ursprung
Commit
2ac9b6de76
4 geänderte Dateien mit 15 neuen und 8 gelöschten Zeilen
  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)