summaryrefslogtreecommitdiff
path: root/src/containers/sidebars/simulation
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-21 10:20:50 +0200
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-23 10:06:04 +0200
commitda861719c6433a1fc9346da958f0907e52d578ce (patch)
treeb171796fbfe17f0356bf6e32430223c67812a760 /src/containers/sidebars/simulation
parentf8f617c97fcb2df3dbefc9527d974151e367cb60 (diff)
Show experiment and trace data on left-hand sidebar
Diffstat (limited to 'src/containers/sidebars/simulation')
-rw-r--r--src/containers/sidebars/simulation/ExperimentMetadataContainer.js29
-rw-r--r--src/containers/sidebars/simulation/TaskContainer.js23
-rw-r--r--src/containers/sidebars/simulation/TraceContainer.js22
3 files changed, 74 insertions, 0 deletions
diff --git a/src/containers/sidebars/simulation/ExperimentMetadataContainer.js b/src/containers/sidebars/simulation/ExperimentMetadataContainer.js
new file mode 100644
index 00000000..55323f11
--- /dev/null
+++ b/src/containers/sidebars/simulation/ExperimentMetadataContainer.js
@@ -0,0 +1,29 @@
+import {connect} from "react-redux";
+import ExperimentMetadataComponent from "../../../components/sidebars/simulation/ExperimentMetadataComponent";
+
+const mapStateToProps = state => {
+ if (!state.objects.experiment[state.currentExperimentId]) {
+ return {
+ experimentName: "Loading experiment",
+ pathName: "",
+ traceName: "",
+ schedulerName: "",
+ }
+ }
+
+ const path = state.objects.path[state.objects.experiment[state.currentExperimentId].pathId];
+ const pathName = path.name ? path.name : "Path " + path.id;
+
+ return {
+ experimentName: state.objects.experiment[state.currentExperimentId].name,
+ pathName,
+ traceName: state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].name,
+ schedulerName: state.objects.scheduler[state.objects.experiment[state.currentExperimentId].schedulerName].name,
+ };
+};
+
+const ExperimentMetadataContainer = connect(
+ mapStateToProps
+)(ExperimentMetadataComponent);
+
+export default ExperimentMetadataContainer;
diff --git a/src/containers/sidebars/simulation/TaskContainer.js b/src/containers/sidebars/simulation/TaskContainer.js
new file mode 100644
index 00000000..df06b5b8
--- /dev/null
+++ b/src/containers/sidebars/simulation/TaskContainer.js
@@ -0,0 +1,23 @@
+import {connect} from "react-redux";
+import TaskComponent from "../../../components/sidebars/simulation/TaskComponent";
+
+const mapStateToProps = (state, ownProps) => {
+ let flopsLeft = state.objects.task[ownProps.taskId].totalFlopCount;
+
+ if (state.states.task[state.currentTick] && state.states.task[state.currentTick][ownProps.taskId]) {
+ flopsLeft = state.states.task[state.currentTick][ownProps.taskId].flopsLeft;
+ } else if (state.objects.task[ownProps.taskId].startTick < state.currentTick) {
+ flopsLeft = 0;
+ }
+
+ return {
+ task: state.objects.task[ownProps.taskId],
+ flopsLeft,
+ };
+};
+
+const TaskContainer = connect(
+ mapStateToProps
+)(TaskComponent);
+
+export default TaskContainer;
diff --git a/src/containers/sidebars/simulation/TraceContainer.js b/src/containers/sidebars/simulation/TraceContainer.js
new file mode 100644
index 00000000..6539823d
--- /dev/null
+++ b/src/containers/sidebars/simulation/TraceContainer.js
@@ -0,0 +1,22 @@
+import {connect} from "react-redux";
+import TraceComponent from "../../../components/sidebars/simulation/TraceComponent";
+
+const mapStateToProps = state => {
+ if (!state.objects.experiment[state.currentExperimentId] ||
+ !state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].jobIds) {
+ return {
+ jobs: []
+ };
+ }
+
+ return {
+ jobs: state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].jobIds
+ .map(id => state.objects.job[id]),
+ };
+};
+
+const TraceContainer = connect(
+ mapStateToProps
+)(TraceComponent);
+
+export default TraceContainer;