func NewMonitor(interval uint64, db *reform.DB,
	logger log.Logger, pr *proc.Processor) (*Monitor, error) {
	if db == nil || logger == nil || pr == nil || interval == 0 {
		return nil, ErrInput
	}

	return &Monitor{
		db:       db,
		logger:   logger.Add("type", "agent/bill.Monitor"),
		pr:       pr,
		interval: interval,
	}, nil
}
func NewMonitor(interval uint64, db *reform.DB,
	logger log.Logger, pr *proc.Processor) (*Monitor, error) {
	if db == nil || logger == nil || pr == nil || interval == 0 {
		return nil, ErrInput
	}

	return &Monitor{
		db:       db,
		logger:   logger.Add("type", "agent/bill.Monitor"),
		pr:       pr,
		interval: interval,
	}, nil
}
func NewMonitor ( interval uint64 , db * reform . DB , logger log . Logger , pr * proc . Processor ) ( * Monitor , error ) { if db == nil || logger == nil || pr == nil || interval == 0 { return nil , ErrInput } return & Monitor { db : db , logger : logger . Add ( " " , " " ) , pr : pr , interval : interval , } , nil }
// NewMonitor creates new instance of billing monitor.
// 'interval' specifies how often channels checks must be performed.
NewMonitor creates new instance of billing monitor . interval specifies how often channels checks must be performed .