Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RuntimeEventSourceHelper.cs
Go to the documentation of this file.
1
namespace
System.Diagnostics.Tracing
;
2
3
internal
static
class
RuntimeEventSourceHelper
4
{
5
private
static
long
s_prevProcUserTime
;
6
7
private
static
long
s_prevProcKernelTime
;
8
9
private
static
long
s_prevSystemUserTime
;
10
11
private
static
long
s_prevSystemKernelTime
;
12
13
internal
static
int
GetCpuUsage
()
14
{
15
int
result = 0;
16
if
(
Interop
.
Kernel32
.
GetProcessTimes
(
Interop
.
Kernel32
.
GetCurrentProcess
(), out var _, out var exit, out var kernel, out var user) &&
Interop
.
Kernel32
.
GetSystemTimes
(out exit, out var kernel2, out var user2))
17
{
18
long
num = user -
s_prevProcUserTime
+ (kernel -
s_prevProcKernelTime
);
19
long
num2 = kernel2 -
s_prevSystemUserTime
+ (user2 -
s_prevSystemKernelTime
);
20
if
(
s_prevSystemUserTime
!= 0
L
&&
s_prevSystemKernelTime
!= 0
L
&& num2 != 0
L
)
21
{
22
result = (int)(num * 100 / num2);
23
}
24
s_prevProcUserTime
= user;
25
s_prevProcKernelTime
= kernel;
26
s_prevSystemUserTime
= kernel2;
27
s_prevSystemKernelTime
= user2;
28
}
29
return
result;
30
}
31
}
Interop.Kernel32.GetProcessTimes
static bool GetProcessTimes(SafeProcessHandle handle, out long creation, out long exit, out long kernel, out long user)
Interop.Kernel32.GetCurrentProcess
static IntPtr GetCurrentProcess()
Interop.Kernel32.GetSystemTimes
static bool GetSystemTimes(out long idle, out long kernel, out long user)
Interop.Kernel32
Definition
Interop.cs:8
Interop
Definition
Interop.cs:6
System.Diagnostics.Tracing.RuntimeEventSourceHelper.GetCpuUsage
static int GetCpuUsage()
Definition
RuntimeEventSourceHelper.cs:13
System.Diagnostics.Tracing.RuntimeEventSourceHelper.s_prevSystemKernelTime
static long s_prevSystemKernelTime
Definition
RuntimeEventSourceHelper.cs:11
System.Diagnostics.Tracing.RuntimeEventSourceHelper.s_prevProcKernelTime
static long s_prevProcKernelTime
Definition
RuntimeEventSourceHelper.cs:7
System.Diagnostics.Tracing.RuntimeEventSourceHelper.s_prevProcUserTime
static long s_prevProcUserTime
Definition
RuntimeEventSourceHelper.cs:5
System.Diagnostics.Tracing.RuntimeEventSourceHelper.s_prevSystemUserTime
static long s_prevSystemUserTime
Definition
RuntimeEventSourceHelper.cs:9
System.Diagnostics.Tracing.RuntimeEventSourceHelper
Definition
RuntimeEventSourceHelper.cs:4
System.Diagnostics.Tracing
Definition
ActivityTracker.cs:4
System.ConsoleKey.L
@ L
source
System.Private.CoreLib
System.Diagnostics.Tracing
RuntimeEventSourceHelper.cs
Generated by
1.10.0