adaptive longOp for du operation

This commit is contained in:
Seth Jennings 2017-10-04 22:09:11 -05:00
parent b9ab5d6ba9
commit fd9c6d2fde

View File

@ -51,7 +51,6 @@ type realFsHandler struct {
}
const (
longOp = time.Second
timeout = 2 * time.Minute
maxBackoffFactor = 20
)
@ -111,6 +110,7 @@ func (fh *realFsHandler) update() error {
func (fh *realFsHandler) trackUsage() {
fh.update()
longOp := time.Second
for {
select {
case <-fh.stopChan:
@ -128,7 +128,11 @@ func (fh *realFsHandler) trackUsage() {
}
duration := time.Since(start)
if duration > longOp {
glog.V(2).Infof("du and find on following dirs took %v: %v", duration, []string{fh.rootfs, fh.extraDir})
// adapt longOp time so that message doesn't continue to print
// if the long duration is persistent either because of slow
// disk or lots of containers.
longOp = longOp + time.Second
glog.V(2).Infof("du and find on following dirs took %v: %v; will not log again for this container unless duration exceeds %d seconds.", duration, []string{fh.rootfs, fh.extraDir}, longOp)
}
}
}