1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
//------------------------------------------------------------------------------
// <copyright file="ProcessInfo.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
/*
* ProcessInfo class
*/
namespace System.Web {
using System.Threading;
using System.Security.Permissions;
/// <devdoc>
/// <para>Provides enumerated values representing status of a process.</para>
/// </devdoc>
public enum ProcessStatus {
/// <devdoc>
/// <para>Specifies that the process is running.</para>
/// </devdoc>
Alive = 1,
/// <devdoc>
/// <para>Specifies that the process has begun shutting down.</para>
/// </devdoc>
ShuttingDown = 2,
/// <devdoc>
/// <para>Specifies the the process has been shut down.</para>
/// </devdoc>
ShutDown = 3,
/// <devdoc>
/// <para>Specifies that the process has been terminated.</para>
/// </devdoc>
Terminated = 4
}
/// <devdoc>
/// <para>Provides enumerated values representing the reason a process has shut
/// down.</para>
/// </devdoc>
public enum ProcessShutdownReason {
/// <devdoc>
/// <para>Specifies that the process has not been shut down.</para>
/// </devdoc>
None = 0, // alive
/// <devdoc>
/// <para>Specifies that the process has been shut down unexpectedly.</para>
/// </devdoc>
Unexpected = 1,
/// <devdoc>
/// <para>Specifies that the process request exceeded the limit on number of
/// processes.</para>
/// </devdoc>
RequestsLimit = 2,
/// <devdoc>
/// <para>Specifies that the process request exceeded the limit on number of
/// processes in que.</para>
/// </devdoc>
RequestQueueLimit = 3,
/// <devdoc>
/// <para>Specifies that the process timed out.</para>
/// </devdoc>
Timeout = 4,
/// <devdoc>
/// <para>Specifies that the process exceeded the limit on process idle time.</para>
/// </devdoc>
IdleTimeout = 5,
/// <devdoc>
/// <para>Specifies that the process exceeded the limit of memory available per process.</para>
/// </devdoc>
MemoryLimitExceeded = 6,
PingFailed = 7,
DeadlockSuspected = 8
}
/// <devdoc>
/// <para>Provides information on processes.</para>
/// </devdoc>
public class ProcessInfo {
/// <devdoc>
/// <para>Indicates the time a process was started.</para>
/// </devdoc>
public DateTime StartTime { get { return _StartTime;}}
/// <devdoc>
/// <para>Indicates the length of time the process has been running.</para>
/// </devdoc>
public TimeSpan Age { get { return _Age;}}
/// <devdoc>
/// <para>Indicates the process id of the process.</para>
/// </devdoc>
public int ProcessID { get { return _ProcessID;}}
public int RequestCount { get { return _RequestCount;}}
/// <devdoc>
/// <para>Indicates the current status of the process.</para>
/// </devdoc>
public ProcessStatus Status { get { return _Status;}}
/// <devdoc>
/// <para>Indicates the reason the process shut down.</para>
/// </devdoc>
public ProcessShutdownReason ShutdownReason { get { return _ShutdownReason;}}
/// <devdoc>
/// <para>Indicates the maximum amount of memory the process has used.</para>
/// </devdoc>
public int PeakMemoryUsed { get { return _PeakMemoryUsed;}}
private DateTime _StartTime;
private TimeSpan _Age;
private int _ProcessID;
private int _RequestCount;
private ProcessStatus _Status;
private ProcessShutdownReason _ShutdownReason;
private int _PeakMemoryUsed;
/// <devdoc>
/// <para>Sets internal information indicating the status of the process.</para>
/// </devdoc>
public void SetAll (DateTime startTime, TimeSpan age, int processID, int requestCount, ProcessStatus status,
ProcessShutdownReason shutdownReason, int peakMemoryUsed) {
_StartTime = startTime;
_Age = age;
_ProcessID = processID;
_RequestCount = requestCount;
_Status = status;
_ShutdownReason = shutdownReason;
_PeakMemoryUsed = peakMemoryUsed;
}
/// <devdoc>
/// <para>Initializes a new instance of the <see langword='ProcessInfo'/> class and sets internal information
/// indicating the status of the process.</para>
/// </devdoc>
public ProcessInfo (DateTime startTime, TimeSpan age, int processID, int requestCount, ProcessStatus status,
ProcessShutdownReason shutdownReason, int peakMemoryUsed) {
_StartTime = startTime;
_Age = age;
_ProcessID = processID;
_RequestCount = requestCount;
_Status = status;
_ShutdownReason = shutdownReason;
_PeakMemoryUsed = peakMemoryUsed;
}
public ProcessInfo() {
}
}
}
|