extra logging for session state

13-speakers-in-use
sleevezipper 4 years ago
parent 2ca65ffa3d
commit 451c4bef30

@ -1,4 +1,6 @@
using hass_workstation_service.Communication; using hass_workstation_service.Communication;
using Serilog;
using Serilog.Core;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
@ -66,11 +68,12 @@ namespace hass_workstation_service.Domain.Sensors
var scope = new ManagementScope(); var scope = new ManagementScope();
scope.Connect(); scope.Connect();
Log.Logger.Information("Connected to Scope");
var explorerProcesses = Process.GetProcessesByName("explorer") var explorerProcesses = Process.GetProcessesByName("explorer")
.Select(p => p.Id.ToString()) .Select(p => p.Id.ToString())
.ToHashSet(); .ToHashSet();
Log.Logger.Information("Created explorerprocess list");
var REprocessid = new Regex(@"(?<=Handle="").*?(?="")", RegexOptions.Compiled); var REprocessid = new Regex(@"(?<=Handle="").*?(?="")", RegexOptions.Compiled);
var numberOfLogonSessionsWithExplorer = new ManagementObjectSearcher(scope, new SelectQuery("SELECT * FROM Win32_SessionProcess")).Get() var numberOfLogonSessionsWithExplorer = new ManagementObjectSearcher(scope, new SelectQuery("SELECT * FROM Win32_SessionProcess")).Get()
@ -80,9 +83,17 @@ namespace hass_workstation_service.Domain.Sensors
.Distinct() .Distinct()
.Count(); .Count();
Log.Logger.Information("Created numberOfLogonSessionsWithExplorer");
var numberOfUserDesktops = new ManagementObjectSearcher(scope, new SelectQuery("select * from win32_Perfrawdata_TermService_TerminalServicesSession")).Get().Count - 1; // don't count Service desktop var numberOfUserDesktops = new ManagementObjectSearcher(scope, new SelectQuery("select * from win32_Perfrawdata_TermService_TerminalServicesSession")).Get().Count - 1; // don't count Service desktop
Log.Logger.Information("Created numberOfUserDesktops");
var numberOflogonUIProcesses = Process.GetProcessesByName("LogonUI").Length; var numberOflogonUIProcesses = Process.GetProcessesByName("LogonUI").Length;
Log.Logger.Information("Created numberOflogonUIProcesses");
if (numberOflogonUIProcesses >= numberOfUserDesktops) if (numberOflogonUIProcesses >= numberOfUserDesktops)
{ {
if (numberOfLogonSessionsWithExplorer > 0) if (numberOfLogonSessionsWithExplorer > 0)
@ -93,8 +104,9 @@ namespace hass_workstation_service.Domain.Sensors
else else
return PCUserStatuses.InUse; return PCUserStatuses.InUse;
} }
catch catch (Exception e)
{ {
Log.Logger.Error(e, "Exception in SessionStateSensor");
return PCUserStatuses.Unknown; return PCUserStatuses.Unknown;
} }
} }

@ -26,7 +26,6 @@
<ItemGroup> <ItemGroup>
<None Remove="hass-workstation-service.pdb" /> <None Remove="hass-workstation-service.pdb" />
<None Remove="libSkiaSharp.dll" /> <None Remove="libSkiaSharp.dll" />
<None Remove="UserInterface.exe" />
<None Remove="UserInterface.pdb" /> <None Remove="UserInterface.pdb" />
</ItemGroup> </ItemGroup>
@ -34,9 +33,6 @@
<Content Include="libSkiaSharp.dll"> <Content Include="libSkiaSharp.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content> </Content>
<Content Include="UserInterface.exe">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

Loading…
Cancel
Save