diff --git a/Worker.cs b/Worker.cs index 15e1448..0a33236 100644 --- a/Worker.cs +++ b/Worker.cs @@ -66,12 +66,47 @@ namespace ResourceMonitorService }; } - private float GetCpuUsage() + private object GetCpuUsage() { var cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total"); cpuCounter.NextValue(); Thread.Sleep(1000); // Wait a second to get a valid reading - return cpuCounter.NextValue(); + + var usage = cpuCounter.NextValue(); + if (usage > 80) + { + // Get the current processes and sort them by CPU usage in descending order + var processes = Process.GetProcesses().OrderByDescending(p => p.TotalProcessorTime); + + // 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 + { + Name = processes.ElementAt(0).ProcessName, + TotalProcessorTime = processes.ElementAt(0).TotalProcessorTime, + WorkingSet64 = processes.ElementAt(0).WorkingSet64 / (1024 * 1024) // Convert to MB + }, + Process2 = 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.ElementAt(2).ProcessName, + TotalProcessorTime = processes.ElementAt(2).TotalProcessorTime, + WorkingSet64 = processes.ElementAt(2).WorkingSet64 / (1024 * 1024) // Convert to MB + } + }; + } + + return new + { + Usage = usage + }; } private float GetRamUsage() diff --git a/bin/Release/net9.0/ResourceMonitorService.dll b/bin/Release/net9.0/ResourceMonitorService.dll index eab7979..2c8da30 100644 Binary files a/bin/Release/net9.0/ResourceMonitorService.dll and b/bin/Release/net9.0/ResourceMonitorService.dll differ diff --git a/bin/Release/net9.0/ResourceMonitorService.exe b/bin/Release/net9.0/ResourceMonitorService.exe index 29a2510..e32a7f5 100644 Binary files a/bin/Release/net9.0/ResourceMonitorService.exe and b/bin/Release/net9.0/ResourceMonitorService.exe differ diff --git a/bin/Release/net9.0/ResourceMonitorService.pdb b/bin/Release/net9.0/ResourceMonitorService.pdb index 3a7deab..25a15ed 100644 Binary files a/bin/Release/net9.0/ResourceMonitorService.pdb and b/bin/Release/net9.0/ResourceMonitorService.pdb differ diff --git a/bin/Release/net9.0/publish/publish/appsettings.json b/bin/Release/net9.0/publish/publish/appsettings.json index f9a3e33..7d910a4 100644 --- a/bin/Release/net9.0/publish/publish/appsettings.json +++ b/bin/Release/net9.0/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://localhost:5000" + "Url": "http://*:5000" } } } diff --git a/bin/Release/net9.0/publish/publish/publish/appsettings.json b/bin/Release/net9.0/publish/publish/publish/appsettings.json index f9a3e33..7d910a4 100644 --- a/bin/Release/net9.0/publish/publish/publish/appsettings.json +++ b/bin/Release/net9.0/publish/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://localhost:5000" + "Url": "http://*:5000" } } } diff --git a/bin/Release/net9.0/publish/publish/publish/publish/publish/appsettings.json b/bin/Release/net9.0/publish/publish/publish/publish/publish/appsettings.json index 7d910a4..f9a3e33 100644 --- a/bin/Release/net9.0/publish/publish/publish/publish/publish/appsettings.json +++ b/bin/Release/net9.0/publish/publish/publish/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://*:5000" + "Url": "http://localhost:5000" } } } diff --git a/bin/Release/net9.0/publish/publish/publish/publish/publish/publish/appsettings.json b/bin/Release/net9.0/publish/publish/publish/publish/publish/publish/appsettings.json index 7d910a4..f9a3e33 100644 --- a/bin/Release/net9.0/publish/publish/publish/publish/publish/publish/appsettings.json +++ b/bin/Release/net9.0/publish/publish/publish/publish/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://*:5000" + "Url": "http://localhost:5000" } } } diff --git a/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfo.cs b/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfo.cs index bbf84d4..295abb9 100644 --- a/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfo.cs +++ b/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("ResourceMonitorService")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7dc90104512834ceb810324f20a2b5d12de354c0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+297c90d55ddfc8f23ee02a37dcab1ed38a5bd12a")] [assembly: System.Reflection.AssemblyProductAttribute("ResourceMonitorService")] [assembly: System.Reflection.AssemblyTitleAttribute("ResourceMonitorService")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache b/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache index 0505f87..3147092 100644 --- a/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache @@ -1 +1 @@ -1212cb7eab016db3876a66a85bc18562ffabead52c3b48120f48f729d68cf190 +b331d637528b151c24189432c7e86019209ffeb58d10eec2b534d742e683f465 diff --git a/obj/Release/net9.0/PublishOutputs.c0c4d6191d.txt b/obj/Release/net9.0/PublishOutputs.c0c4d6191d.txt index 65740e6..92816bc 100644 --- a/obj/Release/net9.0/PublishOutputs.c0c4d6191d.txt +++ b/obj/Release/net9.0/PublishOutputs.c0c4d6191d.txt @@ -17,6 +17,14 @@ D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\ D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.json D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.Development.json D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.Development.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.Development.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.deps.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.runtimeconfig.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.deps.json +D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.runtimeconfig.json D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.deps.json D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.runtimeconfig.json D:\din\dev\vmsvc\ResourceMonitorService\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.deps.json diff --git a/obj/Release/net9.0/ResourceMonitorService.AssemblyInfo.cs b/obj/Release/net9.0/ResourceMonitorService.AssemblyInfo.cs index 1506579..39f38d0 100644 --- a/obj/Release/net9.0/ResourceMonitorService.AssemblyInfo.cs +++ b/obj/Release/net9.0/ResourceMonitorService.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("ResourceMonitorService")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f16578d19a39c4688f17fdac49af6472a49fec57")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7dc90104512834ceb810324f20a2b5d12de354c0")] [assembly: System.Reflection.AssemblyProductAttribute("ResourceMonitorService")] [assembly: System.Reflection.AssemblyTitleAttribute("ResourceMonitorService")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Release/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache b/obj/Release/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache index 5cdf459..b21423b 100644 --- a/obj/Release/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache +++ b/obj/Release/net9.0/ResourceMonitorService.AssemblyInfoInputs.cache @@ -1 +1 @@ -775fabb90a6c4c2ade72fe6bb97d7187c0bca0ffc636f7a7f1f46fc245002ac5 +608e465b7ba84317d117e2f91b1dd0cbc27eb989794e186fbb1d28e072618ae2 diff --git a/obj/Release/net9.0/ResourceMonitorService.csproj.FileListAbsolute.txt b/obj/Release/net9.0/ResourceMonitorService.csproj.FileListAbsolute.txt index 93e0b9e..84658c1 100644 --- a/obj/Release/net9.0/ResourceMonitorService.csproj.FileListAbsolute.txt +++ b/obj/Release/net9.0/ResourceMonitorService.csproj.FileListAbsolute.txt @@ -62,3 +62,11 @@ D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publi D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.json D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.deps.json D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.runtimeconfig.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.Development.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.deps.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.runtimeconfig.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.Development.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\appsettings.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.deps.json +D:\din\dev\vmsvc\ResourceMonitorService\bin\Release\net9.0\publish\publish\publish\publish\publish\publish\publish\publish\publish\publish\ResourceMonitorService.runtimeconfig.json diff --git a/obj/Release/net9.0/ResourceMonitorService.dll b/obj/Release/net9.0/ResourceMonitorService.dll index eab7979..2c8da30 100644 Binary files a/obj/Release/net9.0/ResourceMonitorService.dll and b/obj/Release/net9.0/ResourceMonitorService.dll differ diff --git a/obj/Release/net9.0/ResourceMonitorService.pdb b/obj/Release/net9.0/ResourceMonitorService.pdb index 3a7deab..25a15ed 100644 Binary files a/obj/Release/net9.0/ResourceMonitorService.pdb and b/obj/Release/net9.0/ResourceMonitorService.pdb differ diff --git a/obj/Release/net9.0/apphost.exe b/obj/Release/net9.0/apphost.exe index 29a2510..e32a7f5 100644 Binary files a/obj/Release/net9.0/apphost.exe and b/obj/Release/net9.0/apphost.exe differ diff --git a/obj/Release/net9.0/ref/ResourceMonitorService.dll b/obj/Release/net9.0/ref/ResourceMonitorService.dll index 711e05e..3690821 100644 Binary files a/obj/Release/net9.0/ref/ResourceMonitorService.dll and b/obj/Release/net9.0/ref/ResourceMonitorService.dll differ diff --git a/obj/Release/net9.0/refint/ResourceMonitorService.dll b/obj/Release/net9.0/refint/ResourceMonitorService.dll index 711e05e..3690821 100644 Binary files a/obj/Release/net9.0/refint/ResourceMonitorService.dll and b/obj/Release/net9.0/refint/ResourceMonitorService.dll differ diff --git a/obj/ResourceMonitorService.csproj.nuget.dgspec.json b/obj/ResourceMonitorService.csproj.nuget.dgspec.json index b1d9012..caa5afe 100644 --- a/obj/ResourceMonitorService.csproj.nuget.dgspec.json +++ b/obj/ResourceMonitorService.csproj.nuget.dgspec.json @@ -1,6 +1,7 @@ { "format": 1, "restore": { +<<<<<<< HEAD "C:\\Work\\DEV\\ResourceUsageAPI\\ResourceMonitorService.csproj": {} }, "projects": { @@ -12,6 +13,19 @@ "projectPath": "C:\\Work\\DEV\\ResourceUsageAPI\\ResourceMonitorService.csproj", "packagesPath": "C:\\Users\\dinxs\\.nuget\\packages\\", "outputPath": "C:\\Work\\DEV\\ResourceUsageAPI\\obj\\", +======= + "C:\\din\\dev\\ResourceUsageAPI\\ResourceMonitorService.csproj": {} + }, + "projects": { + "C:\\din\\dev\\ResourceUsageAPI\\ResourceMonitorService.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\din\\dev\\ResourceUsageAPI\\ResourceMonitorService.csproj", + "projectName": "ResourceMonitorService", + "projectPath": "C:\\din\\dev\\ResourceUsageAPI\\ResourceMonitorService.csproj", + "packagesPath": "C:\\Users\\dinxs\\.nuget\\packages\\", + "outputPath": "C:\\din\\dev\\ResourceUsageAPI\\obj\\", +>>>>>>> 28da999de06ef6db877e7001bd19f327db1d0910 "projectStyle": "PackageReference", "configFilePaths": [ "C:\\Users\\dinxs\\AppData\\Roaming\\NuGet\\NuGet.Config" diff --git a/obj/project.assets.json b/obj/project.assets.json index 9766353..8849817 100644 --- a/obj/project.assets.json +++ b/obj/project.assets.json @@ -2087,11 +2087,19 @@ "project": { "version": "1.0.0", "restore": { +<<<<<<< HEAD "projectUniqueName": "C:\\Work\\DEV\\ResourceUsageAPI\\ResourceMonitorService.csproj", "projectName": "ResourceMonitorService", "projectPath": "C:\\Work\\DEV\\ResourceUsageAPI\\ResourceMonitorService.csproj", "packagesPath": "C:\\Users\\dinxs\\.nuget\\packages\\", "outputPath": "C:\\Work\\DEV\\ResourceUsageAPI\\obj\\", +======= + "projectUniqueName": "C:\\din\\dev\\ResourceUsageAPI\\ResourceMonitorService.csproj", + "projectName": "ResourceMonitorService", + "projectPath": "C:\\din\\dev\\ResourceUsageAPI\\ResourceMonitorService.csproj", + "packagesPath": "C:\\Users\\dinxs\\.nuget\\packages\\", + "outputPath": "C:\\din\\dev\\ResourceUsageAPI\\obj\\", +>>>>>>> 28da999de06ef6db877e7001bd19f327db1d0910 "projectStyle": "PackageReference", "configFilePaths": [ "C:\\Users\\dinxs\\AppData\\Roaming\\NuGet\\NuGet.Config" diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache index 8958c0a..e7d148b 100644 --- a/obj/project.nuget.cache +++ b/obj/project.nuget.cache @@ -1,8 +1,14 @@ { "version": 2, +<<<<<<< HEAD "dgSpecHash": "21qKVFLqEJQ=", "success": true, "projectFilePath": "C:\\Work\\DEV\\ResourceUsageAPI\\ResourceMonitorService.csproj", +======= + "dgSpecHash": "c9QUeYvHFTQ=", + "success": true, + "projectFilePath": "C:\\din\\dev\\ResourceUsageAPI\\ResourceMonitorService.csproj", +>>>>>>> 28da999de06ef6db877e7001bd19f327db1d0910 "expectedPackageFiles": [ "C:\\Users\\dinxs\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\9.0.0\\microsoft.aspnetcore.jsonpatch.9.0.0.nupkg.sha512", "C:\\Users\\dinxs\\.nuget\\packages\\microsoft.aspnetcore.mvc.newtonsoftjson\\9.0.0\\microsoft.aspnetcore.mvc.newtonsoftjson.9.0.0.nupkg.sha512", diff --git a/publish/ResourceMonitorService.dll b/publish/ResourceMonitorService.dll index eab7979..2c8da30 100644 Binary files a/publish/ResourceMonitorService.dll and b/publish/ResourceMonitorService.dll differ diff --git a/publish/ResourceMonitorService.exe b/publish/ResourceMonitorService.exe index 29a2510..e32a7f5 100644 Binary files a/publish/ResourceMonitorService.exe and b/publish/ResourceMonitorService.exe differ diff --git a/publish/ResourceMonitorService.pdb b/publish/ResourceMonitorService.pdb index 3a7deab..25a15ed 100644 Binary files a/publish/ResourceMonitorService.pdb and b/publish/ResourceMonitorService.pdb differ diff --git a/publish/configure_firewall.ps1 b/publish/configure_firewall.ps1 index 1e05455..b2ee377 100644 --- a/publish/configure_firewall.ps1 +++ b/publish/configure_firewall.ps1 @@ -1,10 +1,8 @@ # PowerShell script to create a new inbound rule in Windows Firewall - -# Define the port number $port = 5000 - -# Define the rule name $ruleName = "ResourceMonitorService" - -# Create a new inbound rule -New-NetFirewallRule -DisplayName $ruleName -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow -Profile Any \ No newline at end of file +if (Get-NetFirewallRule -DisplayName $ruleName) { + Write-Host "Rule already exists, not creating a new one" +} else { + New-NetFirewallRule -DisplayName $ruleName -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow -Profile Any +} diff --git a/publish/publish/publish/appsettings.json b/publish/publish/publish/appsettings.json index f9a3e33..7d910a4 100644 --- a/publish/publish/publish/appsettings.json +++ b/publish/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://localhost:5000" + "Url": "http://*:5000" } } } diff --git a/publish/publish/publish/publish/appsettings.json b/publish/publish/publish/publish/appsettings.json index f9a3e33..7d910a4 100644 --- a/publish/publish/publish/publish/appsettings.json +++ b/publish/publish/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://localhost:5000" + "Url": "http://*:5000" } } } diff --git a/publish/publish/publish/publish/publish/publish/appsettings.json b/publish/publish/publish/publish/publish/publish/appsettings.json index 7d910a4..f9a3e33 100644 --- a/publish/publish/publish/publish/publish/publish/appsettings.json +++ b/publish/publish/publish/publish/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://*:5000" + "Url": "http://localhost:5000" } } } diff --git a/publish/publish/publish/publish/publish/publish/publish/appsettings.json b/publish/publish/publish/publish/publish/publish/publish/appsettings.json index 7d910a4..f9a3e33 100644 --- a/publish/publish/publish/publish/publish/publish/publish/appsettings.json +++ b/publish/publish/publish/publish/publish/publish/publish/appsettings.json @@ -9,7 +9,7 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://*:5000" + "Url": "http://localhost:5000" } } }