chukwa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Yang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CHUKWA-747) Update Widget storage to HBase
Date Sat, 02 May 2015 18:26:06 GMT
Eric Yang created CHUKWA-747:
--------------------------------

             Summary: Update Widget storage to HBase
                 Key: CHUKWA-747
                 URL: https://issues.apache.org/jira/browse/CHUKWA-747
             Project: Chukwa
          Issue Type: Sub-task
            Reporter: Eric Yang
            Assignee: Eric Yang


It is somewhat a waste to use HDFS file to host widget information because HDFS files are
designed to be big data blocks, and namenode RAM is too expensive to host meta data that is
only a few bytes.  Therefore, it would be more efficient to store widget information on HBase.

The current widget information looks like this:
{code}
{  
   "id":"graph_explorer",
   "title":"Graph Explorer",
   "version":"0.1",
   "categories":"Developer,Utilities",
   "url":"iframe/jsp/graph_explorer.jsp",
   "description":"Graph explorer for visualize data on Hbase.",
   "refresh":"0",
   "parameters":[  
      {  
         "name":"width",
         "type":"select",
         "value":"300",
         "label":"Width",
         "options":[  
            {  
               "label":"300",
               "value":"300"
            }
         ]
      }
   ]
}
{code}

However, it is possible to reduce the required information to only:
{code}
{
  "title" : "System Load Average",
  "url" : "/hicc/chart/draw/1"
}
{code}

Title is already the unique identified of a subject at hand.  URL is necessary to load an
iframe.  The rest like version, description, id, category.  They are useful to organize the
data, if a tree structure make sense to organize the data.  However, in BigData environment,
the tree structure is too limited to help user to find the information.  Hence, we promote
usage of search box to find the widget base on title.  Parameters were used to customize the
look and feel of the widget.  Those parameters are stored in server side to improve efficiency
of client and server communication.

We need the following REST API:

1. GET /hicc/v2/widget/list?limit=1000&offset=0 - List all widgets with pagination
2. GET /hicc/v2/widget/search/{query} - find widget based on title matching
3. GET /hicc/v2/widget/view/{title} - get a single widget
4. POST /hicc/v2/widget/create - create a new widget
5. PUT /hicc/v2/widget/update/{title} - update a widget



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message