fork of indigo with slightly nicer lexgen
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 33 lines 574 B view raw
1package backfill 2 3import ( 4 "io" 5 6 "github.com/prometheus/client_golang/prometheus" 7) 8 9type instrumentedReader struct { 10 source io.ReadCloser 11 counter prometheus.Counter 12} 13 14func (r instrumentedReader) Read(b []byte) (int, error) { 15 n, err := r.source.Read(b) 16 r.counter.Add(float64(n)) 17 return n, err 18} 19 20func (r instrumentedReader) Close() error { 21 var buf [32]byte 22 var n int 23 var err error 24 for err == nil { 25 n, err = r.source.Read(buf[:]) 26 r.counter.Add(float64(n)) 27 } 28 closeerr := r.source.Close() 29 if err != nil && err != io.EOF { 30 return err 31 } 32 return closeerr 33}