mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	Metrics registered on wrong prometheus registry (#2246)
* - UT on metrics verifying that all plugins of all blocs have their metrics collectors declared * - fix error msg * - redirect Registry of metric to the one that handle the listener - allow duplicate of metrics collector on the same Registry (case of same plugin in 2 blocs listening metrics on the same address) * - fix change of signature * - ensure cleaning metrics before starting the test (metrics collectors are global vars .. and re-used by several tests) * - I think I fixed this test. Ensure correct mn of hits and clean metrics before test. * - fix typo in error msg - proposed at review * - fix typo in comment * - remove ResetMetrics functions - change a way to test the numeric metrics : get the diff between begin and end of test * - oops. removing debug logs
This commit is contained in:
		
				
					committed by
					
						 Miek Gieben
						Miek Gieben
					
				
			
			
				
	
			
			
			
						parent
						
							f5aa6cac67
						
					
				
				
					commit
					05204ef142
				
			| @@ -31,6 +31,13 @@ func setup(c *caddy.Controller) error { | ||||
| 		return plugin.Error("prometheus", err) | ||||
| 	} | ||||
|  | ||||
| 	// register the metrics to its address (ensure only one active metrics per address) | ||||
| 	obj := uniqAddr.Set(m.Addr, m.OnStartup, m) | ||||
| 	//propagate the real active Registry to current metrics | ||||
| 	if om, ok := obj.(*Metrics); ok { | ||||
| 		m.Reg = om.Reg | ||||
| 	} | ||||
|  | ||||
| 	dnsserver.GetConfig(c).AddPlugin(func(next plugin.Handler) plugin.Handler { | ||||
| 		m.Next = next | ||||
| 		return m | ||||
| @@ -55,10 +62,6 @@ func setup(c *caddy.Controller) error { | ||||
| func prometheusParse(c *caddy.Controller) (*Metrics, error) { | ||||
| 	var met = New(defaultAddr) | ||||
|  | ||||
| 	defer func() { | ||||
| 		uniqAddr.Set(met.Addr, met.OnStartup) | ||||
| 	}() | ||||
|  | ||||
| 	i := 0 | ||||
| 	for c.Next() { | ||||
| 		if i > 0 { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user