Documentation
¶
Index ¶
- Constants
- type BlockListMetrics
- type Cache
- type DnsMetrics
- type RequestSnapshot
- func (t *RequestSnapshot) AddBlockedDomain(domain string, cause string)
- func (t *RequestSnapshot) AddDomain(domain string)
- func (t *RequestSnapshot) AddQueryCount(queryType string, blocked bool)
- func (t *RequestSnapshot) AddUpstreamTTL(queryType string, ttl float64)
- func (t *RequestSnapshot) BlockCause() string
- func (t *RequestSnapshot) Finished() *RequestSnapshot
- func (t *RequestSnapshot) Forwarded()
- func (t *RequestSnapshot) FromCache() bool
- func (t *RequestSnapshot) IPAddr() string
- func (t *RequestSnapshot) IsBlocked() bool
- func (t *RequestSnapshot) Latency() time.Duration
- func (t *RequestSnapshot) PrimaryDomain() string
- func (t *RequestSnapshot) QueryType() string
- func (t *RequestSnapshot) Rcode() string
- func (t *RequestSnapshot) Record(metrics *DnsMetrics)
- func (t *RequestSnapshot) SetErrorCategory(category string)
- func (t *RequestSnapshot) SetFromCache(fromCache bool)
- func (t *RequestSnapshot) SetPrimaryDomain(domain string)
- func (t *RequestSnapshot) SetQueryType(queryType string)
- func (t *RequestSnapshot) SetRcode(rcode string)
- func (t *RequestSnapshot) Source() string
- type SafeSketch
- type SpaceSaver
- type SpaceSaverEntry
- type StatsCollector
Constants ¶
View Source
const TOP_K = 50
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockListMetrics ¶
type BlockListMetrics struct {
// contains filtered or unexported fields
}
func NewBlockListMetrics ¶
func NewBlockListMetrics(name string) (*BlockListMetrics, error)
func (*BlockListMetrics) Update ¶
func (m *BlockListMetrics) Update(n uint)
type DnsMetrics ¶
type DnsMetrics struct {
RequestLatency prometheus.Histogram
ErrorCounts *prometheus.CounterVec
RequestCounts *prometheus.CounterVec
QueryCounts *prometheus.CounterVec
ReplyCounts *prometheus.CounterVec
ProviderCounts *prometheus.CounterVec
UniqueClients *SafeSketch
TopClients *SpaceSaver
TopDomains *SpaceSaver
TopBlockedDomains *SpaceSaver
UpstreamTTLs *prometheus.HistogramVec
UpstreamLatency *prometheus.HistogramVec
UpstreamEMA *prometheus.GaugeVec
CacheReaperCalls prometheus.Counter
DroppedCacheUpdates prometheus.Counter
DroppedTelemetry prometheus.Counter
PoolEvictions *prometheus.CounterVec
UpstreamFailures *prometheus.CounterVec
PooledConnDeaths *prometheus.CounterVec
// contains filtered or unexported fields
}
func NewDNSMetrics ¶
func NewDNSMetrics(cache Cache, geoIpLookup geoblock.GeoIpLookup) (*DnsMetrics, error)
type RequestSnapshot ¶
type RequestSnapshot struct {
// contains filtered or unexported fields
}
func NewRequestSnapshot ¶
func NewRequestSnapshot(startTime time.Time, source string, ipAddr string) *RequestSnapshot
func (*RequestSnapshot) AddBlockedDomain ¶
func (t *RequestSnapshot) AddBlockedDomain(domain string, cause string)
func (*RequestSnapshot) AddDomain ¶
func (t *RequestSnapshot) AddDomain(domain string)
func (*RequestSnapshot) AddQueryCount ¶
func (t *RequestSnapshot) AddQueryCount(queryType string, blocked bool)
func (*RequestSnapshot) AddUpstreamTTL ¶
func (t *RequestSnapshot) AddUpstreamTTL(queryType string, ttl float64)
func (*RequestSnapshot) BlockCause ¶ added in v0.15.0
func (t *RequestSnapshot) BlockCause() string
func (*RequestSnapshot) Finished ¶
func (t *RequestSnapshot) Finished() *RequestSnapshot
func (*RequestSnapshot) Forwarded ¶
func (t *RequestSnapshot) Forwarded()
func (*RequestSnapshot) FromCache ¶ added in v0.10.0
func (t *RequestSnapshot) FromCache() bool
func (*RequestSnapshot) IPAddr ¶ added in v0.6.0
func (t *RequestSnapshot) IPAddr() string
func (*RequestSnapshot) IsBlocked ¶ added in v0.6.0
func (t *RequestSnapshot) IsBlocked() bool
func (*RequestSnapshot) Latency ¶
func (t *RequestSnapshot) Latency() time.Duration
func (*RequestSnapshot) PrimaryDomain ¶ added in v0.6.0
func (t *RequestSnapshot) PrimaryDomain() string
func (*RequestSnapshot) QueryType ¶ added in v0.10.0
func (t *RequestSnapshot) QueryType() string
func (*RequestSnapshot) Rcode ¶ added in v0.10.0
func (t *RequestSnapshot) Rcode() string
func (*RequestSnapshot) Record ¶
func (t *RequestSnapshot) Record(metrics *DnsMetrics)
func (*RequestSnapshot) SetErrorCategory ¶
func (t *RequestSnapshot) SetErrorCategory(category string)
func (*RequestSnapshot) SetFromCache ¶ added in v0.10.0
func (t *RequestSnapshot) SetFromCache(fromCache bool)
func (*RequestSnapshot) SetPrimaryDomain ¶ added in v0.6.0
func (t *RequestSnapshot) SetPrimaryDomain(domain string)
func (*RequestSnapshot) SetQueryType ¶ added in v0.10.0
func (t *RequestSnapshot) SetQueryType(queryType string)
func (*RequestSnapshot) SetRcode ¶
func (t *RequestSnapshot) SetRcode(rcode string)
func (*RequestSnapshot) Source ¶ added in v0.6.0
func (t *RequestSnapshot) Source() string
type SafeSketch ¶
type SafeSketch struct {
// contains filtered or unexported fields
}
func (*SafeSketch) Estimate ¶
func (s *SafeSketch) Estimate() uint64
func (*SafeSketch) Insert ¶
func (s *SafeSketch) Insert(data []byte)
type SpaceSaver ¶
type SpaceSaver struct {
// contains filtered or unexported fields
}
func NewSpaceSaver ¶
func NewSpaceSaver(k int) *SpaceSaver
NewSpaceSaver creates a new tracker with space for k items.
func (*SpaceSaver) TopN ¶
func (s *SpaceSaver) TopN(n int) []SpaceSaverEntry
TopN returns the current top-n items (sorted by count desc).
type SpaceSaverEntry ¶
type StatsCollector ¶
type StatsCollector struct {
// contains filtered or unexported fields
}
func NewStatsCollector ¶
func (*StatsCollector) Collect ¶
func (coll *StatsCollector) Collect(ch chan<- prometheus.Metric)
func (*StatsCollector) Describe ¶
func (coll *StatsCollector) Describe(ch chan<- *prometheus.Desc)
Click to show internal directories.
Click to hide internal directories.