Pull request 1809: 4299-querylog-stats-clients-api
Merge in DNS/adguard-home from 4299-querylog-stats-clients-api to master Squashed commit of the following: commit 066100a7869d7572c4ae65b3c7b1487ac50baf15 Merge: 95bc00c05da77514Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Apr 14 13:57:30 2023 +0300 Merge branch 'master' into 4299-querylog-stats-clients-api commit 95bc00c0b3d05b262ee0b90be9757e61cac0778c Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Apr 13 11:48:39 2023 +0300 all: fix typo commit 4b868da48f0c976d204346e40ba948803be6397f Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Apr 13 11:42:52 2023 +0300 all: fix text label commit 7a3ba5c7f688bd53cf761b5e8e614fbe251bd006 Merge: 315256e36c8d89a4Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Apr 13 11:34:59 2023 +0300 Merge branch 'master' into 4299-querylog-stats-clients-api commit 315256e3f3861b5116962f7c47384b7c72e41813 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Apr 11 19:07:18 2023 +0300 all: ignore search, unit commit 28c6ffec9558e7c38d7bd12055eabddb8f5675c2 Author: Artem Krisanov <a.krisanov@adguard.com> Date: Tue Apr 11 15:08:35 2023 +0300 Added 'Protection' and 'Query Log and statistics' sections to client settings. Added checkboxes to ignore client in (query log/statistics) commit 2657bd2b820d8b2b3d71d23e4545c867b9ae6cdf Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Apr 10 17:28:59 2023 +0300 all: add todo commit e151fcbc0c36d8e6a5c091fbf374bf0e35804699 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Apr 10 15:15:46 2023 +0300 openapi: imp docs commit 31875cbbd1bd09a73baa3636d0cc242b5ac35059 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Apr 10 13:02:31 2023 +0300 all: add querylog stats client ignore api
This commit is contained in:
@@ -423,7 +423,7 @@ func (s *StatsCtx) getData(limit uint32) (StatsResp, bool) {
|
||||
ReplacedParental: statsCollector(units, firstID, timeUnit, func(u *unitDB) (num uint64) { return u.NResult[RParental] }),
|
||||
TopQueried: topsCollector(units, maxDomains, s.ignored, func(u *unitDB) (pairs []countPair) { return u.Domains }),
|
||||
TopBlocked: topsCollector(units, maxDomains, s.ignored, func(u *unitDB) (pairs []countPair) { return u.BlockedDomains }),
|
||||
TopClients: topsCollector(units, maxClients, nil, func(u *unitDB) (pairs []countPair) { return u.Clients }),
|
||||
TopClients: topsCollector(units, maxClients, nil, topClientPairs(s)),
|
||||
}
|
||||
|
||||
// Total counters:
|
||||
@@ -460,3 +460,17 @@ func (s *StatsCtx) getData(limit uint32) (StatsResp, bool) {
|
||||
|
||||
return data, true
|
||||
}
|
||||
|
||||
func topClientPairs(s *StatsCtx) (pg pairsGetter) {
|
||||
return func(u *unitDB) (clients []countPair) {
|
||||
for _, c := range u.Clients {
|
||||
if c.Name != "" && !s.shouldCountClient([]string{c.Name}) {
|
||||
continue
|
||||
}
|
||||
|
||||
clients = append(clients, c)
|
||||
}
|
||||
|
||||
return clients
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user