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

vogievetsky pushed a commit to branch better_supervisor_view
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/better_supervisor_view by this 
push:
     new d67a6790bfc update tests
d67a6790bfc is described below

commit d67a6790bfcfe2a3b8141195512a9f09165029d8
Author: Vadim Ogievetsky <[email protected]>
AuthorDate: Mon Apr 22 15:48:48 2024 -0700

    update tests
---
 .../table-column-selector.spec.tsx                 |   2 +-
 .../table-column-selector.tsx                      |  43 +++---
 .../__snapshots__/timed-button.spec.tsx.snap       |   2 +-
 .../supervisor-table-action-dialog.spec.tsx.snap   |   4 +-
 .../supervisor-statistics-table.spec.tsx.snap      |  10 +-
 .../task-table-action-dialog.spec.tsx.snap         |  22 ++--
 .../__snapshots__/supervisors-view.spec.tsx.snap   | 146 +++++++++++++++++++--
 .../views/supervisors-view/supervisors-view.tsx    |  17 +--
 8 files changed, 196 insertions(+), 50 deletions(-)

diff --git 
a/web-console/src/components/table-column-selector/table-column-selector.spec.tsx
 
b/web-console/src/components/table-column-selector/table-column-selector.spec.tsx
index e45fd590e63..e04377c9c5b 100644
--- 
a/web-console/src/components/table-column-selector/table-column-selector.spec.tsx
+++ 
b/web-console/src/components/table-column-selector/table-column-selector.spec.tsx
@@ -25,7 +25,7 @@ describe('TableColumnSelector', () => {
   it('matches snapshot', () => {
     const tableColumn = (
       <TableColumnSelector
-        columns={['a', 'b', 'c']}
+        columns={['a', 'b', { text: 'c', label: 'c-label' }]}
         onChange={() => {}}
         tableColumnsHidden={['b']}
       />
diff --git 
a/web-console/src/components/table-column-selector/table-column-selector.tsx 
b/web-console/src/components/table-column-selector/table-column-selector.tsx
index 2a0c2b5a476..d838e98e04d 100644
--- a/web-console/src/components/table-column-selector/table-column-selector.tsx
+++ b/web-console/src/components/table-column-selector/table-column-selector.tsx
@@ -25,9 +25,15 @@ import { MenuCheckbox } from 
'../menu-checkbox/menu-checkbox';
 
 import './table-column-selector.scss';
 
+export type TableColumnSelectorColumn = string | { text: string; label: string 
};
+
+function getColumnName(c: TableColumnSelectorColumn) {
+  return typeof c === 'string' ? c : c.text;
+}
+
 interface TableColumnSelectorProps {
-  columns: string[];
-  onChange: (column: string) => void;
+  columns: TableColumnSelectorColumn[];
+  onChange: (columnName: string) => void;
   onClose?: (added: number) => void;
   tableColumnsHidden: string[];
 }
@@ -38,23 +44,28 @@ export const TableColumnSelector = React.memo(function 
TableColumnSelector(
   const { columns, onChange, onClose, tableColumnsHidden } = props;
   const [added, setAdded] = useState(0);
 
-  const isColumnShown = (column: string) => 
!tableColumnsHidden.includes(column);
+  const isColumnShown = (column: TableColumnSelectorColumn) =>
+    !tableColumnsHidden.includes(getColumnName(column));
 
   const checkboxes = (
     <Menu className="table-column-selector-menu">
-      {columns.map(column => (
-        <MenuCheckbox
-          text={column}
-          key={column}
-          checked={isColumnShown(column)}
-          onChange={() => {
-            if (!isColumnShown(column)) {
-              setAdded(added + 1);
-            }
-            onChange(column);
-          }}
-        />
-      ))}
+      {columns.map(column => {
+        const columnName = getColumnName(column);
+        return (
+          <MenuCheckbox
+            text={columnName}
+            label={typeof column === 'string' ? undefined : column.label}
+            key={columnName}
+            checked={isColumnShown(column)}
+            onChange={() => {
+              if (!isColumnShown(column)) {
+                setAdded(added + 1);
+              }
+              onChange(columnName);
+            }}
+          />
+        );
+      })}
     </Menu>
   );
 
diff --git 
a/web-console/src/components/timed-button/__snapshots__/timed-button.spec.tsx.snap
 
b/web-console/src/components/timed-button/__snapshots__/timed-button.spec.tsx.snap
index b030fdb304b..52fbee10242 100644
--- 
a/web-console/src/components/timed-button/__snapshots__/timed-button.spec.tsx.snap
+++ 
b/web-console/src/components/timed-button/__snapshots__/timed-button.spec.tsx.snap
@@ -18,7 +18,7 @@ exports[`TimedButton matches snapshot 1`] = `
         <Blueprint4.MenuItem
           active={false}
           disabled={false}
-          icon="selection"
+          icon="tick-circle"
           multiline={false}
           onClick={[Function]}
           popoverProps={{}}
diff --git 
a/web-console/src/dialogs/supervisor-table-action-dialog/__snapshots__/supervisor-table-action-dialog.spec.tsx.snap
 
b/web-console/src/dialogs/supervisor-table-action-dialog/__snapshots__/supervisor-table-action-dialog.spec.tsx.snap
index 7aaa8b1afa2..68cef1ace6e 100755
--- 
a/web-console/src/dialogs/supervisor-table-action-dialog/__snapshots__/supervisor-table-action-dialog.spec.tsx.snap
+++ 
b/web-console/src/dialogs/supervisor-table-action-dialog/__snapshots__/supervisor-table-action-dialog.spec.tsx.snap
@@ -116,7 +116,7 @@ exports[`SupervisorTableActionDialog matches snapshot 1`] = 
`
               <span
                 class="bp4-button-text"
               >
-                Statistics
+                Task stats
               </span>
             </button>
             <button
@@ -144,7 +144,7 @@ exports[`SupervisorTableActionDialog matches snapshot 1`] = 
`
               <span
                 class="bp4-button-text"
               >
-                Payload
+                Spec
               </span>
             </button>
             <button
diff --git 
a/web-console/src/dialogs/supervisor-table-action-dialog/supervisor-statistics-table/__snapshots__/supervisor-statistics-table.spec.tsx.snap
 
b/web-console/src/dialogs/supervisor-table-action-dialog/supervisor-statistics-table/__snapshots__/supervisor-statistics-table.spec.tsx.snap
index 7ef6d412fb1..79f2dcbbe61 100644
--- 
a/web-console/src/dialogs/supervisor-table-action-dialog/supervisor-statistics-table/__snapshots__/supervisor-statistics-table.spec.tsx.snap
+++ 
b/web-console/src/dialogs/supervisor-table-action-dialog/supervisor-statistics-table/__snapshots__/supervisor-statistics-table.spec.tsx.snap
@@ -656,7 +656,7 @@ exports[`SupervisorStatisticsTable matches snapshot on some 
data 1`] = `
           {
             "Cell": [Function],
             "Header": "1m",
-            "accessor": [Function],
+            "accessor": "summary.movingAverages.buildSegments.1m",
             "className": "padded",
             "id": "1m",
             "width": 200,
@@ -664,7 +664,7 @@ exports[`SupervisorStatisticsTable matches snapshot on some 
data 1`] = `
           {
             "Cell": [Function],
             "Header": "5m",
-            "accessor": [Function],
+            "accessor": "summary.movingAverages.buildSegments.5m",
             "className": "padded",
             "id": "5m",
             "width": 200,
@@ -672,7 +672,7 @@ exports[`SupervisorStatisticsTable matches snapshot on some 
data 1`] = `
           {
             "Cell": [Function],
             "Header": "15m",
-            "accessor": [Function],
+            "accessor": "summary.movingAverages.buildSegments.15m",
             "className": "padded",
             "id": "15m",
             "width": 200,
@@ -687,18 +687,21 @@ exports[`SupervisorStatisticsTable matches snapshot on 
some data 1`] = `
                 "buildSegments": {
                   "15m": {
                     "processed": 5.544749689510444,
+                    "processedBytes": 20,
                     "processedWithError": 0,
                     "thrownAway": 0,
                     "unparseable": 0,
                   },
                   "1m": {
                     "processed": 4.593670088770785,
+                    "processedBytes": 30,
                     "processedWithError": 0,
                     "thrownAway": 0,
                     "unparseable": 0,
                   },
                   "5m": {
                     "processed": 3.5455993615040584,
+                    "processedBytes": 10,
                     "processedWithError": 0,
                     "thrownAway": 0,
                     "unparseable": 0,
@@ -708,6 +711,7 @@ exports[`SupervisorStatisticsTable matches snapshot on some 
data 1`] = `
               "totals": {
                 "buildSegments": {
                   "processed": 7516,
+                  "processedBytes": 60,
                   "processedWithError": 0,
                   "thrownAway": 0,
                   "unparseable": 0,
diff --git 
a/web-console/src/dialogs/task-table-action-dialog/__snapshots__/task-table-action-dialog.spec.tsx.snap
 
b/web-console/src/dialogs/task-table-action-dialog/__snapshots__/task-table-action-dialog.spec.tsx.snap
index 4c0ceed638d..63e1e50a863 100644
--- 
a/web-console/src/dialogs/task-table-action-dialog/__snapshots__/task-table-action-dialog.spec.tsx.snap
+++ 
b/web-console/src/dialogs/task-table-action-dialog/__snapshots__/task-table-action-dialog.spec.tsx.snap
@@ -97,18 +97,18 @@ exports[`TaskTableActionDialog matches snapshot 1`] = `
             >
               <span
                 aria-hidden="true"
-                class="bp4-icon bp4-icon-align-left"
-                icon="align-left"
+                class="bp4-icon bp4-icon-comparison"
+                icon="comparison"
               >
                 <svg
-                  data-icon="align-left"
+                  data-icon="comparison"
                   height="20"
                   role="img"
                   viewBox="0 0 20 20"
                   width="20"
                 >
                   <path
-                    d="M1 7h10c.55 0 1-.45 1-1s-.45-1-1-1H1c-.55 0-1 .45-1 
1s.45 1 1 1zm0-4h18c.55 0 1-.45 1-1s-.45-1-1-1H1c-.55 0-1 .45-1 1s.45 1 1 1zm14 
14H1c-.55 0-1 .45-1 1s.45 1 1 1h14c.55 0 1-.45 1-1s-.45-1-1-1zm4-8H1c-.55 0-1 
.45-1 1s.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1zM1 15h6c.55 0 1-.45 
1-1s-.45-1-1-1H1c-.55 0-1 .45-1 1s.45 1 1 1z"
+                    d="M6 8H1c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h5c.55 0 1-.45 
1-1V9c0-.55-.45-1-1-1zm13-6h-5c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h5c.55 0 1-.45 
1-1V3c0-.55-.45-1-1-1zm0 3h-5V3h5v2zM6 14H1c-.55 0-1 .45-1 1v2c0 .55.45 1 1 
1h5c.55 0 1-.45 1-1v-2c0-.55-.45-1-1-1zM6 2H1c-.55 0-1 .45-1 1v2c0 .55.45 1 1 
1h5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm4-2c-.55 0-1 .45-1 1v18c0 .55.45 1 1 
1s1-.45 1-1V1c0-.55-.45-1-1-1zm9 14h-5c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h5c.55 
0 1-.45 1-1v-2c0-.55-.45-1 [...]
                     fill-rule="evenodd"
                   />
                 </svg>
@@ -116,7 +116,7 @@ exports[`TaskTableActionDialog matches snapshot 1`] = `
               <span
                 class="bp4-button-text"
               >
-                Payload
+                Reports
               </span>
             </button>
             <button
@@ -125,18 +125,18 @@ exports[`TaskTableActionDialog matches snapshot 1`] = `
             >
               <span
                 aria-hidden="true"
-                class="bp4-icon bp4-icon-comparison"
-                icon="comparison"
+                class="bp4-icon bp4-icon-align-left"
+                icon="align-left"
               >
                 <svg
-                  data-icon="comparison"
+                  data-icon="align-left"
                   height="20"
                   role="img"
                   viewBox="0 0 20 20"
                   width="20"
                 >
                   <path
-                    d="M6 8H1c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h5c.55 0 1-.45 
1-1V9c0-.55-.45-1-1-1zm13-6h-5c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h5c.55 0 1-.45 
1-1V3c0-.55-.45-1-1-1zm0 3h-5V3h5v2zM6 14H1c-.55 0-1 .45-1 1v2c0 .55.45 1 1 
1h5c.55 0 1-.45 1-1v-2c0-.55-.45-1-1-1zM6 2H1c-.55 0-1 .45-1 1v2c0 .55.45 1 1 
1h5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm4-2c-.55 0-1 .45-1 1v18c0 .55.45 1 1 
1s1-.45 1-1V1c0-.55-.45-1-1-1zm9 14h-5c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h5c.55 
0 1-.45 1-1v-2c0-.55-.45-1 [...]
+                    d="M1 7h10c.55 0 1-.45 1-1s-.45-1-1-1H1c-.55 0-1 .45-1 
1s.45 1 1 1zm0-4h18c.55 0 1-.45 1-1s-.45-1-1-1H1c-.55 0-1 .45-1 1s.45 1 1 1zm14 
14H1c-.55 0-1 .45-1 1s.45 1 1 1h14c.55 0 1-.45 1-1s-.45-1-1-1zm4-8H1c-.55 0-1 
.45-1 1s.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1zM1 15h6c.55 0 1-.45 
1-1s-.45-1-1-1H1c-.55 0-1 .45-1 1s.45 1 1 1z"
                     fill-rule="evenodd"
                   />
                 </svg>
@@ -144,7 +144,7 @@ exports[`TaskTableActionDialog matches snapshot 1`] = `
               <span
                 class="bp4-button-text"
               >
-                Reports
+                Spec
               </span>
             </button>
             <button
@@ -172,7 +172,7 @@ exports[`TaskTableActionDialog matches snapshot 1`] = `
               <span
                 class="bp4-button-text"
               >
-                Logs
+                Log
               </span>
             </button>
           </div>
diff --git 
a/web-console/src/views/supervisors-view/__snapshots__/supervisors-view.spec.tsx.snap
 
b/web-console/src/views/supervisors-view/__snapshots__/supervisors-view.spec.tsx.snap
index 6053d75102e..3724fdf61f3 100644
--- 
a/web-console/src/views/supervisors-view/__snapshots__/supervisors-view.spec.tsx.snap
+++ 
b/web-console/src/views/supervisors-view/__snapshots__/supervisors-view.spec.tsx.snap
@@ -78,7 +78,23 @@ exports[`SupervisorsView matches snapshot 1`] = `
           "Type",
           "Topic/Stream",
           "Status",
-          "Running tasks",
+          "Configured tasks",
+          {
+            "label": "status API",
+            "text": "Running tasks",
+          },
+          {
+            "label": "status API",
+            "text": "Aggregate lag",
+          },
+          {
+            "label": "status API",
+            "text": "Recent errors",
+          },
+          {
+            "label": "stats API",
+            "text": "Stats",
+          },
           "Actions",
         ]
       }
@@ -155,37 +171,150 @@ exports[`SupervisorsView matches snapshot 1`] = `
           "accessor": "supervisor_id",
           "id": "supervisor_id",
           "show": true,
-          "width": 300,
+          "width": 280,
         },
         {
           "Cell": [Function],
           "Header": "Type",
           "accessor": "type",
           "show": true,
-          "width": 100,
+          "width": 80,
         },
         {
           "Cell": [Function],
           "Header": "Topic/Stream",
           "accessor": "source",
           "show": true,
-          "width": 300,
+          "width": 200,
         },
         {
           "Cell": [Function],
           "Header": "Status",
           "accessor": "detailed_state",
-          "id": "status",
+          "id": "detailed_state",
+          "show": true,
+          "width": 130,
+        },
+        {
+          "Cell": [Function],
+          "Header": "Configured tasks",
+          "accessor": "spec",
+          "className": "padded",
+          "filterable": false,
+          "id": "configured_tasks",
           "show": true,
-          "width": 250,
+          "sortable": false,
+          "width": 150,
         },
         {
           "Cell": [Function],
           "Header": "Running tasks",
-          "accessor": "running_tasks",
+          "accessor": "status.payload",
           "filterable": false,
           "id": "running_tasks",
           "show": true,
+          "sortable": false,
+          "width": 150,
+        },
+        {
+          "Cell": [Function],
+          "Header": "Aggregate lag",
+          "accessor": "status.payload.aggregateLag",
+          "className": "padded",
+          "filterable": false,
+          "show": true,
+          "sortable": false,
+          "width": 200,
+        },
+        {
+          "Cell": [Function],
+          "Header": <React.Fragment>
+            Stats
+            <br />
+            <Blueprint4.Popover2
+              boundary="clippingParents"
+              captureDismiss={false}
+              content={
+                <Blueprint4.Menu>
+                  <Blueprint4.MenuItem
+                    active={false}
+                    disabled={false}
+                    icon="circle"
+                    multiline={false}
+                    onClick={[Function]}
+                    popoverProps={{}}
+                    selected={false}
+                    shouldDismissPopover={true}
+                    text="Rate over past 1 minute"
+                  />
+                  <Blueprint4.MenuItem
+                    active={false}
+                    disabled={false}
+                    icon="tick-circle"
+                    multiline={false}
+                    onClick={[Function]}
+                    popoverProps={{}}
+                    selected={false}
+                    shouldDismissPopover={true}
+                    text="Rate over past 5 minutes"
+                  />
+                  <Blueprint4.MenuItem
+                    active={false}
+                    disabled={false}
+                    icon="circle"
+                    multiline={false}
+                    onClick={[Function]}
+                    popoverProps={{}}
+                    selected={false}
+                    shouldDismissPopover={true}
+                    text="Rate over past 15 minutes"
+                  />
+                </Blueprint4.Menu>
+              }
+              defaultIsOpen={false}
+              disabled={false}
+              fill={false}
+              hasBackdrop={false}
+              hoverCloseDelay={300}
+              hoverOpenDelay={150}
+              inheritDarkTheme={true}
+              interactionKind="click"
+              matchTargetWidth={false}
+              minimal={false}
+              openOnTargetFocus={true}
+              position="bottom"
+              positioningStrategy="absolute"
+              shouldReturnFocusOnClose={false}
+              targetTagName="span"
+              transitionDuration={300}
+              usePortal={true}
+            >
+              <i
+                className="title-button"
+              >
+                Rate over past 5 minutes
+                 
+                <Blueprint4.Icon
+                  icon="caret-down"
+                />
+              </i>
+            </Blueprint4.Popover2>
+          </React.Fragment>,
+          "accessor": "stats",
+          "className": "padded",
+          "filterable": false,
+          "id": "stats",
+          "show": true,
+          "sortable": false,
+          "width": 300,
+        },
+        {
+          "Cell": [Function],
+          "Header": "Recent errors",
+          "accessor": "status.payload.recentErrors",
+          "filterable": false,
+          "show": true,
+          "sortable": false,
           "width": 150,
         },
         {
@@ -195,6 +324,7 @@ exports[`SupervisorsView matches snapshot 1`] = `
           "filterable": false,
           "id": "actions",
           "show": true,
+          "sortable": false,
           "width": 70,
         },
       ]
@@ -244,7 +374,7 @@ exports[`SupervisorsView matches snapshot 1`] = `
     getTrProps={[Function]}
     groupedByPivotKey="_groupedByPivot"
     indexKey="_index"
-    loading={true}
+    loading={false}
     loadingText="Loading..."
     multiSort={true}
     nestingLevelKey="_nestingLevel"
diff --git a/web-console/src/views/supervisors-view/supervisors-view.tsx 
b/web-console/src/views/supervisors-view/supervisors-view.tsx
index 316080641ce..8e65c3fa391 100644
--- a/web-console/src/views/supervisors-view/supervisors-view.tsx
+++ b/web-console/src/views/supervisors-view/supervisors-view.tsx
@@ -25,6 +25,7 @@ import React from 'react';
 import type { Filter } from 'react-table';
 import ReactTable from 'react-table';
 
+import type { TableColumnSelectorColumn } from '../../components';
 import {
   ACTION_COLUMN_ID,
   ACTION_COLUMN_LABEL,
@@ -84,16 +85,16 @@ import type { BasicAction } from '../../utils/basic-action';
 
 import './supervisors-view.scss';
 
-const supervisorTableColumns: string[] = [
+const SUPERVISOR_TABLE_COLUMNS: TableColumnSelectorColumn[] = [
   'Supervisor ID',
   'Type',
   'Topic/Stream',
   'Status',
   'Configured tasks',
-  'Running tasks',
-  'Aggregate lag',
-  'Recent errors',
-  'Stats',
+  { text: 'Running tasks', label: 'status API' },
+  { text: 'Aggregate lag', label: 'status API' },
+  { text: 'Recent errors', label: 'status API' },
+  { text: 'Stats', label: 'stats API' },
   ACTION_COLUMN_LABEL,
 ];
 
@@ -797,7 +798,7 @@ export class SupervisorsView extends React.PureComponent<
               </Popover2>,
             ),
             id: 'stats',
-            width: 220,
+            width: 300,
             filterable: false,
             sortable: false,
             className: 'padded',
@@ -847,7 +848,7 @@ export class SupervisorsView extends React.PureComponent<
           {
             Header: 'Recent errors',
             accessor: 'status.payload.recentErrors',
-            width: 200,
+            width: 150,
             filterable: false,
             sortable: false,
             show: visibleColumns.shown('Recent errors'),
@@ -1031,7 +1032,7 @@ export class SupervisorsView extends React.PureComponent<
           />
           {this.renderBulkSupervisorActions()}
           <TableColumnSelector
-            columns={supervisorTableColumns}
+            columns={SUPERVISOR_TABLE_COLUMNS}
             onChange={column =>
               this.setState(prevState => ({
                 visibleColumns: prevState.visibleColumns.toggle(column),


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to