You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by cw...@apache.org on 2019/07/25 20:09:08 UTC

[incubator-druid] branch master updated: Web-console: add lookups tile to home view (#8124)

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

cwylie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 8ba1f06  Web-console: add lookups tile to home view  (#8124)
8ba1f06 is described below

commit 8ba1f0663240d18e02657e4b621f3b43c40f4422
Author: mcbrewster <37...@users.noreply.github.com>
AuthorDate: Thu Jul 25 13:08:58 2019 -0700

    Web-console: add lookups tile to home view  (#8124)
    
    * add lookups-tile
    
    * add uninitailized state
    
    * remove error:
---
 .../__snapshots__/home-view.spec.tsx.snap          | 21 ++++++++++
 web-console/src/views/home-view/home-view.tsx      | 47 ++++++++++++++++++++++
 2 files changed, 68 insertions(+)

diff --git a/web-console/src/views/home-view/__snapshots__/home-view.spec.tsx.snap b/web-console/src/views/home-view/__snapshots__/home-view.spec.tsx.snap
index 4973859..739c15e 100644
--- a/web-console/src/views/home-view/__snapshots__/home-view.spec.tsx.snap
+++ b/web-console/src/views/home-view/__snapshots__/home-view.spec.tsx.snap
@@ -131,5 +131,26 @@ exports[`home view matches snapshot 1`] = `
       </p>
     </Blueprint3.Card>
   </a>
+  <a
+    href="#lookups"
+  >
+    <Blueprint3.Card
+      className="status-card"
+      elevation={0}
+      interactive={true}
+    >
+      <Component>
+        <Blueprint3.Icon
+          color="#bfccd5"
+          icon="properties"
+        />
+         
+        Lookups
+      </Component>
+      <p>
+        Loading...
+      </p>
+    </Blueprint3.Card>
+  </a>
 </div>
 `;
diff --git a/web-console/src/views/home-view/home-view.tsx b/web-console/src/views/home-view/home-view.tsx
index 1babeb3..6090fe7 100644
--- a/web-console/src/views/home-view/home-view.tsx
+++ b/web-console/src/views/home-view/home-view.tsx
@@ -60,6 +60,11 @@ export interface HomeViewState {
   suspendedSupervisorCount: number;
   supervisorCountError: string | null;
 
+  lookupsCountLoading: boolean;
+  lookupsCount: number;
+  lookupsCountError: string | null;
+  lookupsUninitialized: boolean;
+
   taskCountLoading: boolean;
   runningTaskCount: number;
   pendingTaskCount: number;
@@ -86,6 +91,7 @@ export class HomeView extends React.PureComponent<HomeViewProps, HomeViewState>
   private supervisorQueryManager: QueryManager<null, any>;
   private taskQueryManager: QueryManager<boolean, any>;
   private serverQueryManager: QueryManager<boolean, any>;
+  private lookupsQueryManager: QueryManager<null, any>;
 
   constructor(props: HomeViewProps, context: any) {
     super(props, context);
@@ -108,6 +114,11 @@ export class HomeView extends React.PureComponent<HomeViewProps, HomeViewState>
       suspendedSupervisorCount: 0,
       supervisorCountError: null,
 
+      lookupsCountLoading: false,
+      lookupsCount: 0,
+      lookupsCountError: null,
+      lookupsUninitialized: false,
+
       taskCountLoading: false,
       runningTaskCount: 0,
       pendingTaskCount: 0,
@@ -293,6 +304,25 @@ GROUP BY 1`,
         });
       },
     });
+
+    this.lookupsQueryManager = new QueryManager({
+      processQuery: async () => {
+        const resp = await axios.get('/druid/coordinator/v1/lookups/status');
+        const data = resp.data;
+        const lookupsCount = Object.keys(data.__default).length;
+        return {
+          lookupsCount,
+        };
+      },
+      onStateChange: ({ result, loading, error }) => {
+        this.setState({
+          lookupsCount: result ? result.lookupsCount : 0,
+          lookupsCountLoading: loading,
+          lookupsCountError: error,
+          lookupsUninitialized: error === 'Request failed with status code 404',
+        });
+      },
+    });
   }
 
   componentDidMount(): void {
@@ -304,6 +334,7 @@ GROUP BY 1`,
     this.supervisorQueryManager.runQuery(null);
     this.taskQueryManager.runQuery(noSqlMode);
     this.serverQueryManager.runQuery(noSqlMode);
+    this.lookupsQueryManager.runQuery(null);
   }
 
   componentWillUnmount(): void {
@@ -448,6 +479,22 @@ GROUP BY 1`,
           ),
           error: state.serverCountError,
         })}
+        {this.renderCard({
+          href: '#lookups',
+          icon: IconNames.PROPERTIES,
+          title: 'Lookups',
+          loading: state.lookupsCountLoading,
+          content: (
+            <>
+              <p>
+                {!state.lookupsUninitialized
+                  ? pluralIfNeeded(state.lookupsCount, 'lookup')
+                  : 'Lookups uninitialized'}
+              </p>
+            </>
+          ),
+          error: !state.lookupsUninitialized ? state.lookupsCountError : null,
+        })}
       </div>
     );
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org