[
https://issues.apache.org/jira/browse/CHUKWA-747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Yang updated CHUKWA-747:
-----------------------------
Attachment: CHUKWA-747.patch
Update Widget rest api to store data in HBase.
> Update Widget storage to HBase
> ------------------------------
>
> Key: CHUKWA-747
> URL: https://issues.apache.org/jira/browse/CHUKWA-747
> Project: Chukwa
> Issue Type: Sub-task
> Components: User Interface
> Reporter: Eric Yang
> Assignee: Eric Yang
> Attachments: CHUKWA-747.patch
>
>
> 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 identifier 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
> 6. DELETE /hicc/v2/widget/delete/[title] - delete a widget
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)