public async ValueTask <ExportResult> TrackAsync(IEnumerable <TelemetryItem> telemetryItems, bool async, CancellationToken cancellationToken) { ExportResult result = ExportResult.Failure; if (cancellationToken.IsCancellationRequested) { return(result); } try { using var httpMessage = async ? await _applicationInsightsRestClient.InternalTrackAsync(telemetryItems, cancellationToken).ConfigureAwait(false) : _applicationInsightsRestClient.InternalTrackAsync(telemetryItems, cancellationToken).Result; result = IsSuccess(httpMessage); if (result == ExportResult.Failure && _storage != null) { result = HandleFailures(httpMessage); } } catch (Exception ex) { AzureMonitorExporterEventSource.Log.Write($"FailedToTransmit{EventLevelSuffix.Error}", ex.LogAsyncException()); } return(result); }
public async ValueTask <ExportResult> TrackAsync(IEnumerable <TelemetryItem> telemetryItems, bool async, CancellationToken cancellationToken) { ExportResult result = ExportResult.Failure; if (cancellationToken.IsCancellationRequested) { return(result); } try { using var httpMessage = async ? await _applicationInsightsRestClient.InternalTrackAsync(telemetryItems, cancellationToken).ConfigureAwait(false) : _applicationInsightsRestClient.InternalTrackAsync(telemetryItems, cancellationToken).Result; result = IsSuccess(httpMessage); if (result == ExportResult.Failure && _storage != null) { result = HandleFailures(httpMessage); } else { AzureMonitorExporterEventSource.Log.WriteInformational("TransmissionSuccess", "Successfully transmitted a batch of telemetry Items."); } } catch (Exception ex) { AzureMonitorExporterEventSource.Log.WriteError("FailedToTransmit", ex); } return(result); }