/// <summary> /// Invoke this method when the cmdlet is completed or terminated. /// </summary> protected void LogQosEvent() { if (_qosEvent == null) { return; } _qosEvent.FinishQosEvent(); if (!IsUsageMetricEnabled && (!IsErrorMetricEnabled || _qosEvent.IsSuccess)) { return; } if (!IsDataCollectionAllowed()) { return; } WriteDebug(_qosEvent.ToString()); try { _metricHelper.SetPSHost(this.Host); _metricHelper.LogQoSEvent(_qosEvent, IsUsageMetricEnabled, IsErrorMetricEnabled); _metricHelper.FlushMetric(); WriteDebug("Finish sending metric."); } catch (Exception e) { //Swallow error from Application Insights event collection. WriteWarning(e.ToString()); } }