Commit f473abdd authored by Hines, Jesse's avatar Hines, Jesse
Browse files

Update endpoints to match backend

backend now supports multiple systems and has changed the endpoint structure a bit.
parent b4c75c2e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ import { CoolingCEP } from "../../../models/CoolingCEP.model"
import { Gauge } from "../../shared/plots/gauge";
import { SimulationStatistic } from "../../../models/SimulationStatistic.model";
import { useQuery } from "@tanstack/react-query";
import { getFrontierSystemInformation } from "../../../util/queryOptions";
import { getSystemInformation } from "../../../util/queryOptions";
import { LoadingSpinner } from "../../shared/loadingSpinner";
import { sumBy } from "lodash";

@@ -27,7 +27,7 @@ export function SimulationGauges({
  cep?: CoolingCEP;
  statistics?: SimulationStatistic;
}) {
  const { data } = useQuery(getFrontierSystemInformation());
  const { data } = useQuery(getSystemInformation("frontier"));
  if (!data) {
    return <LoadingSpinner/>
  }
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ import { Scheduler } from "./Scheduler.model";
export interface ISimulationRequest {
  start: string;
  end: string;
  system: string;
  scheduler: Scheduler;
  cooling: {
    enabled: boolean;
@@ -13,6 +14,7 @@ export interface ISimulationRequest {
export class SimulationRequest implements ISimulationRequest {
  start: string;
  end: string;
  system: string;
  scheduler: Scheduler;
  cooling: { enabled: boolean };

@@ -23,6 +25,7 @@ export class SimulationRequest implements ISimulationRequest {
    const endDate = new Date();
    endDate.setMilliseconds(0);
    this.end = addHours(endDate, 1).toISOString();
    this.system = "frontier";
    this.cooling = { enabled: false };
    this.scheduler = new Scheduler();
  }
+2 −2
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ function JobModal() {
    queryKey: ["simulation", "jobs", simulationId, "job", jobId],
    queryFn: async () => {
      const res = await axios.get<ListResponse<Job>>(
        `/frontier/simulation/${simulationId}/scheduler/jobs?job_id=eq:${jobId}`,
        `/simulation/${simulationId}/scheduler/jobs?job_id=eq:${jobId}`,
      );

      return res.data;
@@ -57,7 +57,7 @@ function JobModal() {
        end: string;
        data: JobPower[];
      }>(
        `/frontier/simulation/${simulationId}/scheduler/jobs/${jobId}/power-history`,
        `/simulation/${simulationId}/scheduler/jobs/${jobId}/power-history`,
      );
      return res;
    },
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ function NewSimultation() {
  const onSubmit = useMutation({
    mutationFn: async ({ form }: { form: SimulationRequest }) => {
      const sim = await axios.post<Simulation>(
        "/frontier/simulation/run",
        "/simulation/run",
        form,
      );
      navigate({
+9 −9
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ export const simulationConfigurationQueryOptions = (simulationId: string) =>
  queryOptions({
    queryKey: ["simulation", "configuration", simulationId],
    queryFn: async (): Promise<Simulation> => {
      const res = await axios.get(`/frontier/simulation/${simulationId}`);
      const res = await axios.get(`/simulation/${simulationId}`);
      return res.data;
    },
    refetchOnWindowFocus: false,
@@ -68,7 +68,7 @@ export const simulationList = (
    queryKey: ["simulation", "list", params],
    queryFn: async ({ pageParam }) => {
      const res = await axios.get<ListResponse<Simulation>>(
        `/frontier/simulation/list?${searchParams.join("&")}`, {
        `/simulation/list?${searchParams.join("&")}`, {
        params: {
          limit: limit, offset: pageParam,
          fields: params?.fields?.join(","),
@@ -91,7 +91,7 @@ export const simulationCoolingCDUQueryOptions = (
    queryFn: async () => {
      const res = await axios.get<
        TimeSeriesResponse<CoolingCDU>
      >(`/frontier/simulation/${simulationId}/cooling/cdu`, { params: params });
      >(`/simulation/${simulationId}/cooling/cdu`, { params: params });
      return res.data;
    },
    select: (data) => {
@@ -113,7 +113,7 @@ export const simulationCoolingCEPQueryOptions = (
    queryFn: async () => {
      const res = await axios.get<
        TimeSeriesResponse<CoolingCEP>
      >(`/frontier/simulation/${simulationId}/cooling/cep`, { params: params });
      >(`/simulation/${simulationId}/cooling/cep`, { params: params });
      return res.data;
    },
  });
@@ -126,7 +126,7 @@ export const simulationSystemStatsQueryOptions = (
    queryFn: async () => {
      const res = await axios.get<
        TimeSeriesResponse<SimulationStatistic>
      >(`/frontier/simulation/${simulationId}/scheduler/system`, { params: params });
      >(`/simulation/${simulationId}/scheduler/system`, { params: params });
      return res.data;
    },
  });
@@ -158,7 +158,7 @@ export const simulationSchedulerJobs = (
    queryKey: ["simulation", "scheduler", "jobs", simulationId, params],
    queryFn: async ({ pageParam }) => {
      const res = await axios.get<ListResponse<Job>>(
        `/frontier/simulation/${simulationId}/scheduler/jobs?${searchParams.join("&")}`, {
        `/simulation/${simulationId}/scheduler/jobs?${searchParams.join("&")}`, {
        params: {
          start: params?.start, end: params?.end,
          limit: limit, offset: pageParam,
@@ -173,15 +173,15 @@ export const simulationSchedulerJobs = (
  })
}

export const getFrontierSystemInformation = () =>
export const getSystemInformation = (system: string) =>
  queryOptions({
    queryKey: ["frontier", "system-info"],
    queryKey: ["system-info", system],
    queryFn: async () => {
      const res = await axios.get<{
        peak_flops: number;
        peak_power: number;
        g_flops_w_peak: number;
      }>(`frontier/system-info`);
      }>(`/system-info/${system}`);
      return res.data;
    },
    staleTime: Infinity,