コード例 #1
0
 // Token: 0x06001A25 RID: 6693 RVA: 0x0005F14C File Offset: 0x0005D34C
 internal static bool CheckIfKnownExceptionAndUpdatePerfCounters(Exception e)
 {
     if (e == null)
     {
         return(false);
     }
     PolicyTipPerfMon.IncrementAllServerFailures();
     if (GetDlpPolicyTipsCommand.knownExceptionsFipsTimeOut.Any((Type exception) => exception.IsInstanceOfType(e)))
     {
         DlpPolicyTipsPerformanceCounters.DlpPolicyTipsFailedRequestsFipsTimeOut.Increment();
         return(true);
     }
     if (GetDlpPolicyTipsCommand.knownExceptionsFips.Any((Type exception) => exception.IsInstanceOfType(e)))
     {
         DlpPolicyTipsPerformanceCounters.DlpPolicyTipsFailedRequestsFips.Increment();
         return(true);
     }
     if (GetDlpPolicyTipsCommand.knownExceptionsEtr.Any((Type exception) => exception.IsInstanceOfType(e)))
     {
         DlpPolicyTipsPerformanceCounters.DlpPolicyTipsFailedRequestsEtr.Increment();
         return(true);
     }
     if (GetDlpPolicyTipsCommand.knownExceptionsAd.Any((Type exception) => exception.IsInstanceOfType(e)))
     {
         DlpPolicyTipsPerformanceCounters.DlpPolicyTipsFailedRequestsAd.Increment();
         return(true);
     }
     if (GetDlpPolicyTipsCommand.knownExceptionsXso.Any((Type exception) => exception.IsInstanceOfType(e)))
     {
         DlpPolicyTipsPerformanceCounters.DlpPolicyTipsFailedRequestsXso.Increment();
         return(true);
     }
     if (GetDlpPolicyTipsCommand.knownExceptionsOws.Any((Type exception) => exception.IsInstanceOfType(e)))
     {
         DlpPolicyTipsPerformanceCounters.DlpPolicyTipsFailedRequestsOws.Increment();
         return(true);
     }
     DlpPolicyTipsPerformanceCounters.DlpPolicyTipsFailedRequestsUnknownError.Increment();
     return(false);
 }
コード例 #2
0
        // Token: 0x06001A1D RID: 6685 RVA: 0x0005EC0C File Offset: 0x0005CE0C
        private void TransitionToSendResponse(bool isSuccess, bool isSkip, GetDlpPolicyTipsResponse response, PolicyTipRequestLogger policyTipRequestLogger, bool removeItemFromPendingList = true)
        {
            policyTipRequestLogger.EndStageAndTransitionToStage(LogStage.SendResponse);
            policyTipRequestLogger.AppendData("IsSuccess", isSuccess ? "1" : "0");
            if (response != null)
            {
                policyTipRequestLogger.AppendData("EvaluationResult", response.EvaluationResult.ToString());
                policyTipRequestLogger.AppendData("OptimizationResult", response.OptimizationResult.ToString());
                policyTipRequestLogger.AppendData("ScanResultData", response.ScanResultData);
                policyTipRequestLogger.AppendData("DetectedClassificationIds", response.DetectedClassificationIds);
            }
            DlpPolicyTipsPerformanceCounters.DlpPolicyTipsPendingRequests.Decrement();
            PolicyTipPerfMon.IncrementTotalRequests();
            if (isSkip)
            {
                DlpPolicyTipsPerformanceCounters.DlpPolicyTipsSkippedRequestsInputError.Increment();
            }
            else if (isSuccess)
            {
                DlpPolicyTipsPerformanceCounters.DlpPolicyTipsSuccessfulRequests.Increment();
            }
            TimeSpan timeSpan = policyTipRequestLogger.EndStage();

            PolicyTipPerfMon.RecordPerRequestLatency(timeSpan);
            if (timeSpan > GetDlpPolicyTipsCommand.HighLatencyThreshold)
            {
                PolicyTipPerfMon.IncrementPercentHighLatency();
            }
            PolicyTipPerfMon.RefreshPerformanceCounters(null);
            if (removeItemFromPendingList)
            {
                lock (GetDlpPolicyTipsCommand.CurrentPendingItems)
                {
                    GetDlpPolicyTipsCommand.CurrentPendingItems.Remove(this.ItemId.GetId());
                }
            }
        }