github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/clients/pkg/promtail/targets/syslog/metrics.go (about) 1 package syslog 2 3 import "github.com/prometheus/client_golang/prometheus" 4 5 // Metrics holds a set of syslog metrics. 6 type Metrics struct { 7 reg prometheus.Registerer 8 9 syslogEntries prometheus.Counter 10 syslogParsingErrors prometheus.Counter 11 syslogEmptyMessages prometheus.Counter 12 } 13 14 // NewMetrics creates a new set of syslog metrics. If reg is non-nil, the 15 // metrics will be registered. 16 func NewMetrics(reg prometheus.Registerer) *Metrics { 17 var m Metrics 18 m.reg = reg 19 20 m.syslogEntries = prometheus.NewCounter(prometheus.CounterOpts{ 21 Namespace: "promtail", 22 Name: "syslog_target_entries_total", 23 Help: "Total number of successful entries sent to the syslog target", 24 }) 25 m.syslogParsingErrors = prometheus.NewCounter(prometheus.CounterOpts{ 26 Namespace: "promtail", 27 Name: "syslog_target_parsing_errors_total", 28 Help: "Total number of parsing errors while receiving syslog messages", 29 }) 30 m.syslogEmptyMessages = prometheus.NewCounter(prometheus.CounterOpts{ 31 Namespace: "promtail", 32 Name: "syslog_empty_messages_total", 33 Help: "Total number of empty messages receiving from syslog", 34 }) 35 36 if reg != nil { 37 reg.MustRegister( 38 m.syslogEntries, 39 m.syslogParsingErrors, 40 m.syslogEmptyMessages, 41 ) 42 } 43 44 return &m 45 }