瀏覽代碼

reduce memory consumption (#2725)

avoid copying of every kubernetes object for every /metrics call

Signed-off-by: r2k1 <yokree@gmail.com>
r2k1 2 年之前
父節點
當前提交
a3beb32763
共有 1 個文件被更改,包括 1 次插入13 次删除
  1. 1 13
      pkg/clustercache/watchcontroller.go

+ 1 - 13
pkg/clustercache/watchcontroller.go

@@ -88,19 +88,7 @@ func NewCachingWatcher(restClient rest.Interface, resource string, resourceType
 }
 
 func (c *CachingWatchController) GetAll() []interface{} {
-	list := c.indexer.List()
-
-	// since the indexer returns the as-is pointer to the resource,
-	// we deep copy the resources such that callers don't corrupt the
-	// index
-	cloneList := make([]interface{}, 0, len(list))
-	for _, v := range list {
-		if deepCopyable, ok := v.(rt.Object); ok {
-			cloneList = append(cloneList, deepCopyable.DeepCopyObject())
-		}
-	}
-
-	return cloneList
+	return c.indexer.List()
 }
 
 func (c *CachingWatchController) SetUpdateHandler(handler WatchHandler) WatchController {