Don't count a per-view counter going down as a restart of named
After a reconfig that changed named's views, the cache and resolver counters (summed over views) went down, which was taken for a restart: every counter then counted its total since named started for one minute. Only a new boot time means a restart now; a counter that goes down counts 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
89663e366b
commit
33060f86ce
3 files changed
+24
-15
No files matched your search
@@ -47,9 +47,15 @@ func TestFlattenAndDelta(t *testing.T) {
|
||||
if d := Delta(s2, s3); d["queries"] != 3 || d["qtype:A"] != 3 {
|
||||
t.Errorf("restart delta = %v", d)
|
||||
}
|
||||
// A counter going down also means a restart.
|
||||
s4 := &Snapshot{BootTime: s2.BootTime, Values: map[string]int64{"queries": 2}}
|
||||
if d := Delta(s2, s4); d["queries"] != 2 {
|
||||
t.Errorf("reset delta = %v", d)
|
||||
// A counter going down without a restart (views changed in a
|
||||
// reconfig) counts 0, and doesn't make the others count from zero.
|
||||
s4 := &Snapshot{BootTime: s2.BootTime, Values: map[string]int64{}}
|
||||
for k, v := range s2.Values {
|
||||
s4.Values[k] = v
|
||||
}
|
||||
s4.Values["queries"] += 4
|
||||
s4.Values["cache:hits"] = 1 // was 4: a view's cache counters are gone
|
||||
if d := Delta(s2, s4); d["queries"] != 4 || d["cache:hits"] != 0 || len(d) != 1 {
|
||||
t.Errorf("delta with a counter going down = %v", d)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user