Skip to content

Commit 8350df9

Browse files
committed
Fix container cache sizing
1 parent 55d8f26 commit 8350df9

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

reporter/metadata/containermetadata.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ const (
5454
kubernetesServiceHost = "KUBERNETES_SERVICE_HOST"
5555

5656
// There is a limit of 110 Pods per node (but can be overridden)
57-
kubernetesPodsPerNode = 110
57+
kubernetesDefaultPodsPerNode = 110
5858
// From experience, usually there are no more than 10 containers (including sidecar
5959
// containers) in a single Pod.
6060
kubernetesContainersPerPod = 10
6161
// We're setting the default cache size according to Kubernetes best practices,
6262
// in order to reduce the number of Kubernetes API calls at runtime.
63-
containerMetadataCacheSize = kubernetesPodsPerNode * kubernetesContainersPerPod
63+
containerMetadataCacheSize = kubernetesDefaultPodsPerNode * kubernetesContainersPerPod
6464

6565
// containerIDCacheSize defines the size of the cache which maps a process to container ID
6666
// information. Its perfect size would be the number of processes running on the system.
@@ -298,15 +298,13 @@ func getPodsPerNode(ctx context.Context, node *corev1.Node) (int, error) {
298298

299299
func getContainerMetadataCache(ctx context.Context, node *corev1.Node) (
300300
*lru.SyncedLRU[string, model.LabelSet], error) {
301-
cacheSize := containerMetadataCacheSize
302-
303301
podsPerNode, err := getPodsPerNode(ctx, node)
304302
if err != nil {
305303
log.Infof("Failed to size cache based on pods per node: %v", err)
306-
} else {
307-
cacheSize *= podsPerNode
304+
podsPerNode = kubernetesDefaultPodsPerNode
308305
}
309306

307+
cacheSize := podsPerNode * kubernetesContainersPerPod
310308
return lru.NewSynced[string, model.LabelSet](
311309
uint32(cacheSize), hashString)
312310
}

0 commit comments

Comments
 (0)