[ 
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)

Reply via email to