github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/clients/pkg/promtail/targets/gelf/metrics.go (about)

     1  package gelf
     2  
     3  import "github.com/prometheus/client_golang/prometheus"
     4  
     5  // Metrics holds a set of gelf metrics.
     6  type Metrics struct {
     7  	reg prometheus.Registerer
     8  
     9  	gelfEntries prometheus.Counter
    10  	gelfErrors  prometheus.Counter
    11  }
    12  
    13  // NewMetrics creates a new set of gelf metrics. If reg is non-nil, the
    14  // metrics will be registered.
    15  func NewMetrics(reg prometheus.Registerer) *Metrics {
    16  	var m Metrics
    17  	m.reg = reg
    18  
    19  	m.gelfEntries = prometheus.NewCounter(prometheus.CounterOpts{
    20  		Namespace: "promtail",
    21  		Name:      "gelf_target_entries_total",
    22  		Help:      "Total number of successful entries sent to the gelf target",
    23  	})
    24  	m.gelfErrors = prometheus.NewCounter(prometheus.CounterOpts{
    25  		Namespace: "promtail",
    26  		Name:      "gelf_target_parsing_errors_total",
    27  		Help:      "Total number of parsing errors while receiving gelf messages",
    28  	})
    29  
    30  	if reg != nil {
    31  		reg.MustRegister(
    32  			m.gelfEntries,
    33  			m.gelfErrors,
    34  		)
    35  	}
    36  
    37  	return &m
    38  }