public static bool RequestStateIs(RequestState currentState, RequestState stateToCheck) { for (RequestJobStateNode requestJobStateNode = RequestJobStateNode.GetState(currentState); requestJobStateNode != null; requestJobStateNode = requestJobStateNode.Parent) { if (requestJobStateNode.MRState == stateToCheck) { return(true); } } return(false); }
private void UpdateActiveCounts(RequestState rjState, long delta) { if (this.pcHelper == null) { return; } for (RequestJobStateNode requestJobStateNode = RequestJobStateNode.GetState(rjState); requestJobStateNode != null; requestJobStateNode = requestJobStateNode.Parent) { if (requestJobStateNode.GetActivePerfCounter != null) { requestJobStateNode.GetActivePerfCounter(this.pcHelper.PerfCounter).IncrementBy(delta); } } }
private void IncRateCounts(RequestState rjState) { if (this.pcHelper == null) { return; } for (RequestJobStateNode requestJobStateNode = RequestJobStateNode.GetState(rjState); requestJobStateNode != null; requestJobStateNode = requestJobStateNode.Parent) { if (requestJobStateNode.GetCountRatePerfCounter != null) { requestJobStateNode.GetCountRatePerfCounter(this.pcHelper).IncrementBy(1L); } } }
public RequestJobDurationData GetDuration(RequestState state) { RequestJobDurationData requestJobDurationData = null; RequestJobDurationData requestJobDurationData2; if (this.durations.TryGetValue(state, out requestJobDurationData2)) { requestJobDurationData = requestJobDurationData2; } if (state == this.curState) { DateTime utcNow = TimeProvider.UtcNow; TimeSpan duration = utcNow.Subtract(this.stateChangeTimestamp); if (requestJobDurationData == null) { requestJobDurationData = new RequestJobDurationData(state); requestJobDurationData.AddTime(duration); this.durations[this.curState] = requestJobDurationData; } else { requestJobDurationData.AddTime(duration); } this.stateChangeTimestamp = utcNow; } RequestJobStateNode state2 = RequestJobStateNode.GetState(state); if (state2 != null) { foreach (RequestJobStateNode requestJobStateNode in state2.Children) { RequestJobDurationData duration2 = this.GetDuration(requestJobStateNode.MRState); if (duration2 != null) { requestJobDurationData += duration2; } } } return(requestJobDurationData); }