Improve 'fluo list' command to print Fluo application start time
- Dominant language
- Java
- Stars
- 200
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Description
Improve upon the basic output of the `fluo list` command below by adding the start time of the Fluo application. Below is the output of current list
```
$ fluo list
Fluo instance (localhost/fluo) contains 2 application(s)
Application Status # Workers
----------- ------ ---------
test1 RUNNING 1
test2 STOPPED 0
```
One way to implement this to create a `getStartTime()` method in [FluoAdminImpl](https://github.com/apache/fluo/blob/master/modules/core/src/main/java/org/apache/fluo/core/client/FluoAdminImpl.java) that determines minimum creation time of Zookeeper paths (`ZookeeperPath.ORACLE_SERVER` and all children of `ZookeeperPath.FINDERS`) to determine when the Fluo application was started. The existence of these paths in Zookeeper are currently used in `FluoAdminImpl` to determine if oracle and workers are running. In [FluoList](https://github.com/apache/fluo/blob/master/modules/command/src/main/java/org/apache/fluo/command/FluoList.java), the `getStartTime()` could be called if the application is running and the time printed out in a new column.
Contributor guide
Research direction
Start by reading FluoAdminImpl.java, especially how ZookeeperPath.ORACLE_SERVER and ZookeeperPath.FINDERS are checked, then inspect FluoList.java and run the existing `fluo list` command. Done means running applications display their start time in a new column while stopped applications retain appropriate output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cli, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100