You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@gobblin.apache.org by GitBox <gi...@apache.org> on 2022/12/21 22:42:38 UTC

[GitHub] [gobblin] umustafi commented on a diff in pull request #3610: [GOBBLIN-1750] Add schemas for observability events in GaaS

umustafi commented on code in PR #3610:
URL: https://github.com/apache/gobblin/pull/3610#discussion_r1054899586


##########
gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSObservabilityEventExperimental.avsc:
##########
@@ -0,0 +1,167 @@
+{
+  "type": "record",
+  "name": "GaaSObservabilityEventExperimental",
+  "namespace": "org.apache.gobblin.metrics",
+  "doc": "An experimental format for GaaS to emit events during and after a job is executed.",
+  "fields": [
+    {
+      "name": "timestamp",
+      "type": "long",
+      "doc": "Time at which event was created in millis"
+    },
+    {
+      "name": "flowGroup",
+      "type": "string",
+      "doc": "Flow group for the GaaS flow",
+      "compliance": "NONE"
+    },
+    {
+      "name": "flowName",
+      "type": "string",
+      "doc": "Flow name for the GaaS flow",
+      "compliance": "NONE"
+    },
+    {
+      "name": "flowExecutionId",
+      "type": "long",
+      "doc": "Flow execution id for the GaaS flow",
+      "compliance": "NONE"
+    },
+    {
+      "name": "lastFlowModificationTime",
+      "type": "long",
+      "doc": "Timestamp in millis since Epoch when the flow config was last modified"
+    },
+    {
+      "name": "flowGraphEdgeId",
+      "type": "string",
+      "doc": "Flow edge id, in format <src_node>_<dest_node>_<edge_id>",
+      "compliance": "NONE"
+    },
+    {
+      "name": "jobName",
+      "type": "string",
+      "doc": "The name of the Gobblin job, found in the job template. One edge can contain multiple jobs",
+      "compliance": "NONE"
+    },
+    {
+      "name": "jobStatus",
+      "type": {
+        "type": "enum",
+        "name": "JobStatus",
+        "symbols": [
+          "SUCCEEDED",
+          "COMPILATION_FAILURE",
+          "SUBMISSION_FAILURE",
+          "EXEUCTION_FAILURE",
+          "CANCELLED"
+        ],
+        "doc": "Final job status for this job in the GaaS flow",
+        "compliance": "NONE"
+      }
+    },
+    {
+      "name": "jobOrchestratedTime",
+      "type": [
+        "null",
+        "long"
+      ],
+      "doc": "Timestamp when the job was successfully sent to the job executor, null if it was unable to be sent."
+    },
+    {
+      "name": "jobStartTime",
+      "type": "long",
+      "doc": "Start time of the job in millis since Epoch",
+      "compliance": "NONE"
+    },
+    {
+      "name": "jobEndTime",
+      "type": "long",
+      "doc": "Finish time of the job in millis since Epoch",
+      "compliance": "NONE"
+    },
+    {
+      "name": "executionUserUrn",
+      "type": [
+        "null",
+        "string"
+      ],
+      "doc": "User URN (if applicable) that runs the underlying Gobblin job",
+      "compliance": "NONE"
+    },
+    {
+      "name": "executorUrl",
+      "type": [
+        "null",

Review Comment:
   having a null type check is sometimes extra layer of confusion. Do we prefer this over case of empty string for the value if no urn or executor url?



-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org