5

EventMachine を利用した twitter-stream ruby​​gem を使用して、ツイートを追跡およびキャプチャすることを検討しています。私は、イベント化されたプログラミング全体に少し慣れていません。イベント ループで実行している処理が原因で遅延が発生しているかどうかを確認するにはどうすればよいですか? 簡単に確認する方法はありますか?

4

2 に答える 2

8

定期的なタイマーを使用して経過時間を出力することで、待ち時間を判断できます。1 秒のタイマーを使用している場合、約 1 秒が経過している必要があります。それよりも大きい場合は、リアクターの速度がどれだけ低下しているかがわかります。

@last = Time.now.to_f
EM.add_periodic_timer(1) do
  puts "LATENCY: #{Time.now.to_f - @last}"
  @last = Time.now.to_f
end 
于 2011-02-06T03:42:07.660 に答える
3

EventMachine にはEventMachine::Queue.size、現在のキューを見て、その大きさを把握できるメソッドがあります。

add_periodic_timer()その場合、キューのサイズを取得して印刷できます。

数値が小さくなっていない場合は、同等です。上昇している場合は、遅れをとっています。

于 2011-02-02T18:44:47.510 に答える