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 <[email protected]>
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