summaryrefslogtreecommitdiff
path: root/opendc-web
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-web')
-rw-r--r--opendc-web/opendc-web-runner/build.gradle.kts1
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt27
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt12
-rw-r--r--opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js4
-rw-r--r--opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js2
5 files changed, 25 insertions, 21 deletions
diff --git a/opendc-web/opendc-web-runner/build.gradle.kts b/opendc-web/opendc-web-runner/build.gradle.kts
index 40f94644..97328324 100644
--- a/opendc-web/opendc-web-runner/build.gradle.kts
+++ b/opendc-web/opendc-web-runner/build.gradle.kts
@@ -57,7 +57,6 @@ dependencies {
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-carbon")))
implementation(project(mapOf("path" to ":opendc-experiments:opendc-experiments-base")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-topology")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-telemetry")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-failure")))
cliImplementation(libs.clikt)
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
index af9d5529..2dd0c20f 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
@@ -25,22 +25,21 @@ package org.opendc.web.runner
import mu.KotlinLogging
import org.opendc.compute.failure.prefab.FailurePrefab
import org.opendc.compute.failure.prefab.createFailureModelPrefab
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.scheduler.createComputeScheduler
import org.opendc.compute.simulator.provisioner.Provisioner
import org.opendc.compute.simulator.provisioner.registerComputeMonitor
import org.opendc.compute.simulator.provisioner.setupComputeService
import org.opendc.compute.simulator.provisioner.setupHosts
+import org.opendc.compute.simulator.scheduler.createComputeScheduler
+import org.opendc.compute.simulator.service.ComputeService
import org.opendc.compute.topology.specs.HostSpec
import org.opendc.compute.workload.ComputeWorkloadLoader
import org.opendc.compute.workload.sampleByLoad
import org.opendc.compute.workload.trace
import org.opendc.experiments.base.runner.replay
-import org.opendc.simulator.compute.SimPsuFactories
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.power.CpuPowerModels
+import org.opendc.simulator.compute.cpu.CpuPowerModels
+import org.opendc.simulator.compute.models.CpuModel
+import org.opendc.simulator.compute.models.MachineModel
+import org.opendc.simulator.compute.models.MemoryUnit
import org.opendc.simulator.kotlin.runSimulation
import org.opendc.web.proto.runner.Job
import org.opendc.web.proto.runner.Scenario
@@ -86,7 +85,7 @@ public class OpenDCRunner(
/**
* Helper class to load the workloads.
*/
- private val workloadLoader = ComputeWorkloadLoader(tracePath)
+ private val workloadLoader = ComputeWorkloadLoader(tracePath, 0L, 0L, 0.0)
/**
* The [ForkJoinPool] that is used to execute the simulation jobs.
@@ -295,7 +294,6 @@ public class OpenDCRunner(
"Scheduler " +
"Success=${serviceMetrics.attemptsSuccess} " +
"Failure=${serviceMetrics.attemptsFailure} " +
- "Error=${serviceMetrics.attemptsError} " +
"Pending=${serviceMetrics.tasksPending} " +
"Active=${serviceMetrics.tasksActive}"
}
@@ -325,7 +323,14 @@ public class OpenDCRunner(
val processors =
machine.cpus.map { cpu ->
- Cpu(0, cpu.numberOfCores, cpu.clockRateMhz, "Intel", "amd64", cpu.name)
+ CpuModel(
+ 0,
+ cpu.numberOfCores,
+ cpu.clockRateMhz.toFloat(),
+ "Intel",
+ "amd64",
+ cpu.name,
+ )
}
val memoryUnits =
@@ -347,7 +352,7 @@ public class OpenDCRunner(
"node-$clusterId-$position",
mapOf("cluster" to clusterId),
MachineModel(processors, memoryUnits[0]),
- SimPsuFactories.simple(powerModel),
+ powerModel,
)
res += spec
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
index 96b42ac8..7e09e9e9 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
@@ -22,11 +22,11 @@
package org.opendc.web.runner.internal
-import org.opendc.compute.telemetry.ComputeMonitor
-import org.opendc.compute.telemetry.table.HostTableReader
-import org.opendc.compute.telemetry.table.ServiceData
-import org.opendc.compute.telemetry.table.ServiceTableReader
-import org.opendc.compute.telemetry.table.toServiceData
+import org.opendc.compute.simulator.telemetry.ComputeMonitor
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceData
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.telemetry.table.toServiceData
import kotlin.math.roundToLong
/**
@@ -107,7 +107,7 @@ internal class WebComputeMonitor : ComputeMonitor {
serviceData.tasksTotal,
serviceData.tasksPending,
serviceData.tasksTotal - serviceData.tasksPending - serviceData.tasksActive,
- serviceData.attemptsError + serviceData.attemptsFailure,
+ serviceData.attemptsTerminated,
)
}
diff --git a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js
index b800e9d4..4032d607 100644
--- a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js
+++ b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js
@@ -5,11 +5,11 @@ import UnitAddContainer from './UnitAddContainer'
import UnitListContainer from './UnitListContainer'
function UnitTabsComponent({ machineId }) {
- const [activeTab, setActiveTab] = useState('cpu-units')
+ const [activeTab, setActiveTab] = useState('cpuModel-units')
return (
<Tabs activeKey={activeTab} onSelect={(_, tab) => setActiveTab(tab)}>
- <Tab eventKey="cpu-units" title={<TabTitleText>CPU</TabTitleText>}>
+ <Tab eventKey="cpuModel-units" title={<TabTitleText>CPU</TabTitleText>}>
<UnitAddContainer machineId={machineId} unitType="cpus" />
<UnitListContainer machineId={machineId} unitType="cpus" />
</Tab>
diff --git a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js
index 18c3db3c..b0a96a9f 100644
--- a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js
+++ b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js
@@ -19,7 +19,7 @@ function MachineComponent({ machine, onClick }) {
return (
<Flex onClick={() => onClick()}>
- {machine.cpus.length > 0 ? <UnitIcon id="cpu" type="CPU" /> : undefined}
+ {machine.cpus.length > 0 ? <UnitIcon id="cpuModel" type="CPU" /> : undefined}
{machine.gpus.length > 0 ? <UnitIcon id="gpu" type="GPU" /> : undefined}
{machine.memories.length > 0 ? <UnitIcon id="memory" type="memory" /> : undefined}
{machine.storages.length > 0 ? <UnitIcon id="storage" type="storage" /> : undefined}