 dd9309c15e
			
		
	
	dd9309c15e
	
	
	
		
			
			Initial vendor list validated with empty $GOPATH and only master checked out; followed by `make` and verified that all binaries build properly. Updates require github.com/LK4D4/vndr tool. Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package metrics
 | |
| 
 | |
| import "github.com/prometheus/client_golang/prometheus"
 | |
| 
 | |
| // Counter is a metrics that can only increment its current count
 | |
| type Counter interface {
 | |
| 	// Inc adds Sum(vs) to the counter. Sum(vs) must be positive.
 | |
| 	//
 | |
| 	// If len(vs) == 0, increments the counter by 1.
 | |
| 	Inc(vs ...float64)
 | |
| }
 | |
| 
 | |
| // LabeledCounter is counter that must have labels populated before use.
 | |
| type LabeledCounter interface {
 | |
| 	WithValues(vs ...string) Counter
 | |
| }
 | |
| 
 | |
| type labeledCounter struct {
 | |
| 	pc *prometheus.CounterVec
 | |
| }
 | |
| 
 | |
| func (lc *labeledCounter) WithValues(vs ...string) Counter {
 | |
| 	return &counter{pc: lc.pc.WithLabelValues(vs...)}
 | |
| }
 | |
| 
 | |
| func (lc *labeledCounter) Describe(ch chan<- *prometheus.Desc) {
 | |
| 	lc.pc.Describe(ch)
 | |
| }
 | |
| 
 | |
| func (lc *labeledCounter) Collect(ch chan<- prometheus.Metric) {
 | |
| 	lc.pc.Collect(ch)
 | |
| }
 | |
| 
 | |
| type counter struct {
 | |
| 	pc prometheus.Counter
 | |
| }
 | |
| 
 | |
| func (c *counter) Inc(vs ...float64) {
 | |
| 	if len(vs) == 0 {
 | |
| 		c.pc.Inc()
 | |
| 	}
 | |
| 
 | |
| 	c.pc.Add(sumFloat64(vs...))
 | |
| }
 | |
| 
 | |
| func (c *counter) Describe(ch chan<- *prometheus.Desc) {
 | |
| 	c.pc.Describe(ch)
 | |
| }
 | |
| 
 | |
| func (c *counter) Collect(ch chan<- prometheus.Metric) {
 | |
| 	c.pc.Collect(ch)
 | |
| }
 |