Hatena::ブログ(Diary)

(ひ)メモ このページをアンテナに追加 RSSフィード

2012-01-20 (Fri)

垂れ流されるログのおしりを追いかける

滝のように流れるログは見ていて楽しいのですが、見ているばかりでは仕事にならないので、

というスクリプトを書きました。

機能はこんな感じで、

  • ログ中のきわどいキーワードに色をつけて目立たせる
    • HTTPステータスの「50[0-9]」とかMySQLの「Lock wait timeout exceeded」とか
  • 秒間にある一定行数以上ログが流れたら「NOTIFY_FLOOD」と出力する
    • iTerm 2のPreferences→Profiles→AdvancedタブのTriggersにキーワードを登録しておくとGrowlで通知できるので、「NOTIFY_FLOOD」を登録しておけば、いつよりログがビャービャー流れたときにGrowlで知ることができます
    • ちなみに、iTerm以外のアプリがフォアグラウンドでも、chase-tailを実行しているiTermのタブ以外がアクティブでも、キーワード通知は発動します

例えば、

tail -F takino_youni_nagareru.log | chase-tail -l 10 -t various_error

と実行すると、秒間10行以上ログが流れるとキーワード発動しつつ、ヤバそうな文字列に色を付けて目立たせます。

Enjyo log life!!

2012-01-12 (Thu)

/proc/PID/smapsをreadする

/proc/\d+/smapsを舐め回すスクリプト書いたところ、やけにCPU食うなぁと思いちょっと調べてみたらread(2)の回数がエラい多い件。

回数もさることながら、strace -ttt -Tでみてみると、一回のread(2)にそこそこ時間もかかっているご様子。

なのでread(2)にちょっと時間かかる×回数も多い→CPU時間食ってる、ってことで落着したのですが、よい回避方法ないすかねー

2003 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 12 |
2012 | 01 | 02 | 03 | 06 | 08 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 |
2015 | 01 | 02 | 07 | 10 |
2016 | 01 | 05 | 10 | 12 |
2017 | 07 |
2018 | 05 |