Bump cAdvisor to v0.23.3

This commit is contained in:
Tim St. Clair
2016-06-08 11:57:20 -07:00
parent 3d332a047b
commit cf1ee6c694
4 changed files with 113 additions and 85 deletions

View File

@@ -44,6 +44,26 @@ const (
LabelRktImages = "rkt-images"
)
// The maximum number of `du` tasks that can be running at once.
const maxConsecutiveDus = 20
// A pool for restricting the number of consecutive `du` tasks running.
var duPool = make(chan struct{}, maxConsecutiveDus)
func init() {
for i := 0; i < maxConsecutiveDus; i++ {
releaseDuToken()
}
}
func claimDuToken() {
<-duPool
}
func releaseDuToken() {
duPool <- struct{}{}
}
type partition struct {
mountpoint string
major uint
@@ -391,6 +411,8 @@ func (self *RealFsInfo) GetDirUsage(dir string, timeout time.Duration) (uint64,
if dir == "" {
return 0, fmt.Errorf("invalid directory")
}
claimDuToken()
defer releaseDuToken()
cmd := exec.Command("nice", "-n", "19", "du", "-s", dir)
stdoutp, err := cmd.StdoutPipe()
if err != nil {