Skip to content

Commit a6d4eed

Browse files
authored
dispute-mon: Set claim statuses that no longer have games back to 0 (#10391)
1 parent 3f198f3 commit a6d4eed

File tree

3 files changed

+30
-1
lines changed

3 files changed

+30
-1
lines changed

op-dispute-mon/metrics/metrics.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,19 @@ const (
6565
SecondHalfNotExpiredUnresolved
6666
)
6767

68+
func ZeroClaimStatuses() map[ClaimStatus]int {
69+
return map[ClaimStatus]int{
70+
FirstHalfExpiredResolved: 0,
71+
FirstHalfExpiredUnresolved: 0,
72+
FirstHalfNotExpiredResolved: 0,
73+
FirstHalfNotExpiredUnresolved: 0,
74+
SecondHalfExpiredResolved: 0,
75+
SecondHalfExpiredUnresolved: 0,
76+
SecondHalfNotExpiredResolved: 0,
77+
SecondHalfNotExpiredUnresolved: 0,
78+
}
79+
}
80+
6881
type HonestActorData struct {
6982
PendingClaimCount int
7083
ValidClaimCount int

op-dispute-mon/mon/claims.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func NewClaimMonitor(logger log.Logger, clock RClock, honestActors []common.Addr
3535
}
3636

3737
func (c *ClaimMonitor) CheckClaims(games []*types.EnrichedGameData) {
38-
claimStatus := make(map[metrics.ClaimStatus]int)
38+
claimStatus := metrics.ZeroClaimStatuses()
3939
honest := make(map[common.Address]*metrics.HonestActorData)
4040
for actor := range c.honestActors {
4141
honest[actor] = &metrics.HonestActorData{

op-dispute-mon/mon/claims_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,22 @@ func TestClaimMonitor_CheckClaims(t *testing.T) {
3434
require.Equal(t, 1, cMetrics.calls[metrics.SecondHalfNotExpiredUnresolved])
3535
})
3636

37+
t.Run("ZeroRecordsClaims", func(t *testing.T) {
38+
monitor, _, cMetrics := newTestClaimMonitor(t)
39+
var games []*types.EnrichedGameData
40+
monitor.CheckClaims(games)
41+
// Check we zero'd out any categories that didn't have games in them (otherwise they retain their previous value)
42+
require.Contains(t, cMetrics.calls, metrics.FirstHalfExpiredResolved)
43+
require.Contains(t, cMetrics.calls, metrics.FirstHalfExpiredUnresolved)
44+
require.Contains(t, cMetrics.calls, metrics.FirstHalfNotExpiredResolved)
45+
require.Contains(t, cMetrics.calls, metrics.FirstHalfNotExpiredUnresolved)
46+
47+
require.Contains(t, cMetrics.calls, metrics.SecondHalfExpiredResolved)
48+
require.Contains(t, cMetrics.calls, metrics.SecondHalfExpiredUnresolved)
49+
require.Contains(t, cMetrics.calls, metrics.SecondHalfNotExpiredResolved)
50+
require.Contains(t, cMetrics.calls, metrics.SecondHalfNotExpiredUnresolved)
51+
})
52+
3753
t.Run("RecordsUnexpectedClaimResolution", func(t *testing.T) {
3854
monitor, cl, cMetrics := newTestClaimMonitor(t)
3955
games := makeMultipleTestGames(uint64(cl.Now().Unix()))

0 commit comments

Comments
 (0)