public async Task Save(XEventData eventData) { await Save(new List <XEventData>() { eventData }); }
public async Task Save(XEventData eventData) { List <XEventData> rowsData = new List <XEventData> { eventData }; await Save(rowsData); }
public async Task <bool> RowDataExistOnDatabase(string FileName, XEventData eventData) { bool output = false; using (var command = _connection.CreateCommand()) { command.CommandText = @"SELECT FileName FROM XEventData AS XD WHERE FileName = {FileName:String} AND Period = {Period:DateTime} AND EventNumber = {EventNumber:Int64} AND EventName = {EventName:String} AND UUID = {UUID:String}"; command.Parameters.Add(new ClickHouseDbParameter { ParameterName = "FileName", DbType = DbType.AnsiString, Value = FileName }); command.Parameters.Add(new ClickHouseDbParameter { ParameterName = "Period", DbType = DbType.DateTime, Value = eventData.Timestamp.DateTime }); command.Parameters.Add(new ClickHouseDbParameter { ParameterName = "EventName", DbType = DbType.AnsiString, Value = eventData.EventName }); command.Parameters.Add(new ClickHouseDbParameter { ParameterName = "UUID", DbType = DbType.AnsiString, Value = eventData.UUID.ToString() }); command.Parameters.Add(new ClickHouseDbParameter { ParameterName = "EventNumber", DbType = DbType.Int64, Value = eventData.EventNumber }); using (var cmdReader = await command.ExecuteReaderAsync()) { if (await cmdReader.ReadAsync()) { output = true; } } } return(output); }
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(); } }