private void ExtendedEventsReader_OnErrorEvent(ExtendedEventsReader sender, OnErrorEventArgs args) { OnErrorExportDataHandler handlerOnErrorExportData = _onErrorExportData; handlerOnErrorExportData?.Invoke(new OnErrorExportDataEventArgs() { Exception = args.Exception }); }
public void Dispose() { if (_reader != null) { _reader.Reset(); _reader.Dispose(); _reader = null; } }
private void ExtendedEventsReader_BeforeReadFile(ExtendedEventsReader sender, BeforeReadFileEventArgs args) { var taskLogFileLoaded = _target.LogFileLoaded(args.FileName); taskLogFileLoaded.Wait(); if (taskLogFileLoaded.Result) { args.Cancel = true; } }
private void ExtendedEventsReader_AfterReadFile(ExtendedEventsReader sender, AfterReadFileEventArgs args) { if (_dataToSend.Count > 0) { SendDataCurrentPortion(sender).Wait(); } ExtendedEventsPosition position = sender.GetCurrentPosition(); _target.SaveLogPosition(position); }
private void ExtendedEventsReader_BeforeReadFile(ExtendedEventsReader sender, BeforeReadFileEventArgs args) { FileInfo logFileInfo = new FileInfo(args.FileName); var logFileChangedTask = _target.LogFileChanged(logFileInfo); logFileChangedTask.Wait(); if (!logFileChangedTask.Result) { args.Cancel = true; } }
public void SetXEventsPath(string eventPath) { _eventPath = eventPath; if (!string.IsNullOrEmpty(_eventPath)) { _reader = new ExtendedEventsReader(eventPath, ExtendedEventsReader_OnReadEvent, null, ExtendedEventsReader_BeforeReadFile, ExtendedEventsReader_AfterReadFile, ExtendedEventsReader_OnErrorEvent); } }
private void ExtendedEventsReader_AfterReadFile(ExtendedEventsReader sender, AfterReadFileEventArgs args) { FileInfo _lastEventLogDataFileInfo = new FileInfo(args.FileName); if (_dataToSend.Count > 0) { SendDataCurrentPortion(sender).Wait(); } ExtendedEventsPosition position = sender.GetCurrentPosition(); _target.SaveLogPosition(_lastEventLogDataFileInfo, position, true); }
private async Task SendDataCurrentPortion(ExtendedEventsReader reader) { RiseBeforeExportData(out var cancel); if (!cancel) { await _target.Save(_dataToSend); RiseAfterExportData(reader.GetCurrentPosition()); if (reader.CurrentFile != null) { await _target.SaveLogPosition(reader.GetCurrentPosition()); } } _dataToSend.Clear(); }
private void ExtendedEventsReader_OnReadEvent(ExtendedEventsReader sender, OnReadEventArgs args) { if (sender.CurrentRow == null) { return; } var fileInfo = new FileInfo(sender.CurrentFile); var eventData = new XEventData(fileInfo.Name, sender.CurrentFileEventNumber, args.EventData); _dataToSend.Add(eventData); if (_dataToSend.Count >= _portionSize) { SendDataCurrentPortion(sender).Wait(); } }