From bf7708f658cc6299a3b775afe24459b5a808c54d Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Fri, 22 Sep 2017 21:20:54 +0200 Subject: Restructure component and container directories --- .../simulation/ExperimentMetadataComponent.js | 12 +++++++ .../app/sidebars/simulation/LoadMetricComponent.js | 33 +++++++++++++++++ .../simulation/SimulationSidebarComponent.js | 22 ++++++++++++ .../simulation/SimulationSidebarComponent.sass | 8 +++++ .../app/sidebars/simulation/TaskComponent.js | 42 ++++++++++++++++++++++ .../app/sidebars/simulation/TraceComponent.js | 20 +++++++++++ 6 files changed, 137 insertions(+) create mode 100644 src/components/app/sidebars/simulation/ExperimentMetadataComponent.js create mode 100644 src/components/app/sidebars/simulation/LoadMetricComponent.js create mode 100644 src/components/app/sidebars/simulation/SimulationSidebarComponent.js create mode 100644 src/components/app/sidebars/simulation/SimulationSidebarComponent.sass create mode 100644 src/components/app/sidebars/simulation/TaskComponent.js create mode 100644 src/components/app/sidebars/simulation/TraceComponent.js (limited to 'src/components/app/sidebars/simulation') diff --git a/src/components/app/sidebars/simulation/ExperimentMetadataComponent.js b/src/components/app/sidebars/simulation/ExperimentMetadataComponent.js new file mode 100644 index 00000000..3649045b --- /dev/null +++ b/src/components/app/sidebars/simulation/ExperimentMetadataComponent.js @@ -0,0 +1,12 @@ +import React from "react"; + +const ExperimentMetadataComponent = ({experimentName, pathName, traceName, schedulerName}) => ( +
+

{experimentName}

+

Path: {pathName}

+

Trace: {traceName}

+

Scheduler: {schedulerName}

+
+); + +export default ExperimentMetadataComponent; diff --git a/src/components/app/sidebars/simulation/LoadMetricComponent.js b/src/components/app/sidebars/simulation/LoadMetricComponent.js new file mode 100644 index 00000000..e72e6b67 --- /dev/null +++ b/src/components/app/sidebars/simulation/LoadMetricComponent.js @@ -0,0 +1,33 @@ +import React from "react"; +import {SIM_HIGH_COLOR, SIM_LOW_COLOR, SIM_MID_HIGH_COLOR, SIM_MID_LOW_COLOR} from "../../../../util/colors"; +import {LOAD_NAME_MAP} from "../../../../util/simulation-load"; + +const LoadMetricComponent = ({loadMetric}) => ( +
+
Colors represent {LOAD_NAME_MAP[loadMetric]}
+
+ + + + +
+
+); + +export default LoadMetricComponent; diff --git a/src/components/app/sidebars/simulation/SimulationSidebarComponent.js b/src/components/app/sidebars/simulation/SimulationSidebarComponent.js new file mode 100644 index 00000000..92651dfc --- /dev/null +++ b/src/components/app/sidebars/simulation/SimulationSidebarComponent.js @@ -0,0 +1,22 @@ +import React from "react"; +import ExperimentMetadataContainer from "../../../../containers/app/sidebars/simulation/ExperimentMetadataContainer"; +import LoadMetricContainer from "../../../../containers/app/sidebars/simulation/LoadMetricContainer"; +import TraceContainer from "../../../../containers/app/sidebars/simulation/TraceContainer"; +import Sidebar from "../Sidebar"; +import "./SimulationSidebarComponent.css"; + +const SimulationSidebarComponent = () => { + return ( + +
+ + +
+ +
+
+
+ ); +}; + +export default SimulationSidebarComponent; diff --git a/src/components/app/sidebars/simulation/SimulationSidebarComponent.sass b/src/components/app/sidebars/simulation/SimulationSidebarComponent.sass new file mode 100644 index 00000000..82af97fa --- /dev/null +++ b/src/components/app/sidebars/simulation/SimulationSidebarComponent.sass @@ -0,0 +1,8 @@ +.simulation-sidebar-container + display: flex + height: 100% + max-height: 100% + +.trace-container + flex: 1 + overflow-y: scroll diff --git a/src/components/app/sidebars/simulation/TaskComponent.js b/src/components/app/sidebars/simulation/TaskComponent.js new file mode 100644 index 00000000..f7f65817 --- /dev/null +++ b/src/components/app/sidebars/simulation/TaskComponent.js @@ -0,0 +1,42 @@ +import approx from "approximate-number"; +import React from "react"; +import {convertSecondsToFormattedTime} from "../../../../util/date-time"; + +const TaskComponent = ({task, flopsLeft}) => { + let stateInfo; + + if (flopsLeft === task.totalFlopCount) { + stateInfo = ( +
+ + Waiting +
+ ); + } else if (flopsLeft > 0) { + stateInfo = ( +
+ + Running ({approx(task.totalFlopCount - flopsLeft)} / {approx(task.totalFlopCount)} FLOPS) +
+ ); + } else { + stateInfo = ( +
+ + Completed +
+ ); + } + + return ( +
  • +
    +
    {approx(task.totalFlopCount)} FLOPS
    + Starts at {convertSecondsToFormattedTime(task.startTick)} +
    + {stateInfo} +
  • + ); +}; + +export default TaskComponent; diff --git a/src/components/app/sidebars/simulation/TraceComponent.js b/src/components/app/sidebars/simulation/TraceComponent.js new file mode 100644 index 00000000..b43a8cea --- /dev/null +++ b/src/components/app/sidebars/simulation/TraceComponent.js @@ -0,0 +1,20 @@ +import React from "react"; +import TaskContainer from "../../../../containers/app/sidebars/simulation/TaskContainer"; + +const TraceComponent = ({jobs}) => ( +
    +

    Trace

    + {jobs.map(job => ( +
    +

    Job: {job.name}

    +
      + {job.taskIds.map(taskId => ( + + ))} +
    +
    + ))} +
    +); + +export default TraceComponent; -- cgit v1.2.3