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

Reply via email to