Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/util/reader.go

31 lines
482 B

package util
import (
"io"
)
type sizeReader struct {
size int64
r io.Reader
}
type SizeReader interface {
io.Reader
Size() int64
}
// NewSizeReader returns an io.Reader that will have the number of bytes
// read from r available.
func NewSizeReader(r io.Reader) SizeReader {
return &sizeReader{r: r}
}
func (v *sizeReader) Read(p []byte) (int, error) {
n, err := v.r.Read(p)
v.size += int64(n)
return n, err
}
func (v *sizeReader) Size() int64 {
return v.size
}