StreamInsight: CleanseInput отбрасывает события

1

У меня проблема, и я не знаю, почему она появляется. У меня есть InputAdapter, который получает случайно генерируемые события для целей тестирования.

Следующий код создает запрос, в котором выпадает много событий. которые я действительно хочу сохранить.

var atgs = new AdvanceTimeGenerationSettings(config.Input.EventCount, 
                    TimeSpan.FromSeconds(config.Input.Delay), true);
                var ats = new AdvanceTimeSettings(atgs, null, AdvanceTimePolicy.Adjust);

                var dstream = CepStream<Dataclass>.Create("Data Input Stream", typeof (InAdapterFactory),
                    config.Input, EventShape.Point, ats);



                Query output = dstream.ToQuery(myApplication,
                    "Sample unbounded query",
                    "Query with no output adapter",
                    EventShape.Point,
                    StreamEventOrder.FullyOrdered);
                output.Start();

                var instream = output.ToStream<Dataclass>();

У кого-нибудь есть идея, почему между DataInputStream и DatainputStream_CleanseInput проходит только пятая часть всех событий? См. Следующий рисунок. Есть ли способ избежать этого?

https://dl.dropboxusercontent.com/u/15482726/CleanseIssue.jpg

Я очень благодарен за любую помощь.

С наилучшими пожеланиями, Джо

Теги:
streaminsight

1 ответ

1
Лучший ответ

Это будут события, которые произошли из-за нарушений CTI. Пока у вас есть параметр AdvanceTimePolicy для настройки, это относится только к событиям Interval, которые пересекают рассматриваемый диапазон CTI. То есть, если событие Interval имеет время начала до последнего выданного CTI и время окончания после последнего CTI, время начала (только) события Interval будет скорректировано. Точечные события всегда отбрасываются.

  • 0
    Есть ли у вас идеи, почему события нарушают CTI? Как я могу избежать этого?
  • 0
    Не видя вашего входного адаптера, не могу сказать. Это будет полностью зависеть от того, как вы устанавливаете время начала событий. Если вы запишите события, вы увидите, какие события были сброшены из-за нарушения CTI. Они появятся в операторе ввода, но затем будут сброшены до того, как "get" попадет в InputAdapter_Cleanse. Отладчик также даст вам статистику о том, сколько событий отброшено.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню