Skip to content

Commit c2f08a2

Browse files
committed
Remove computation of now unused data
1 parent 5f82ec0 commit c2f08a2

File tree

2 files changed

+6
-57
lines changed

2 files changed

+6
-57
lines changed

dnscrypt-proxy/monitoring_ui.go

Lines changed: 5 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ type resolverSnapshot struct {
106106
total uint64
107107
failed uint64
108108
success float64
109-
avgRttMs float64
110109
avgObservedMs float64
111110
lastUpdate time.Time
112111
lastAction time.Time
@@ -658,7 +657,6 @@ func (mc *MetricsCollector) collectResolverSnapshots() ([]resolverSnapshot, map[
658657
successRate = float64(total-failed) / float64(total)
659658
}
660659

661-
avgRtt := server.rtt.Value()
662660
lastUpdate := server.lastUpdateTime
663661
lastAction := server.lastActionTS
664662
score := mc.proxy.serversInfo.calculateServerScore(server)
@@ -678,7 +676,6 @@ func (mc *MetricsCollector) collectResolverSnapshots() ([]resolverSnapshot, map[
678676
total: total,
679677
failed: failed,
680678
success: successRate,
681-
avgRttMs: avgRtt,
682679
lastUpdate: lastUpdate,
683680
lastAction: lastAction,
684681
status: status,
@@ -857,70 +854,26 @@ func (mc *MetricsCollector) GetMetrics() map[string]interface{} {
857854
cacheStats := mc.collectCacheStats(cacheHitRatio, cacheHits, cacheMisses)
858855
resolverSnapshots, resolverIndex := mc.collectResolverSnapshots()
859856

860-
// Calculate per-server metrics sorted by increasing average response time
861-
serverMetrics := make([]map[string]interface{}, 0)
862-
863-
// Create a slice of server performance data
864-
type serverPerf struct {
865-
name string
866-
queries uint64
867-
avgTime float64
868-
}
869-
870-
// Read server data with its own lock
857+
// Update resolver snapshots with observed average response times.
871858
mc.serverMutex.RLock()
872-
serverPerfs := make([]serverPerf, 0, len(mc.serverQueryCount))
873859
for server, count := range mc.serverQueryCount {
874860
avgTime := float64(0)
875861
if count > 0 {
876862
avgTime = float64(mc.serverResponseTime[server]) / float64(count)
877863
}
878-
serverPerfs = append(serverPerfs, serverPerf{
879-
name: server,
880-
queries: count,
881-
avgTime: avgTime,
882-
})
864+
if snapshot, ok := resolverIndex[server]; ok {
865+
snapshot.avgObservedMs = avgTime
866+
resolverIndex[server] = snapshot
867+
}
883868
}
884869
mc.serverMutex.RUnlock()
885870

886-
// Sort by increasing average response time (faster servers first)
887-
sort.Slice(serverPerfs, func(i, j int) bool {
888-
if serverPerfs[i].avgTime != serverPerfs[j].avgTime {
889-
return serverPerfs[i].avgTime < serverPerfs[j].avgTime
890-
}
891-
return serverPerfs[i].name < serverPerfs[j].name
892-
})
893-
894-
for _, sp := range serverPerfs {
895-
if snapshot, ok := resolverIndex[sp.name]; ok {
896-
snapshot.avgObservedMs = sp.avgTime
897-
resolverIndex[sp.name] = snapshot
898-
}
899-
}
900871
for i, snapshot := range resolverSnapshots {
901872
if updated, ok := resolverIndex[snapshot.name]; ok {
902873
resolverSnapshots[i] = updated
903874
}
904875
}
905876

906-
// Convert to map for JSON output
907-
for _, sp := range serverPerfs {
908-
entry := map[string]interface{}{
909-
"name": sp.name,
910-
"queries": sp.queries,
911-
"avg_response_ms": sp.avgTime,
912-
}
913-
if snapshot, ok := resolverIndex[sp.name]; ok {
914-
entry["status"] = snapshot.status
915-
entry["success_rate"] = snapshot.success
916-
entry["failed_queries"] = snapshot.failed
917-
entry["total_queries"] = snapshot.total
918-
entry["score"] = snapshot.score
919-
entry["avg_rtt_ms"] = snapshot.avgRttMs
920-
}
921-
serverMetrics = append(serverMetrics, entry)
922-
}
923-
924877
// Get top domains (limited to 20) sorted by decreasing count
925878
topDomainsList := make([]map[string]interface{}, 0)
926879
if mc.privacyLevel < 2 {
@@ -1011,7 +964,6 @@ func (mc *MetricsCollector) GetMetrics() map[string]interface{} {
1011964
"success_rate": snapshot.success,
1012965
"total_queries": snapshot.total,
1013966
"failed_queries": snapshot.failed,
1014-
"avg_rtt_ms": snapshot.avgRttMs,
1015967
"score": snapshot.score,
1016968
}
1017969
if snapshot.avgObservedMs > 0 {
@@ -1042,7 +994,6 @@ func (mc *MetricsCollector) GetMetrics() map[string]interface{} {
1042994
"cache_misses": cacheMisses,
1043995
"avg_response_time": avgResponseTime,
1044996
"blocked_queries": blockCount,
1045-
"servers": serverMetrics,
1046997
"top_domains": topDomainsList,
1047998
"query_types": queryTypesList,
1048999
"recent_queries": recentQueries,

dnscrypt-proxy/static/js/monitoring.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,7 @@ function safeUpdateDashboard(data) {
135135
// Update resolver health table
136136
const resolverTable = document.getElementById('resolver-table').getElementsByTagName('tbody')[0];
137137
resolverTable.innerHTML = '';
138-
const resolverRows = Array.isArray(data.resolver_health) && data.resolver_health.length > 0
139-
? data.resolver_health
140-
: (Array.isArray(data.servers) ? data.servers : []);
138+
const resolverRows = Array.isArray(data.resolver_health) ? data.resolver_health : [];
141139

142140
if (resolverRows.length > 0) {
143141
// Sort by total queries (desc), then avg response, name, and last seen.

0 commit comments

Comments
 (0)