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)