+1 For this feature. It would be really helpfull for users to visualize all
this information  and the DAG.

+1 for ReactJS + MaterialUI
 A great choice, given  its flexibility and performance.

I would like to contribute to this effort.

On Wed, 6 Jun 2018 at 8:13 PM, Chinmay Kolhatkar <chin...@apache.org> wrote:

> Hi Community,
>
> I want to propose a feature in apex-core to have a UI component in stram.
> This is influenced by how basic runtime information is shown on UI by
> spark.
>
> This includes following features:
> 1. Webpage will be hosted by stram and will be available for user to view
> in one of the two ways (I'll prefer approach b):
>    a. Hosted on a static port in which case we'll need to add a new servlet
> to stram
>    b. The webpage will be hosted on the same port as that of stram
> webservice but at a different path. Say, http://
> <stram_host>:<webservice_port>/ui
>
> 2. The webpage will be a static page and depending on the framework we
> chose, it can show the realtime metric data from stram.
>
> 3. There will be a categories of readonly information (maybe dynamically
> changing) that will be shown on the UI:
>    a. Application level information
>        i. Status
>        ii. Number of tuples processed/emitted
>        iii. Start time/ Running span
>        iv. Stram events
>        v. Total memory used/available
>        vi. Number of container allocated/deployed
>        v. Other information which is available in stram
>    b. Logical Operator level information
>        i. Status
>        ii. Number of tuples processed/emitted
>        iii. Important events related to logical operator
>        iv. Container list in which the operator is deployed
>        v. Any other information available in stram
>        vi. Logical DAG View
>    c. Container level information
>        i. Status
>        ii. Number of tuples processed/emitted
>        iii. Important events related to logical operator
>        iv. Any other information available in stram
>        v. Physical DAG View
>
> 4. In second phase, there will be control related operations allowed from
> the UI, as follows:
>    a. Stop/Kill application
>    b. Stop/Kill containers
>    c. Stack trace dump of containers
>    d. Logs related?
>    d. etc...??
>
> The above implementation can be done in phases as follows:
> 1. Have webpage display application level information only (read-only).
> Static display first (i.e. page needs to refresh to see latest data), next
> dynamically changing data.
> 2. Have jenkins build tools updated as needed by UI framework.
> 3. Update the backend (stram) to serve the UI pages
> 3. Extend the webage to display logical operator information.
> 4. Extend the webage to display physical operator information
> 5. Implement control operations on UI.
>
>
> To implement above functionality, I propose ReactJS as UI framework and
> MaterialUI (based on Google's material design) for theme/controls/CSS
> support.
>
> Please let me know what you think about the same.
>
> Also, please let know if anyone is interested in contributing to this
> feature.
>
> Thanks,
> Chinmay.
>

Reply via email to