Skip to content

A simple GUi that monitors RAM, CPU and GPU. Also has a http packet monitoring function to monitor a certain process and report it by email if any activity. This packet monitoring also saves the packet exchange as a pcap file

License

Notifications You must be signed in to change notification settings

guidou44/ComputerMonitoring

Repository files navigation

DesktopAssistant

CI Status codecov

Usage

EmailReports

  • Only works with windows, well it's .NET Framework!
  • Needs to be run as Administrator because of the higher privileges needed to access MSAcpi_ThermalZone
  • you need to add a ReporterConfiguration.xml file with your emails and credentials in directory Configuration if you want email notifications. (Otherwise, email notification for packet exchange wont work). It should look like this:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<Email>
		<Sender>
			<Id>YOUR.SENDER.EMAIL@gmail.com</Id>
			<Password>PASSWORD</Password>
		</Sender>
		<Receivers>
			<Target>
				<Address>YOUR.TARGET.EMAIL@hotmail.com</Address>
			</Target>
		</Receivers>
	</Email>
</configuration>
  • If you want packet capture to work, you need to have WinPcap installed on computer because SharpPcap uses its dll, otherwise, it will just NOT monitor packet exchange.

Packets capture

Usage documentation coming soon.

Hardware

Hardware monitors are managed by the HardwareManager. It uses connectors to access resources. Connectors each have accessible MonitoringTargets.

GPU

  • For GPU monitoring, there is 2 types of connectors possible:
  1. For NVIDIA only GPUs, there is the NVIDIA_Connector that uses this NvAPIWrapper. To set this connector for a specific resource, in the config file MonitoringConfiguration.cfg, specify the connector :
<ComputerRessource>
	<TargetName>GPU_Load</TargetName>
	<Connector>NVDIA_API</Connector>
</ComputerRessource>

Thix NvAPIWrapper works well but has a limit to what it can extract from the GPU.

  1. Otherwise, for all GPUs, there is the OpenHardware_Connector. It also works with NVIDIA GPUs. It uses OpenHardwareMonitor. To set this connector for a GPU resource :
<ComputerRessource>
	<TargetName>GPU_Clock</TargetName>
	<Connector>OpenHardware</Connector>
</ComputerRessource>

This connector is more generic and has proved to work on more computers. This connector is recommended.

Initial targets

<InitialTarget>CPU_Load</InitialTarget>
<InitialTarget>GPU_Temp</InitialTarget>
<InitialTarget>RAM_Usage</InitialTarget>

The maximum is 7 targets.

Tests

Run the script Run_Tests in folder DesktopAssistant

Code coverage

see on CodeCov

About

A simple GUi that monitors RAM, CPU and GPU. Also has a http packet monitoring function to monitor a certain process and report it by email if any activity. This packet monitoring also saves the packet exchange as a pcap file

Resources

License

Stars

Watchers

Forks

Packages

No packages published