func NewManager(ctx context.Context, logger log.Logger, options ...func(*Manager)) *Manager {
	if logger == nil {
		logger = log.NewNopLogger()
	}
	mgr := &Manager{
		logger:         logger,
		syncCh:         make(chan map[string][]*targetgroup.Group),
		targets:        make(map[poolKey]map[string]*targetgroup.Group),
		discoverCancel: []context.CancelFunc{},
		ctx:            ctx,
		updatert:       5 * time.Second,
		triggerSend:    make(chan struct{}, 1),
	}
	for _, option := range options {
		option(mgr)
	}
	return mgr
}
func NewManager(ctx context.Context, logger log.Logger, options ...func(*Manager)) *Manager {
	if logger == nil {
		logger = log.NewNopLogger()
	}
	mgr := &Manager{
		logger:         logger,
		syncCh:         make(chan map[string][]*targetgroup.Group),
		targets:        make(map[poolKey]map[string]*targetgroup.Group),
		discoverCancel: []context.CancelFunc{},
		ctx:            ctx,
		updatert:       5 * time.Second,
		triggerSend:    make(chan struct{}, 1),
	}
	for _, option := range options {
		option(mgr)
	}
	return mgr
}
func NewManager ( ctx context . Context , logger log . Logger , options ... func ( * Manager ) ) * Manager { if logger == nil { logger = log . NewNopLogger ( ) } mgr := & Manager { logger : logger , syncCh : make ( chan map [ string ] [ ] * targetgroup . Group ) , targets : make ( map [ poolKey ] map [ string ] * targetgroup . Group ) , discoverCancel : [ ] context . CancelFunc { } , ctx : ctx , updatert : 5 * time . Second , triggerSend : make ( chan struct { } , 1 ) , } for _ , option := range options { option ( mgr ) } return mgr }
// NewManager is the Discovery Manager constructor.
NewManager is the Discovery Manager constructor .