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

wlo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new 5d1461f43 [GOBBLIN-1750] Add schemas for observability events in GaaS 
(#3610)
5d1461f43 is described below

commit 5d1461f43d181b18675b52a7de7c411346b867cd
Author: William Lo <[email protected]>
AuthorDate: Tue Jan 3 11:11:39 2023 -0800

    [GOBBLIN-1750] Add schemas for observability events in GaaS (#3610)
    
    * Add schemas for observability events in GaaS
    
    * Address reviews
    
    * Address reviews
    
    * Clean up schema, address review for GaaSObservabilityEvent
    
    * Clarify default types, add failure types
    
    * Fix schema type array
    
    * Modify proxy user field to be user identification
    
    * Address final review
    
    * Rename userIdentity to executionUserUrn
---
 .../avro/GaaSObservabilityEventExperimental.avsc   | 167 +++++++++++++++++++++
 1 file changed, 167 insertions(+)

diff --git 
a/gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSObservabilityEventExperimental.avsc
 
b/gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSObservabilityEventExperimental.avsc
new file mode 100644
index 000000000..47c9be6c9
--- /dev/null
+++ 
b/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",
+        "string"
+      ],
+      "doc": "Link to where the job ran, currently limited to Azkaban, if it 
was executed",
+      "compliance": "NONE"
+    },
+    {
+      "name": "executorId",
+      "type": "string",
+      "doc": "The ID of the spec executor that ran or would have ran the job",
+      "compliance": "NONE"
+    },
+    {
+      "name": "issues",
+      "type": [
+        "null",
+        {
+          "type": "array",
+          "items": {
+            "type": "record",
+            "name": "Issue",
+            "doc": "Issue describes a specific unique problem in the job or 
application.\n\nIssue can be generated from log entries, health checks, and 
other places.",
+            "fields": [
+              {
+                "name": "timestamp",
+                "type": "long",
+                "doc": "Time when the issue occurred"
+              },
+              {
+                "name": "severity",
+                "type": {
+                  "type": "enum",
+                  "name": "IssueSeverity",
+                  "symbols": [
+                    "DEBUG",
+                    "INFO",
+                    "WARN",
+                    "ERROR",
+                    "FATAL"
+                  ]
+                },
+                "doc": "Severity from DEBUG to FATAL"
+              },
+              {
+                "name": "code",
+                "type": "string",
+                "doc": "Unique machine-readable code that identifies a 
specific problem.\n\nIt can be used for making programmatic decisions on how to 
handle and recover from this issue.\n\nIssues representing the same kind of 
problem will have the same code.\n"
+              },
+              {
+                "name": "summary",
+                "type": "string",
+                "doc": "Short, human-readable description of the issue.\n\nIt 
should focus on what is the root cause of the problem, and what steps the user 
should do to resolve it."
+              },
+              {
+                "name": "details",
+                "type": "string",
+                "doc": "Human-readable issue details that can include 
exception stack trace and additional information about the problem."
+              },
+              {
+                "name": "properties",
+                "type": {
+                  "type": "map",
+                  "values": "string"
+                },
+                "doc": "Additional machine-readable properties of the issue.\n"
+              }
+            ]
+          }
+        }
+      ]
+    }]
+}
+

Reply via email to