This is an automated email from the ASF dual-hosted git repository.

ningyougang pushed a commit to branch add-container-count-metric
in repository https://gitbox.apache.org/repos/asf/openwhisk.git

commit 0c193ca6594ecb0b718c5fe3a3d256c46efc6f75
Author: ning.yougang <[email protected]>
AuthorDate: Sun Apr 24 13:21:13 2022 +0800

    Add containerPool container histogram metric
---
 .../src/main/scala/org/apache/openwhisk/common/Logging.scala      | 3 ++-
 .../core/containerpool/v2/FunctionPullingContainerPool.scala      | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

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 caba798d7..53adfe23e 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
@@ -412,7 +412,8 @@ object LoggingMarkers {
     LogMarkerToken(invoker, "sharedPackage", counter, None, Map("path" -> 
path))(MeasurementUnit.none)
   def INVOKER_CONTAINERPOOL_MEMORY(state: String) =
     LogMarkerToken(invoker, "containerPoolMemory", counter, Some(state), 
Map("state" -> state))(MeasurementUnit.none)
-
+  def INVOKER_CONTAINERPOOL_CONTAINER(state: String) =
+    LogMarkerToken(invoker, "containerPoolContainer", counter, Some(state), 
Map("state" -> state))(MeasurementUnit.none)
   // System overload and random invoker assignment
   val MANAGED_SYSTEM_OVERLOAD =
     LogMarkerToken(controller, "managedInvokerSystemOverload", 
counter)(MeasurementUnit.none)
diff --git 
a/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerPool.scala
 
b/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerPool.scala
index 07029814c..bfc65d33d 100644
--- 
a/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerPool.scala
+++ 
b/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerPool.scala
@@ -111,6 +111,14 @@ class FunctionPullingContainerPool(
     MetricEmitter
       
.emitHistogramMetric(LoggingMarkers.INVOKER_CONTAINERPOOL_MEMORY("prewarmed"), 
memoryConsumptionOf(prewarmedPool))
     
MetricEmitter.emitHistogramMetric(LoggingMarkers.INVOKER_CONTAINERPOOL_MEMORY("max"),
 poolConfig.userMemory.toMB)
+    val prewarmedSize = prewarmedPool.size
+    val busySize = busyPool.size
+    val warmedSize = warmedPool.size
+    val allSize = prewarmedSize + busySize + warmedSize
+    
MetricEmitter.emitHistogramMetric(LoggingMarkers.INVOKER_CONTAINERPOOL_CONTAINER("prewarmed"),
 prewarmedSize)
+    
MetricEmitter.emitHistogramMetric(LoggingMarkers.INVOKER_CONTAINERPOOL_CONTAINER("busy"),
 busySize)
+    
MetricEmitter.emitHistogramMetric(LoggingMarkers.INVOKER_CONTAINERPOOL_CONTAINER("warmed"),
 warmedSize)
+    
MetricEmitter.emitHistogramMetric(LoggingMarkers.INVOKER_CONTAINERPOOL_CONTAINER("all"),
 allSize)
   })
 
   // Key is ColdStartKey, value is the number of cold Start in minute

Reply via email to