Skip to content

Commit cfe33ff

Browse files
tests
1 parent b513e72 commit cfe33ff

File tree

3 files changed

+772
-9
lines changed

3 files changed

+772
-9
lines changed

provider/provider.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1243,9 +1243,9 @@ func (s *SweepingProvider) batchReprovide(prefix bitstr.Key, periodicReprovide b
12431243
}
12441244

12451245
startTime := time.Now()
1246-
s.stats.ongoingProvides.start(keyCount)
1246+
s.stats.ongoingReprovides.start(keyCount)
12471247
defer func() {
1248-
s.stats.ongoingProvides.finish(keyCount)
1248+
s.stats.ongoingReprovides.finish(keyCount)
12491249
s.stats.reprovideDuration.Add(prefix, int64(time.Since(startTime)))
12501250
}()
12511251

provider/stats.go

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,24 @@ func (s *SweepingProvider) Stats() stats.Stats {
5252
s.scheduleLk.Lock()
5353
scheduleSize := s.schedule.Size()
5454
nextPrefix := s.scheduleCursor
55-
_, nextReprovideAt := trie.Find(s.schedule, nextPrefix)
55+
ok, nextReprovideOffset := trie.Find(s.schedule, nextPrefix)
5656
s.scheduleLk.Unlock()
5757

58+
currentOffset := s.currentTimeOffset()
59+
nextReprovideAt := time.Time{}
60+
if ok {
61+
nextReprovideAt = now.Add(s.timeUntil(nextReprovideOffset))
62+
}
63+
5864
keys := -1 // Default value if keyStore.Size() fails
5965
if keyCount, err := s.keystore.Size(context.Background()); err == nil {
6066
keys = keyCount
6167
}
62-
currentOffset := s.currentTimeOffset()
6368
snapshot.Schedule = stats.Schedule{
6469
Keys: keys,
6570
Regions: scheduleSize,
6671
AvgPrefixLength: avgPrefixLen,
67-
NextReprovideAt: now.Add(nextReprovideAt - currentOffset),
72+
NextReprovideAt: nextReprovideAt,
6873
NextReprovidePrefix: nextPrefix,
6974
}
7075

@@ -79,8 +84,8 @@ func (s *SweepingProvider) Stats() stats.Stats {
7984
Active: active,
8085
ActivePeriodic: workerStats.Used[periodicWorker],
8186
ActiveBurst: workerStats.Used[burstWorker],
82-
DedicatedPeriodic: workerStats.Used[periodicWorker],
83-
DedicatedBurst: workerStats.Used[burstWorker],
87+
DedicatedPeriodic: workerStats.Reserves[periodicWorker],
88+
DedicatedBurst: workerStats.Reserves[burstWorker],
8489
QueuedPeriodic: workerStats.Queued[periodicWorker],
8590
QueuedBurst: workerStats.Queued[burstWorker],
8691
MaxProvideConnsPerWorker: s.maxProvideConnsPerWorker,
@@ -121,15 +126,24 @@ func (s *SweepingProvider) Stats() stats.Stats {
121126
peersFullyCovered := s.stats.peers.FullyCovered()
122127
reachableSum := s.stats.reachable.Sum()
123128
avgHoldersAvg := s.stats.avgHolders.Avg()
129+
130+
keysProvidedPerMinute := 0.
131+
if time.Duration(provideDurationSum) > 0 {
132+
keysProvidedPerMinute = float64(keysPerProvideSum) / time.Duration(provideDurationSum).Minutes()
133+
}
134+
keysReprovidedPerMinute := 0.
135+
if time.Duration(reprovideDurationSum) > 0 {
136+
keysReprovidedPerMinute = float64(keysPerReprovideSum) / time.Duration(reprovideDurationSum).Minutes()
137+
}
124138
s.stats.cycleStatsLk.Unlock()
125139

126140
pastOps := stats.PastOperations{
127141
RecordsProvided: int(s.stats.recordsProvided.Load()),
128142
KeysProvided: int(s.stats.keysProvided.Load()),
129143
KeysFailed: int(s.stats.keysFailed.Load()),
130144

131-
KeysProvidedPerMinute: float64(keysPerProvideSum) / time.Duration(provideDurationSum).Minutes(),
132-
KeysReprovidedPerMinute: float64(keysPerReprovideSum) / time.Duration(reprovideDurationSum).Minutes(),
145+
KeysProvidedPerMinute: keysProvidedPerMinute,
146+
KeysReprovidedPerMinute: keysReprovidedPerMinute,
133147
RegionReprovideDuration: time.Duration(reprovideDurationAvg),
134148
AvgKeysPerReprovide: keysPerReprovideAvg,
135149
RegionReprovidedLastCycle: reprovideDurationCount,

0 commit comments

Comments
 (0)