static void Write(string filePath)
        {
            long batchSize      = 1000L;
            long collectionSize = COLLECTION_SIZE;
            var  stSize         = Marshal.SizeOf(typeof(PayloadEvent));
            var  fileSize       = stSize * collectionSize;
            int  currentPercent = 0;
            var  batchCount     = collectionSize / batchSize;

            using (var mmFile = MemoryMappedFile.CreateFromFile(
                       filePath,
                       FileMode.Create, "fileHandle", fileSize))
            {
                for (int b = 0; b < batchCount; b++)
                {
                    using (var myAccessor = mmFile.CreateViewAccessor(b * batchSize * stSize, batchSize * stSize))
                    {
                        for (long i = 0; i < batchSize; i++)
                        {
                            var newEl = new PayloadEvent(EventType.start, 100);
                            myAccessor.Write(i * stSize, ref newEl);
                            var tempPercent = (int)(100 * (i + b * batchSize) / collectionSize);
                            if (currentPercent != tempPercent)
                            {
                                currentPercent = tempPercent;
                                Console.WriteLine($"Percents:{currentPercent}");
                            }
                        }
                    }
                }
            }
        }
 public void Run()
 {
     try {
         for (var i = 0; i < 2000000; i++) {
             var payloadEvent = new PayloadEvent("A1");
             runtime.EventService.SendEventBean(payloadEvent, "PayloadEvent");
         }
     }
     catch (Exception ex) {
         Exception = ex;
     }
 }
        private IEnumerable <PayloadEvent> GetEventsBetween(long startIndex, long stopIndex)
        {
            if (stopIndex <= startIndex)
            {
                return(new PayloadEvent[0]);
            }

            var result = new PayloadEvent[stopIndex - startIndex + 1];

            Array.Copy(_array, startIndex, result, 0, stopIndex - startIndex + 1);
            return(result);
        }
Пример #4
0
 public void Run()
 {
     try {
         for (var i = 0; i < 2000000; i++)
         {
             var payloadEvent = new PayloadEvent("A1");
             Engine.EPRuntime.SendEvent(payloadEvent);
         }
     }
     catch (Exception ex) {
         Exception = ex;
     }
 }
Пример #5
0
 public void Run()
 {
     try {
         for (var i = 0; i < _numEvents; i++)
         {
             var payloadEvent = new PayloadEvent();
             _engine.EPRuntime.SendEvent(payloadEvent);
             if (i > 0 && i % 1000000 == 0)
             {
                 Log.Info("sent " + i + " events");
             }
         }
         Log.Info("sent " + _numEvents + " events");
     } catch (Exception ex) {
         this._exception = ex;
     }
 }
Пример #6
0
            public void Run()
            {
                try {
                    for (var i = 0; i < numEvents; i++) {
                        var payloadEvent = new PayloadEvent();
                        runtime.EventService.SendEventBean(payloadEvent, "PayloadEvent");
                        if (i > 0 && i % 1000000 == 0) {
                            Console.Out.WriteLine("sent " + i + " events");
                        }
                    }

                    Console.Out.WriteLine("sent " + numEvents + " events");
                }
                catch (Exception ex) {
                    log.Error("Error while processing", ex);
                    exception = ex;
                }
            }
 public void Run()
 {
     try {
         for (var i = 0; i < NumEvents; i++)
         {
             var payloadEvent = new PayloadEvent();
             Engine.EPRuntime.SendEvent(payloadEvent);
             if (i > 0 && i % 1000000 == 0)
             {
                 Debug.WriteLine("sent " + i + " events");
             }
         }
         Debug.WriteLine("sent " + NumEvents + " events");
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.StackTrace);
         Exception = ex;
     }
 }
        public async Task <IDataProvider> GenerateDataProviderAsync(long collectionSize, object[] parameters)
        {
            if (collectionSize % 2 != 0)
            {
                _logger.Error("Requested size for generation is not even.");
                throw new ArgumentException("Collection size should be even number", nameof(collectionSize));
            }

            try
            {
                _logger.Info($"Generate new ArrayDataProvider:{collectionSize}");
                PayloadEvent[] eventArray     = null;
                int            currentPercent = 0;
                await Task.Run(() =>
                {
                    eventArray = new PayloadEvent[collectionSize];
                    for (int i = 0; i < collectionSize; i++)
                    {
                        var newEvent  = GetNextEvent();
                        eventArray[i] = newEvent;
                        var percent   = (int)(100 * i / collectionSize);
                        if (currentPercent != percent)
                        {
                            currentPercent = percent;
                            EventGenerateProgressChanged?.Invoke(percent);
                        }
                    }
                }).ConfigureAwait(false);

                _logger.Info($"ArrayDataProvider successfully generated");
                return(new ArrayDataProvider(eventArray));
            }
            catch (Exception e)
            {
                _logger.Error(e);
                throw;
            }
        }
        private IEnumerable <PayloadEvent> GetEventsBetween(long startIndex, long stopIndex)
        {
            if (stopIndex <= startIndex)
            {
                return(new PayloadEvent[0]);
            }

            var offset   = startIndex * _entitySize;
            var count    = stopIndex - startIndex + 1;
            var result   = new PayloadEvent[count];
            var byteSize = _entitySize * count;

            using (var accessor = _memoryMappedFile.CreateViewAccessor(offset, byteSize))
            {
                for (long i = 0; i < count; i++)
                {
                    accessor.Read(i * _entitySize, out PayloadEvent payloadEvent);
                    result[i] = payloadEvent;
                }
            }

            return(result);
        }
Пример #10
0
 public static void OnIntEvent(PayloadEvent <int> intEvent)
 {
     Console.WriteLine(intEvent.Payload);
 }