...

Source file src/golang.conradwood.net/go-easyops/sql/stats_collector.go

Documentation: golang.conradwood.net/go-easyops/sql

     1  package sql
     2  
     3  import (
     4  	pm "github.com/prometheus/client_golang/prometheus"
     5  	//	"golang.conradwood.net/go-easyops/prometheus"
     6  )
     7  
     8  type PoolSizeCollector struct {
     9  	counterDesc *pm.Desc
    10  }
    11  
    12  func (c *PoolSizeCollector) Describe(ch chan<- *pm.Desc) {
    13  	ch <- c.counterDesc
    14  }
    15  
    16  func (c *PoolSizeCollector) Collect(ch chan<- pm.Metric) {
    17  	for _, db := range databases {
    18  		value := float64(db.dbcon.Stats().OpenConnections)
    19  		ch <- pm.MustNewConstMetric(
    20  			c.counterDesc,
    21  			pm.CounterValue,
    22  			value,
    23  			db.dbname,
    24  		)
    25  
    26  	}
    27  }
    28  func NewPoolSizeCollector() *PoolSizeCollector {
    29  	x := &PoolSizeCollector{
    30  		counterDesc: pm.NewDesc("sql_pool_size", "sql pool size",
    31  			[]string{"database"},
    32  			nil),
    33  	}
    34  	return x
    35  }
    36  

View as plain text