Commit 86d2eea8 authored by Webb, Jake's avatar Webb, Jake
Browse files

Fixed some of the errors that could occur in gauges

parent c6751140
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -77,18 +77,18 @@ export function SimulationGauges({
      </div>
      <div className="flex flex-col">
        <GaugeWrapper>
          <GraphHeader>P Flops</GraphHeader>
          <GraphHeader>Performance</GraphHeader>
          <Gauge
            minValue={0}
            maxValue={2000}
            value={statistics?.p_flops}
            value={statistics?.p_flops ?? 0}
            labels={{
              tickLabels: {
                type: "outer",
                ticks: [{ value: 500 }, { value: 1000 }, { value: 1500 }],
              },
              valueLabel: {
                formatTextValue: (value) => value,
                formatTextValue: (value) => value + " PFlop/s",
              },
            }}
            arc={{
@@ -98,18 +98,18 @@ export function SimulationGauges({
          />
        </GaugeWrapper>
        <GaugeWrapper>
          <GraphHeader>G Flops</GraphHeader>
          <GraphHeader>Efficency</GraphHeader>
          <Gauge
            minValue={0}
            maxValue={2000}
            value={statistics?.g_flops_w}
            value={statistics?.g_flops_w ?? 0}
            labels={{
              tickLabels: {
                type: "outer",
                ticks: [{ value: 500 }, { value: 1000 }, { value: 1500 }],
              },
              valueLabel: {
                formatTextValue: (value) => value,
                formatTextValue: (value) => value + " GFlops/watts",
              },
            }}
            arc={{
+18 −11
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ import Box from "../components/shared/simulation/box";
import { SimulationGauges } from "../components/simulations/details/gauges";
import { isEqual, subSeconds } from "date-fns";
import { useReplayCooling, useReplayScheduler } from "../util/hooks/useReplay";
import { CoolingCDU } from "../models/CoolingCDU.model";

export const Route = createFileRoute("/simulations/$simulationId/summary")({
  validateSearch: (
@@ -60,19 +61,25 @@ function SimulationSummary() {
    return <LoadingSpinner />;
  }

  let currentMetrics = metrics.data[currentTimestamp];
  let currentMetrics: CoolingCDU[] | undefined = undefined;
  if (Object.values(metrics.data).length > 0 && !!metrics.data[0]) {
    currentMetrics = metrics.data[currentTimestamp];
    if (!currentMetrics) {
      currentMetrics = Object.values(metrics.data)[0];
    }
  }

  let currentStatistics = schedulerStatistics.find((timestep) =>
    isEqual(
  let currentStatistics = schedulerStatistics.find((timestep) => {
    if (timestep) {
      return isEqual(
        timestep.timestamp,
        isEqual(currentTimestamp, end)
          ? subSeconds(end, 1).toISOString()
          : currentTimestamp,
    ),
      );
    }
    return false;
  });

  return (
    <div className="flex flex-1 flex-col gap-4 overflow-y-auto px-8 py-8">