2017-02-06 7 views
0

Я пытаюсь измерить латентность каждого болта в топологии. Количество задержек, предоставляемое Storm, недостаточно, так как мы хотим рассчитать процентили. В моей текущей настройке я измеряю задержку болта, измеряя время, необходимое для завершения метода выполнения, включая вызов испускания. Предположение, приведенное выше, заключается в том, что излучатель коллектора немедленно возвращается, не вызывая следующий метод выполнения экземпляров болта, даже если один и тот же исполнитель делится между текущим экземпляром болта и последующим экземпляром болта в топологии.Измерительная латентность штормовых болтов

ответ

0

Поставив таймер в начале и в конце вашего метода выполнения (после испускания), вы должны быть в порядке.

+0

Означает ли это, что метод испускания является асинхронным? – user3612009

+0

Не обязательно. Возможно, Emit добавляет кортеж во внутреннюю очередь, а следующий болт читает из очереди всякий раз, когда готов обработать следующий кортеж. Поэтому, независимо от того, что вы делаете на следующем болте, испускание всегда занимает одно и то же время, и это очень дешевая инструкция. Если вы хотите измерить, как долго исходит излучение, просто используйте один болт, который только испускает и измеряет это. Затем вы можете вычесть это число из болта, который вы фактически измеряете. –

+0

'вероятно добавляет кортеж' - Да, я также предполагаю, что это то, что происходит, но просто хочу подтверждения. – user3612009

Смежные вопросы