package pro import ( "github.com/prometheus/client_golang/prometheus" ) type Prometheus struct { usersConfirmed prometheus.Counter // Количество пользователей подтвердивших регистрацию usersRegistered prometheus.Counter // Количество зарегистрировавшихся пользователей } func NewService() *Prometheus { // Количество пользователей подтвердивших регистрацию usersConfirmed := prometheus.NewCounter( prometheus.CounterOpts{ Name: "users_confirmed", }) prometheus.MustRegister(usersConfirmed) // Количество зарегистрировавшихся пользователей usersRegistered := prometheus.NewCounter( prometheus.CounterOpts{ Name: "users_registered", }) prometheus.MustRegister(usersRegistered) return &Prometheus{ usersConfirmed: usersConfirmed, usersRegistered: usersRegistered, } } func (s *Prometheus) IncUsersConfirmed() { s.usersConfirmed.Inc() // or: Add(5) } func (s *Prometheus) IncUsersRegistered() { s.usersRegistered.Inc() // or: Add(5) }