Closed MichaelRoeder closed 6 years ago
Prepared the backend part for this issue in the feature/newStatusPage
branch.
Instead of a String, the GUI-Serverbackend generates a status bean
https://github.com/hobbit-project/platform/blob/feature/newStatusPage/hobbit-gui/gui-serverbackend/src/main/java/de/usu/research/hobbit/gui/rest/beans/StatusBean.java
This bean contains the information about the running experiment (is null
if there is not experiment running at the moment) and queued experiments.
Note that the challenge related attributes of the beans are null
if they are not part of a challenge. The same holds for the abortion time of the running experiment which might be unset if the experiment has not been started but is being prepared.
@romankorf and @Ennosigaeon please let us know if you need further information.
Using the branch feature/newStatusPage I am running in a weird issue. The content of all benchmarks is null
. So the benchmarks are all listed, but every attribute is null
. I have attached the according log snippet.
2018-01-18 09:55:47,915 INFO [de.usu.research.hobbit.gui.rest.BenchmarksResources] - <List benchmarks ...>
2018-01-18 09:55:47,973 INFO [de.usu.research.hobbit.gui.rabbitmq.PlatformControllerClient] - <Sending request...>
2018-01-18 09:55:48,151 INFO [de.usu.research.hobbit.gui.rabbitmq.PlatformControllerClient] - <Parsing response...>
2018-01-18 09:55:48,160 INFO [de.usu.research.hobbit.gui.rabbitmq.PlatformControllerClient] - <Preparing response for GUI...>
2018-01-18 09:55:48,162 DEBUG [de.usu.research.hobbit.gui.rabbitmq.PlatformControllerClient] - <[de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@29004187[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@31d55280[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@5e7da5f6[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@6276a79[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@2d001f43[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@36da0931[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@53b5809[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@38728e75[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@15a5743f[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@7350643b[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@2c748148[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@d9b395[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@3ee33b3d[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@4e62f166[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@46145723[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@b9c116f[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@2c81f9f2[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@75b1d4c5[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@1178281f[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@7a844436[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@59e96cfd[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>], de.usu.research.hobbit.gui.rest.beans.BenchmarkBean@22858cf9[systems=<null>,configurationParams=<null>,configurationParamNames=[],kpis=<null>,id=<null>,name=<null>,description=<null>]]>
2018-01-18 09:55:48,167 INFO [de.usu.research.hobbit.gui.rabbitmq.PlatformControllerClient] - <Sending response to GUI...>
Using the branch feature/logfiledownload-issue93 everything works as intended.
@MichaelRoeder Any idea what is broken?
@MichaelRoeder Nevermind... I havn't noticed that you have also changed the platform controller.
I have implemented a basic version of the status page. However, I have two questions:
latestDateToFinish
field was never set for a running experiment. Is this behaviour intended?{
"queuedExperiments":[
{
"experimentId":"1516289813663","benchmarkUri":"http://w3id.org/hobbit/platform-benchmark/vocab#PlatformBenchmark","systemUri":"http://w3id.org/hobbit/platform-benchmark/vocab#PlatformBenchSystem_1","systemName":"http://w3id.org/hobbit/platform-benchmark/vocab#PlatformBenchSystem_1","dateOfExecution":0,"canBeCanceled":false
}],
"runningExperiment":{
"experimentId":"1516289800894","benchmarkUri":"http://w3id.org/hobbit/platform-benchmark/vocab#PlatformBenchmark","systemUri":"http://w3id.org/hobbit/platform-benchmark/vocab#PlatformBenchSystem_1","systemName":"HOBBIT Platform Benchmark System 1","dateOfExecution":0,"canBeCanceled":false,"startTimestamp":"2018-01-18T15:36:41Z","latestDateToFinish":"2018-01-18T15:56:42Z","status":"The benchmarking has started."
}}
or do you mean "dateOfExecution":0
. This date is only set for experiments which are part of a challenge.
I like the visualization of the maximal runtime :smiley: Could you please call it "Max. runtime" or similar? Since it is the maximum amount of time that the experiment might be running.
feature/experimentTermination-issue91
). I just merged your changes into this branch.latestDateToFinish
but if it works for you, it's fine by me. I just wanted to test it.Another thing I have just noticed: The benchmark name is not set, thats the reason why I am still displaying Test
. The benchmark name is also missing in the JSON snippet you have posted. Will you add it or shall I display the benchmark uri?
You are right. The missing name is a mistake. I will add it.
I think we should always show the name
attributes. The URI will be inserted by the backend if it does not know the name (as it currently does not know the names of the systems/benchmarks that are still in the queue).
The benchmark name was not correctly set. This has been fixed.
@MichaelRoeder Benchmark name for queued experiments is now available, but for the running experiment still missing.
{
"queuedExperiments":[
{
"experimentId":"1516614107397",
"benchmarkUri":"http://w3id.org/bench#SparqlSNBBenchmark",
"benchmarkName":"http://w3id.org/bench#SparqlSNBBenchmark",
"systemUri":"http://w3id.org/bench#virtuoso72",
"systemName":"http://w3id.org/bench#virtuoso72",
"dateOfExecution":0,
"canBeCanceled":false
}
],
"runningExperiment":{
"experimentId":"1516614101887",
"benchmarkUri":"http://w3id.org/bench#SparqlSNBBenchmark",
"systemUri":"http://w3id.org/bench#virtuoso",
"systemName":"OpenLink Virtuoso Opensource",
"dateOfExecution":0,
"canBeCanceled":false,
"startTimestamp":"2018-01-22T09:41:49Z",
"latestDateToFinish":"2018-01-22T10:05:35Z",
"status":"Benchmark and system are initializing."
}
}
Yes, there was a small bug regarding that. It has been fixed.
{
"queuedExperiments":[],
"runningExperiment":{
"experimentId":"1516801679835",
"benchmarkUri":"http://w3id.org/hobbit/platform-benchmark/vocab#PlatformBenchmark",
"benchmarkName":"HOBBIT Platform Benchmark",
"systemUri":"http://w3id.org/hobbit/platform-benchmark/vocab#PlatformBenchSystem_1",
"systemName":"HOBBIT Platform Benchmark System 1",
"dateOfExecution":0,
"canBeCanceled":false,
"startTimestamp":"2018-01-24T13:48:06Z",
"latestDateToFinish":"2018-01-24T14:08:14Z",
"status":"Benchmark and system are initializing."
}}
And it works:
@MichaelRoeder Can this issue be closed?
Description
At the moment, the status page is generated by the platform controller and the UI simply shows the generated text. For enabling a better interaction with the platform, the UI needs to be able to understand the information that is shown on the page.
Design
The design of the page should take care of the following information that we want to show.
running time
/time limit
(if experiment is currently running)Probably just do an experiment status widget to be used across the whole GUI and display more or less information, including experiment results for experiment results pages.
Also information needs to be updated while page is being left open.
Note that the two queues might be displayed as one single or two seperated queues. The details can be discuss in this issue.
Please take into considerations the information that are needed by #91 to avoid additional work.
Tasks