This is an automated email from the ASF dual-hosted git repository. cbickel pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git
The following commit(s) were added to refs/heads/master by this push: new fbb37d3 Send system overload metric from Controller. (#4131) fbb37d3 is described below commit fbb37d3760322794abe951ef9632ac01ff1be497 Author: Su <sugandha.agrawa...@gmail.com> AuthorDate: Fri Nov 23 14:52:25 2018 +0100 Send system overload metric from Controller. (#4131) --- common/scala/src/main/scala/org/apache/openwhisk/common/Logging.scala | 2 ++ .../openwhisk/core/loadBalancer/ShardingContainerPoolBalancer.scala | 1 + 2 files changed, 3 insertions(+) diff --git a/common/scala/src/main/scala/org/apache/openwhisk/common/Logging.scala b/common/scala/src/main/scala/org/apache/openwhisk/common/Logging.scala index 902bccc..3bc3597 100644 --- a/common/scala/src/main/scala/org/apache/openwhisk/common/Logging.scala +++ b/common/scala/src/main/scala/org/apache/openwhisk/common/Logging.scala @@ -271,6 +271,8 @@ object LoggingMarkers { // Time that is needed to produce message in kafka val CONTROLLER_KAFKA = LogMarkerToken(controller, kafka, start) + // System overload and random invoker assignment + val SYSTEM_OVERLOAD = LogMarkerToken(controller, "systemOverload", count) /* * Invoker related markers */ diff --git a/core/controller/src/main/scala/org/apache/openwhisk/core/loadBalancer/ShardingContainerPoolBalancer.scala b/core/controller/src/main/scala/org/apache/openwhisk/core/loadBalancer/ShardingContainerPoolBalancer.scala index 15dbf2e..5348d37 100644 --- a/core/controller/src/main/scala/org/apache/openwhisk/core/loadBalancer/ShardingContainerPoolBalancer.scala +++ b/core/controller/src/main/scala/org/apache/openwhisk/core/loadBalancer/ShardingContainerPoolBalancer.scala @@ -582,6 +582,7 @@ object ShardingContainerPoolBalancer extends LoadBalancerProvider { val random = healthyInvokers(ThreadLocalRandom.current().nextInt(healthyInvokers.size)).id dispatched(random.toInt).forceAcquireConcurrent(fqn, maxConcurrent, slots) logging.warn(this, s"system is overloaded. Chose invoker${random.toInt} by random assignment.") + MetricEmitter.emitCounterMetric(LoggingMarkers.SYSTEM_OVERLOAD) Some(random) } else { None