/// <summary>
 /// Stop monitoring a backup call
 /// </summary>
 /// <param name="apiCall">The API call to be monitored</param>
 public void StopBackupMonitoring(FabricApiCallDescription apiCall)
 {
     if (apiCall != null)
     {
         this.StopMonitoringApi(apiCall);
     }
 }
        /// <summary>
        /// Start Monitoring an API call. Returns the provided API call description (or null) which should be used as an argument to StopMonitoringApi
        /// </summary>
        /// <param name="startMonitoringApiCall"> API call to be monitored </param>
        /// <returns>The api call passed to the FabricMonitoringComponent</returns>
        private FabricApiCallDescription StartMonitoringApi(FabricApiCallDescription startMonitoringApiCall)
        {
            Utility.Assert(this.replicatorSettings.PublicSettings.SlowApiMonitoringDuration != TimeSpan.Zero, "StartMonitoringApi requires TimeSpan above zero");

            this.fabricMonitor.StartMonitoring(startMonitoringApiCall);

            return(startMonitoringApiCall);
        }
Esempio n. 3
0
 public ExpiredApiCall(bool shouldReportHealth, FabricApiCallDescription apiDescription)
 {
     this.shouldReportHealth = shouldReportHealth;
     this.apiDescription     = apiDescription;
 }
Esempio n. 4
0
        /// <summary>
        /// Default clear slow health callback, invokes ReportReplicaHealth on the partition object from apiCall
        /// using HealthInformation object FabricApiCallDescription.GetHealthInformation_OK.
        /// </summary>
        /// <param name="apiCall"></param>
        private void DefaultClearSlowHealthReportCallback(FabricApiCallDescription apiCall)
        {
            var clearHealthInfo = apiCall.GetHealthInformation_OK();

            apiCall.Partition.ReportReplicaHealth(clearHealthInfo);
        }
Esempio n. 5
0
        /// <summary>
        /// Default slow health callback, invokes ReportReplicaHealth on the partition object from apiCall
        /// using HealthInformation object from FabricApiCallDescription.GetHealthInformation_Slow.
        /// </summary>
        /// <param name="apiCall"></param>
        private void DefaultSlowHealthCallback(FabricApiCallDescription apiCall)
        {
            var healthInfo = apiCall.GetHealthInformation_Slow();

            apiCall.Partition.ReportReplicaHealth(healthInfo);
        }
        /// <summary>
        /// Stop Monitoring
        /// </summary>
        /// <param name="endMonitoringApiCall">The API call to stop monitoring</param>
        private void StopMonitoringApi(FabricApiCallDescription endMonitoringApiCall)
        {
            Utility.Assert(endMonitoringApiCall != null, "StopMonitoringApi requires a non-null argument");

            this.fabricMonitor.StopMonitoring(endMonitoringApiCall);
        }