private async Task FlushEventsAsync(FlushPayload payload) { EventOutputFormatter formatter = new EventOutputFormatter(_config); string jsonEvents; int eventCount; try { jsonEvents = formatter.SerializeOutputEvents(payload.Events, payload.Summary, out eventCount); } catch (Exception e) { LogHelpers.LogException(_logger, "Error preparing events, will not send", e); return; } var result = await _eventSender.SendEventDataAsync(EventDataKind.AnalyticsEvents, jsonEvents, eventCount); if (result.Status == DeliveryStatus.FailedAndMustShutDown) { _disabled = true; } if (result.TimeFromServer.HasValue) { Interlocked.Exchange(ref _lastKnownPastTime, UnixMillisecondTime.FromDateTime(result.TimeFromServer.Value).Value); } }