Esempio n. 1
0
 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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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();
            }
        }