speed_gun 㧠Rails ã®ããã©ã¼ãã³ã¹ã測å®ãã
Web ã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹ã«ããããã¿ãªããããã«ã¡ã¯ã
Rails ã¢ããªã®ããã©ã¼ãã³ã¹ãããã¡ã¤ãªã³ã°ã ã¨ã rack-mini-profiler ãæåã§ããã以å¤ã 㨠New Relic ã¨ãã使ã£ã¦æ¸¬å®ãã¦ããã®ãæ®éã®ããã§ãããç©è¶³ããªãé¨åããã£ãã®ã§ãèªåã§ãããã¡ã¤ã© gem ãä½ãã¾ããã
Rubygems: http://rubygems.org/gems/speed_gun / Github: https://github.com/rosylilly/speed_gun
詳細㯠Github ã® README ãªãããè¦ã¦ããã ãã¨ãã¦ãåºæ¬çã«ã¯ rack-mini-profiler çãªæ å ±åéãåºæ¥ãã¨æã£ã¦ããã£ã¦å·®ãæ¯ããªãã§ãã
ã¡ãªã¿ã«è¨æ¸¬ç»é¢ã¯ãããªæãã
大ããªã¹ã¯ãªã¼ã³ã·ã§ããã¯ãã¡ã
å°ããã¦ä½ãè¦ããªãããâ¦â¦ã¨ãããã3ã»ã¯ã·ã§ã³ãã£ã¦ã
- ãã©ã¦ã¶ã® UserAgent ã Performance API ãªã©ã®çµæ
- ãããã¡ã¤ã«çµæ
- Rack ENVs
ã¨ãªã£ã¦ãã¾ãï¼ã¡ãªã¿ã«ç»å㯠Redmine ã«å°å
¥ãã¦ã¿ãã¨ããã§ãã Gemfile ã« gem 'speed_gun'
ã£ã¦æ¸ããã OK ã§ããï¼ã
rack-mini-profiler ã«ã¯ GC ã測å®ããæ©è½ã¨ã ruby-prof ã¨ã®é£æºæ©è½ã¨ããããã§ãããä¸æ¦ãã®è¾ºã¯ã®ãã¦ãã¾ããããããããããã¨ã§å®è£ ããããã
speed_gun ã¯ã¨ã«ããææ©ã Rails ã®ãããã¡ã¤ã«ãåããããã«æ°ã使ã£ã¦ãã¾ããã«ã¹ã¿ã ãããã¡ã¤ã©ãæ軽ã«ä½ããããã«ãã¦ãã¾ã(README ã®éã)ã
ã¾ãã JS ã®ãããã¡ã¤ã«çµæã speed_gun ã«éãã®ãç°¡åã«åºæ¥ãããã«ãã¦ããã¾ãã1ã¤ã®ç»é¢ãçã§å ±æãããã¨ã§ãéããã©ã¦ã¶éã§ã®ããã©ã¼ãã³ã¹æ¸¬å®ãããå¹ççã«è¡ããããã«ããããã§ãã
Web ã¢ããªã±ã¼ã·ã§ã³ã®ãããã©ã¼ãã³ã¹ãã¯æ§ã ãªã¬ã¤ã¤ããããRails ã®ãã°ããã ãã§ã¯ãæ¬å½ã®ããã«ããã¯ãã©ããªã®ããèªèããã®ãå°é£ã ã¨æã£ã¦ãã¾ãããã¨ãã°ã Rails ã¯é«éã«è¿ãã¦ãããã©ã JS ã§ãããéãå¦çããã£ã¦ãããã©ã¼ãã³ã¹ããæªãæ°ãããããªã©ã§ãã
éããµã¤ããè¦ã¦ãã¦ã¼ã¶ã¼ããã¯ãéããã¨ããè¨ã£ã¦ãããªãã®ã§ãã©ããéãã®ããæ¤è¨¼ããããã«ä½ãã¾ããã
ã¾ã ã¾ã ããã¥ã¡ã³ãæ´åä¸è¶³ãªã®ã§ããã£ã¨å¢ããã¦ããã¤ããã§ãã
å®é¨çãªæ©è½ SpeedGun::Hook
speed_gun ã«ã¯ SpeedGun::Hook
ã¨ããã¯ã©ã¹ãããããããç¶æ¿ã㦠#invoke
ãçããã¦ããã¨ãããã«ä¿åããã SpeedGun::Profiler
ã®ã¤ã³ã¹ã¿ã³ã¹ã渡ãããã«ãªã£ã¦ãã¾ãã
Javascript ãããã¡ã¤ãªã³ã°ã®é½åä¸ãåã ID ã® SpeedGun::Profiler
ã¤ã³ã¹ã¿ã³ã¹ãæ°åº¦å¼ã³åºãããé¨åã«èæ
®ãã¦ã³ã¼ããæ¸ãã¦ãããã¨ã§ãããã©ã¼ãã³ã¹æ
å ±ãã©ããã«æ°¸ç¶åãããã¨ãã£ããã¨ãå¯è½ã§ãã
ãã®è¾ºã¯ã¾ã API ãåºãããã¦ããªãã®ã§ä»å¾å¤æ´ãããå¯è½æ§ãããã¾ãããã¨ããããåã試ãã«ä½¿ã£ã¦ä½¿ç¨æã確ããããããªã¨ããã¨ããã§ãã
ããã§ã¯ï¼