Skip to content

Commit 77973dc

Browse files
fix: logging for subs error, added metrics for latest block fetched
1 parent 7db3da8 commit 77973dc

File tree

6 files changed

+46
-8
lines changed

6 files changed

+46
-8
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package shutterservice
2+
3+
import "github.com/prometheus/client_golang/prometheus"
4+
5+
var metricsRegistryEventsSyncedUntil = prometheus.NewGauge(
6+
prometheus.GaugeOpts{
7+
Namespace: "shutter",
8+
Subsystem: "shutter_api",
9+
Name: "registry_events_syned_until",
10+
Help: "Current value of the latest block fetched",
11+
},
12+
)
13+
14+
func init() {
15+
prometheus.MustRegister(metricsRegistryEventsSyncedUntil)
16+
}

rolling-shutter/keyperimpl/shutterservice/registrysyncer.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,8 @@ func (s *RegistrySyncer) syncRange(
182182
Int("num-inserted-events", len(filteredEvents)).
183183
Int("num-discarded-events", len(events)-len(filteredEvents)).
184184
Msg("synced registry contract")
185+
186+
metricsRegistryEventsSyncedUntil.Set(float64(end))
185187
return nil
186188
}
187189

rolling-shutter/medley/chainsync/syncer/eonpubkey.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (s *EonPubKeySyncer) Start(ctx context.Context, runner service.Runner) erro
6262
}
6363
runner.Defer(subs.Unsubscribe)
6464
runner.Go(func() error {
65-
return s.watchNewEonPubkey(ctx)
65+
return s.watchNewEonPubkey(ctx, subs.Err())
6666
})
6767
return nil
6868
}
@@ -126,7 +126,7 @@ func (s *EonPubKeySyncer) GetEonPubKeyForEon(ctx context.Context, opts *bind.Cal
126126
}, nil
127127
}
128128

129-
func (s *EonPubKeySyncer) watchNewEonPubkey(ctx context.Context) error {
129+
func (s *EonPubKeySyncer) watchNewEonPubkey(ctx context.Context, subsErr <-chan error) error {
130130
for {
131131
select {
132132
case newEonKey, ok := <-s.keyBroadcastCh:
@@ -147,6 +147,10 @@ func (s *EonPubKeySyncer) watchNewEonPubkey(ctx context.Context) error {
147147
err.Error(),
148148
)
149149
}
150+
case err := <-subsErr:
151+
if err != nil {
152+
s.Log.Error("subscription error for watchNewEonPubkey", err)
153+
}
150154
case <-ctx.Done():
151155
return ctx.Err()
152156
}

rolling-shutter/medley/chainsync/syncer/keyperset.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func (s *KeyperSetSyncer) Start(ctx context.Context, runner service.Runner) erro
7272
}
7373
runner.Defer(subs.Unsubscribe)
7474
runner.Go(func() error {
75-
return s.watchNewKeypersService(ctx)
75+
return s.watchNewKeypersService(ctx, subs.Err())
7676
})
7777
return nil
7878
}
@@ -204,7 +204,7 @@ func (s *KeyperSetSyncer) newEvent(
204204
}, nil
205205
}
206206

207-
func (s *KeyperSetSyncer) watchNewKeypersService(ctx context.Context) error {
207+
func (s *KeyperSetSyncer) watchNewKeypersService(ctx context.Context, subsErr <-chan error) error {
208208
for {
209209
select {
210210
case newKeypers, ok := <-s.keyperAddedCh:
@@ -234,6 +234,10 @@ func (s *KeyperSetSyncer) watchNewKeypersService(ctx context.Context) error {
234234
err.Error(),
235235
)
236236
}
237+
case err := <-subsErr:
238+
if err != nil {
239+
s.Log.Error("subscription error for watchNewKeypersService", err)
240+
}
237241
case <-ctx.Done():
238242
return ctx.Err()
239243
}

rolling-shutter/medley/chainsync/syncer/shutterstate.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func (s *ShutterStateSyncer) Start(ctx context.Context, runner service.Runner) e
6363
runner.Defer(subsUnpaused.Unsubscribe)
6464

6565
runner.Go(func() error {
66-
return s.watchPaused(ctx)
66+
return s.watchPaused(ctx, subs.Err(), subsUnpaused.Err())
6767
})
6868
return nil
6969
}
@@ -87,7 +87,7 @@ func (s *ShutterStateSyncer) handle(ctx context.Context, ev *event.ShutterState)
8787
}
8888
}
8989

90-
func (s *ShutterStateSyncer) watchPaused(ctx context.Context) error {
90+
func (s *ShutterStateSyncer) watchPaused(ctx context.Context, subsErr <-chan error, subsErrUnpaused <-chan error) error {
9191
isActive, err := s.pollIsActive(ctx)
9292
if err != nil {
9393
// XXX: this will fail everything, do we want that?
@@ -123,6 +123,14 @@ func (s *ShutterStateSyncer) watchPaused(ctx context.Context) error {
123123
}
124124
isActive = ev.Active
125125
s.handle(ctx, ev)
126+
case err := <-subsErr:
127+
if err != nil {
128+
s.Log.Error("subscription error for watchPaused")
129+
}
130+
case err := <-subsErrUnpaused:
131+
if err != nil {
132+
s.Log.Error("subscription error for watchUnpaused", err)
133+
}
126134
case <-ctx.Done():
127135
return ctx.Err()
128136
}

rolling-shutter/medley/chainsync/syncer/unsafehead.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ func (s *UnsafeHeadSyncer) Start(ctx context.Context, runner service.Runner) err
3333
}
3434
runner.Defer(subs.Unsubscribe)
3535
runner.Go(func() error {
36-
return s.watchLatestUnsafeHead(ctx)
36+
return s.watchLatestUnsafeHead(ctx, subs.Err())
3737
})
3838
return nil
3939
}
4040

41-
func (s *UnsafeHeadSyncer) watchLatestUnsafeHead(ctx context.Context) error {
41+
func (s *UnsafeHeadSyncer) watchLatestUnsafeHead(ctx context.Context, subsErr <-chan error) error {
4242
for {
4343
select {
4444
case newHeader, ok := <-s.newLatestHeadCh:
@@ -58,6 +58,10 @@ func (s *UnsafeHeadSyncer) watchLatestUnsafeHead(ctx context.Context) error {
5858
err.Error(),
5959
)
6060
}
61+
case err := <-subsErr:
62+
if err != nil {
63+
s.Log.Error("subscription error for watchLatestUnsafeHead", err)
64+
}
6165
case <-ctx.Done():
6266
return ctx.Err()
6367
}

0 commit comments

Comments
 (0)