From b2dd7a23ec17a00cea302c6cfd17bb5c4e1ff15f Mon Sep 17 00:00:00 2001 From: gmarek Date: Wed, 25 Nov 2015 17:17:25 +0100 Subject: [PATCH] Adjust latency limits for large clusters for listing pods --- test/e2e/metrics_util.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/test/e2e/metrics_util.go b/test/e2e/metrics_util.go index c565c8807a..44fda839e4 100644 --- a/test/e2e/metrics_util.go +++ b/test/e2e/metrics_util.go @@ -39,8 +39,11 @@ import ( ) const ( - podStartupThreshold time.Duration = 5 * time.Second - listPodLatencyThreshold time.Duration = 2 * time.Second + podStartupThreshold time.Duration = 5 * time.Second + // TODO: Decrease PodStartup latencies as soon as their perfomance improves + listPodLatencySmallThreshold time.Duration = 2 * time.Second + listPodLatencyMediumThreshold time.Duration = 4 * time.Second + listPodLatencyLargeThreshold time.Duration = 15 * time.Second apiCallLatencySmallThreshold time.Duration = 250 * time.Millisecond apiCallLatencyMediumThreshold time.Duration = 500 * time.Millisecond apiCallLatencyLargeThreshold time.Duration = 1 * time.Second @@ -164,6 +167,16 @@ func apiCallLatencyThreshold(numNodes int) time.Duration { return apiCallLatencyLargeThreshold } +func listPodsLatencyThreshold(numNodes int) time.Duration { + if numNodes <= 250 { + return listPodLatencySmallThreshold + } + if numNodes <= 500 { + return listPodLatencyMediumThreshold + } + return listPodLatencyLargeThreshold +} + // Prints top five summary metrics for request types with latency and returns // number of such request types above threshold. func HighLatencyRequests(c *client.Client) (int, error) { @@ -182,7 +195,7 @@ func HighLatencyRequests(c *client.Client) (int, error) { for _, metric := range metrics.APICalls { threshold := apiCallLatencyThreshold(numNodes) if metric.Verb == "LIST" && metric.Resource == "pods" { - threshold = listPodLatencyThreshold + threshold = listPodsLatencyThreshold(numNodes) } isBad := false