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

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


The following commit(s) were added to refs/heads/master by this push:
     new aba1ee85d6a [FLINK-31896][runtime] Extend web interface to support 
failure labels
aba1ee85d6a is described below

commit aba1ee85d6a3854fdb1f8a628fed0ad19460d086
Author: Panagiotis Garefalakis <[email protected]>
AuthorDate: Wed May 24 22:47:18 2023 -0700

    [FLINK-31896][runtime] Extend web interface to support failure labels
    
    * ExceptionInfo now includes failureLabels
    * Exception History tab on JobExceptions page now exposes failure labels
---
 .../web-dashboard/src/app/interfaces/job-exception.ts              | 1 +
 .../src/app/pages/job/exceptions/job-exceptions.component.html     | 6 ++++++
 .../src/app/pages/job/exceptions/job-exceptions.component.less     | 4 ++++
 .../src/app/pages/job/exceptions/job-exceptions.component.ts       | 7 +++++--
 4 files changed, 16 insertions(+), 2 deletions(-)

diff --git 
a/flink-runtime-web/web-dashboard/src/app/interfaces/job-exception.ts 
b/flink-runtime-web/web-dashboard/src/app/interfaces/job-exception.ts
index 64eea9867e4..798a91df1e2 100644
--- a/flink-runtime-web/web-dashboard/src/app/interfaces/job-exception.ts
+++ b/flink-runtime-web/web-dashboard/src/app/interfaces/job-exception.ts
@@ -43,6 +43,7 @@ export interface ExceptionInfo {
   exceptionName: string;
   stacktrace: string;
   timestamp: number;
+  failureLabels: Map<string, string>;
   taskName: string;
   endpoint: string;
   taskManagerId: string;
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.html
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.html
index a692a541a99..ceba60851ef 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.html
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.html
@@ -52,6 +52,12 @@
               <td>{{ item.selected.timestamp | date: 'yyyy-MM-dd HH:mm:ss' 
}}</td>
               <td>
                 <div class="name">{{ item.selected.exceptionName }}</div>
+                <nz-tag
+                  *ngFor="let label of item.selected.failureLabels | keyvalue"
+                  [nzColor]="'#ff0000'"
+                >
+                  {{ label.key }}:{{ label.value }}
+                </nz-tag>
               </td>
               <td class="select-td">
                 <nz-select
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
index ebda7883209..fd4eae5bd1a 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
@@ -49,6 +49,10 @@
     margin-top: -@margin-md;
   }
 
+  nz-tag {
+    margin-bottom: 5px;
+  }
+
   .expand-td {
     display: block;
     padding: 0 !important;
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.ts
index 23797921ae4..3a176b5aa5b 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.ts
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-import { DatePipe, formatDate, NgForOf, NgIf } from '@angular/common';
+import { DatePipe, formatDate, KeyValuePipe, NgForOf, NgIf } from 
'@angular/common';
 import { Component, OnInit, ChangeDetectionStrategy, ChangeDetectorRef, 
OnDestroy } from '@angular/core';
 import { FormsModule } from '@angular/forms';
 import { Router } from '@angular/router';
@@ -34,6 +34,7 @@ import { NzIconModule } from 'ng-zorro-antd/icon';
 import { NzSelectModule } from 'ng-zorro-antd/select';
 import { NzTableModule } from 'ng-zorro-antd/table';
 import { NzTabsModule } from 'ng-zorro-antd/tabs';
+import { NzTagModule } from 'ng-zorro-antd/tag';
 import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
 
 import { JobLocalService } from '../job-local.service';
@@ -84,7 +85,9 @@ const markGlobalFailure = function (exception: 
ExceptionInfo): ExceptionInfo {
     NgIf,
     FormsModule,
     NzIconModule,
-    NzButtonModule
+    NzButtonModule,
+    NzTagModule,
+    KeyValuePipe
   ],
   standalone: true
 })

Reply via email to