Documentation
¶
Overview ¶
Package multifilter - parallel proxying DNS messages to upstream resolvers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( RequestCount = promauto.NewCounterVec(prometheus.CounterOpts{ Namespace: plugin.Namespace, Subsystem: "multifilter", Name: "request_count_total", Help: "Counter of requests made per upstream.", }, []string{"to"}) RcodeCount = promauto.NewCounterVec(prometheus.CounterOpts{ Namespace: plugin.Namespace, Subsystem: "multifilter", Name: "response_rcode_count_total", Help: "Counter of requests made per upstream.", }, []string{"rcode", "to"}) RequestDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Namespace: plugin.Namespace, Subsystem: "multifilter", Name: "request_duration_seconds", Buckets: plugin.TimeBuckets, Help: "Histogram of the time each request took.", }, []string{"to"}) )
Variables declared for monitoring.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { Request(context.Context, *request.Request) (*dns.Msg, error) Endpoint() string SetTLSConfig(*tls.Config) }
Client represents the proxy for remote DNS server
type Domain ¶
type Domain interface { Get(string) Domain AddString(string) Add(string, Domain) Contains(string) bool IsFinal() bool Finish() }
Domain represents DNS domain name
type MultiFilter ¶
MultiFilter represents a plugin instance that can do async requests to list of DNS servers.
func New ¶
func New() *MultiFilter
New returns reference to new MultiFilter plugin instance with default configs.
func (*MultiFilter) OnShutdown ¶
func (f *MultiFilter) OnShutdown() error
OnShutdown stops all configured clients.
func (*MultiFilter) OnStartup ¶
func (f *MultiFilter) OnStartup() (err error)
OnStartup starts a goroutines for all clients.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.