@@ -237,33 +237,34 @@ func (e *FPMPoolStatus) reset() {
237237	e .slowRequests .Reset ()
238238}
239239
240+ func  setAndCollect (gaugeVec  * prometheus.GaugeVec , poolName  string , val  int , ch  chan <-  prometheus.Metric ) {
241+ 	gauge  :=  gaugeVec .WithLabelValues (poolName )
242+ 	gauge .Set (float64 (val ))
243+ 	gauge .Collect (ch )
244+ }
245+ 
246+ func  addAndCollect (counterVec  * prometheus.CounterVec , poolName  string , val  int , ch  chan <-  prometheus.Metric ) {
247+ 	counter  :=  counterVec .WithLabelValues (poolName )
248+ 	counter .Add (float64 (val ))
249+ 	counter .Collect (ch )
250+ }
251+ 
240252func  (e  * FPMPoolStatus ) Collect (ch  chan <-  prometheus.Metric ) {
241253	e .resetMetrics ()
242254	statuses  :=  e .stat .GetStatuses ()
243255	for  _ , p  :=  range  statuses  {
244- 		e .listenQueue .WithLabelValues (p .Name ).Set (float64 (p .ListenQueue ))
245- 		e .listenQueueLen .WithLabelValues (p .Name ).Set (float64 (p .ListenQueueLen ))
246- 		e .idleProcesses .WithLabelValues (p .Name ).Set (float64 (p .IdleProcesses ))
247- 		e .activeProcesses .WithLabelValues (p .Name ).Set (float64 (p .ActiveProcesses ))
248- 		e .totalProcesses .WithLabelValues (p .Name ).Set (float64 (p .TotalProcesses ))
249- 		e .startSince .WithLabelValues (p .Name ).Add (float64 (p .StartSince ))
250- 		e .acceptedConn .WithLabelValues (p .Name ).Add (float64 (p .AcceptedConn ))
251- 		e .maxListenQueue .WithLabelValues (p .Name ).Add (float64 (p .MaxListenQueue ))
252- 		e .maxActiveProcesses .WithLabelValues (p .Name ).Add (float64 (p .MaxActiveProcesses ))
253- 		e .maxChildrenReached .WithLabelValues (p .Name ).Add (float64 (p .MaxChildrenReached ))
254- 		e .slowRequests .WithLabelValues (p .Name ).Add (float64 (p .SlowRequests ))
255- 
256- 		e .listenQueue .WithLabelValues (p .Name ).Collect (ch )
257- 		e .listenQueueLen .WithLabelValues (p .Name ).Collect (ch )
258- 		e .idleProcesses .WithLabelValues (p .Name ).Collect (ch )
259- 		e .activeProcesses .WithLabelValues (p .Name ).Collect (ch )
260- 		e .totalProcesses .WithLabelValues (p .Name ).Collect (ch )
261- 		e .startSince .WithLabelValues (p .Name ).Collect (ch )
262- 		e .acceptedConn .WithLabelValues (p .Name ).Collect (ch )
263- 		e .maxListenQueue .WithLabelValues (p .Name ).Collect (ch )
264- 		e .maxActiveProcesses .WithLabelValues (p .Name ).Collect (ch )
265- 		e .maxChildrenReached .WithLabelValues (p .Name ).Collect (ch )
266- 		e .slowRequests .WithLabelValues (p .Name ).Collect (ch )
256+ 		setAndCollect (e .listenQueue , p .Name , p .ListenQueue , ch )
257+ 		setAndCollect (e .listenQueueLen , p .Name , p .ListenQueueLen , ch )
258+ 		setAndCollect (e .idleProcesses , p .Name , p .IdleProcesses , ch )
259+ 		setAndCollect (e .activeProcesses , p .Name , p .ActiveProcesses , ch )
260+ 		setAndCollect (e .totalProcesses , p .Name , p .TotalProcesses , ch )
261+ 
262+ 		addAndCollect (e .startSince , p .Name , p .StartSince , ch )
263+ 		addAndCollect (e .acceptedConn , p .Name , p .AcceptedConn , ch )
264+ 		addAndCollect (e .maxListenQueue , p .Name , p .MaxListenQueue , ch )
265+ 		addAndCollect (e .maxActiveProcesses , p .Name , p .MaxActiveProcesses , ch )
266+ 		addAndCollect (e .maxChildrenReached , p .Name , p .MaxChildrenReached , ch )
267+ 		addAndCollect (e .slowRequests , p .Name , p .SlowRequests , ch )
267268	}
268269}
269270
0 commit comments