sven-lange-last commented on a change in pull request #4609: Add namespace 
field to activation log
URL: https://github.com/apache/openwhisk/pull/4609#discussion_r326534807
 
 

 ##########
 File path: 
common/scala/src/main/scala/org/apache/openwhisk/core/database/ActivationFileStorage.scala
 ##########
 @@ -84,9 +84,11 @@ class ActivationFileStorage(logFilePrefix: String,
 
   private def transcribeLogs(activation: WhiskActivation, additionalFields: 
Map[String, JsValue]) =
     activation.logs.logs.map { log =>
-      val line = JsObject(
-        Map("type" -> "user_log".toJson) ++ Map("message" -> log.toJson) ++ 
Map(
-          "activationId" -> activation.activationId.toJson) ++ 
additionalFields)
+      val line =
+        JsObject(
+          Map("type" -> "user_log".toJson) ++ Map("message" -> log.toJson) ++ 
Map(
+            "activationId" -> activation.activationId.toJson) ++ Map(
+            "namespace" -> activation.namespace.asString.toJson) ++ 
additionalFields)
 
 Review comment:
   Thanks for attending to my feedback and also covering other log stores.
   
   At the same time: can you please move the `namespace` extension over to 
`ArtifactWithFileStorageActivationStore`? This would be the equivalent class to 
`DockerToActivationFileLogStore` where you inject `namespace` via 
`additionalMetadata`.
   
   `ActivationFileStorage` is just a helper that performs writing of logs and 
activations to a file. The log store implementations that make use of 
`ActivationFileStorage` should decide which additional metadata they want to 
add. `ArtifactWithFileStorageActivationStore` is such a log store.
   
   See 
https://github.com/apache/openwhisk/blob/400a7915115576a363858788a6d080c389a80317/common/scala/src/main/scala/org/apache/openwhisk/core/database/ArtifactWithFileStorageActivationStore.scala#L58-L60
   
   ^^ I suggest to inject the additional `namespace` field here.
   
   Hint: IBM is using the `ActivationFileStorage` in a private implementation 
for IBM's logging system that requires different fields unique to IBM that do 
not make sense in the openwhisk context. That's why we want to keep 
`ActivationFileStorage` as open as possible.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to