Compare commits
2 Commits
master
...
feature/laptop
| Author | SHA1 | Date | |
|---|---|---|---|
| 7a65e72c49 | |||
| f8bbd1199d |
@@ -126,7 +126,7 @@ namespace ResourceMonitorService
|
||||
var requestBody = await new StreamReader(context.Request.Body).ReadToEndAsync();
|
||||
var parameters = JsonConvert.DeserializeObject<dynamic>(requestBody);
|
||||
|
||||
string action = parameters?.Action?.ToString()?.ToLower(); // "shutdown" or "restart"
|
||||
string? action = parameters?.Action?.ToString()?.ToLower(); // "shutdown" or "restart"
|
||||
int delaySeconds = parameters?.DelaySeconds ?? 0;
|
||||
|
||||
// Validate action input
|
||||
@@ -248,32 +248,32 @@ namespace ResourceMonitorService
|
||||
}
|
||||
})
|
||||
.Where(p => p != null)
|
||||
.OrderByDescending(p => p.TotalProcessorTime)
|
||||
.Select(p => p.Process)
|
||||
.OrderByDescending(p => p!.TotalProcessorTime)
|
||||
.Select(p => p!.Process)
|
||||
.ToList();
|
||||
|
||||
// Create a new anonymous type containing the CPU usage, RAM usage, and the top 3 highest CPU-using processes
|
||||
return new
|
||||
{
|
||||
Usage = usage,
|
||||
Process1 = new
|
||||
Process1 = processes.Count > 0 ? new
|
||||
{
|
||||
Name = processes.ElementAt(0).ProcessName,
|
||||
TotalProcessorTime = processes.ElementAt(0).TotalProcessorTime,
|
||||
WorkingSet64 = processes.ElementAt(0).WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
},
|
||||
Process2 = new
|
||||
Name = processes[0].ProcessName,
|
||||
TotalProcessorTime = processes[0].TotalProcessorTime,
|
||||
WorkingSet64 = processes[0].WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
} : null,
|
||||
Process2 = processes.Count > 1 ? new
|
||||
{
|
||||
Name = processes.ElementAt(1).ProcessName,
|
||||
TotalProcessorTime = processes.ElementAt(1).TotalProcessorTime,
|
||||
WorkingSet64 = processes.ElementAt(1).WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
},
|
||||
Process3 = new
|
||||
Name = processes[1].ProcessName,
|
||||
TotalProcessorTime = processes[1].TotalProcessorTime,
|
||||
WorkingSet64 = processes[1].WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
} : null,
|
||||
Process3 = processes.Count > 2 ? new
|
||||
{
|
||||
Name = processes.ElementAt(2).ProcessName,
|
||||
TotalProcessorTime = processes.ElementAt(2).TotalProcessorTime,
|
||||
WorkingSet64 = processes.ElementAt(2).WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
}
|
||||
Name = processes[2].ProcessName,
|
||||
TotalProcessorTime = processes[2].TotalProcessorTime,
|
||||
WorkingSet64 = processes[2].WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
} : null
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
import dynamic from 'next/dynamic';
|
||||
|
||||
const components = {
|
||||
// other components
|
||||
resourceUsage: dynamic(() => import('./resourceUsage/component')),
|
||||
yourwidget: dynamic(() => import("./yourwidget/component"))
|
||||
};
|
||||
|
||||
export default components;
|
||||
@@ -1,9 +0,0 @@
|
||||
import resourceUsage from "./resourceUsage/widget";
|
||||
import yourwidget from "./yourwidget/widget";
|
||||
const widgets = {
|
||||
// other widgets
|
||||
resourceUsage: resourceUsage,
|
||||
yourwidget: yourwidget
|
||||
};
|
||||
|
||||
export default widgets;
|
||||
@@ -1,37 +0,0 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import Container from "components/services/widget/container";
|
||||
import Block from "components/services/widget/block";
|
||||
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||
|
||||
export default function Component({ service }) {
|
||||
const { t } = useTranslation();
|
||||
const { widget } = service;
|
||||
const { data, error } = useWidgetAPI(widget, "info");
|
||||
|
||||
if (error) {
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="Loading..." />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="Machine Name" value={data.ComputerInfo.MachineName} />
|
||||
<Block label="OS Version" value={data.ComputerInfo.OSVersion} />
|
||||
<Block label="OS Architecture" value={data.ComputerInfo.OSArchitecture} />
|
||||
<Block label="Processor Count" value={data.ComputerInfo.ProcessorCount} />
|
||||
<Block label="CPU Usage" value={data.CPU} />
|
||||
<Block label="RAM Usage" value={data.RAM} />
|
||||
<Block label="GPU Usage" value={data.GPU.Usage} />
|
||||
<Block label="GPU Temperature" value={data.GPU.Temperature} />
|
||||
<Block label="GPU Fan Speed" value={data.GPU.FanSpeed} />
|
||||
<Block label="Currently Running Game" value={data.CurrentlyRunningGame} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "http://192.168.50.201:5000/api/resource-usage",
|
||||
proxyHandler: genericProxyHandler,
|
||||
mappings: {
|
||||
info: {
|
||||
endpoint: ""
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -1,33 +0,0 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import Container from "components/services/widget/container";
|
||||
import Block from "components/services/widget/block";
|
||||
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||
|
||||
export default function Component({ service }) {
|
||||
const { t } = useTranslation();
|
||||
const { widget } = service;
|
||||
const { data, error } = useWidgetAPI(widget, "info");
|
||||
|
||||
if (error) {
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="yourwidget.key1" />
|
||||
<Block label="yourwidget.key2" />
|
||||
<Block label="yourwidget.key3" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="yourwidget.key1" value={t("common.number", { value: data.key1 })} />
|
||||
<Block label="yourwidget.key2" value={t("common.number", { value: data.key2 })} />
|
||||
<Block label="yourwidget.key3" value={t("common.number", { value: data.key3 })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/{endpoint}" ,
|
||||
proxyHandler: genericProxyHandler ,
|
||||
|
||||
mappings: {
|
||||
info: {
|
||||
endpoint: "v1/info" ,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
Reference in New Issue
Block a user