Ruby on Rails: Request log analyzer
Z logu sysému můžeme sice vyčíst spoustu zajímavých informací, ale někdy může být vcelku problém se v nich vůbec vyznat. V takovém případě musíme logy nějakým způsobem analyzovat.
V Ruby on Rails můžete jednoduše použít Request Log Analyzer (http://wiki.github.com/…analyzer/), který za vás logy analyzuje a vypíše vám pouze důležité informace.
K čemu používat Request-log-analyzer
Základní použití je zřejmě jasné. Analyzátoru předhodíme logovací soubor a on nám z něj získá důležité informace. My jsme ve výsledku osvobozeni od toho, zdlouhavě studovat několik dní nepřehledných logů.
využití:
- Rychlé měření výkonu, a zjištění pomalých částí projektu
- rychlé použití
- malé nároky na paměť
- MIT licence
- Velká podpora různých logů (Apache, Amazon S3, MySQL, PostgreSQL, Rack, Rails a další.)
Instalace
Instalace je velmi jednoduchá, můžete instalovat jako gem:
1 |
gem install request-log-analyzer |
V seznamu gemů (příkaz gem list) se vám poté musí objevit:
1 |
request-log-analyzer (1.4.0) |
Použití analyzátoru
Základní použití je opět velmi jednoduché. Stačí spustit příkaz request-log-analyzer a jako parametr mu dát cestu k logu.
Logy najdete v adresáři log v rootu projektu. Logy jsou umístěny v souboru development.log, nebo production.log, podle režimu, ve kterém pracujete.
1 |
request-log-analyzer development.log |
Log analyzer bude logy chvíli zpracovávat, a poté výstup vytiskne do konzole. Tento výpis je vcelku nepřehledný, naštěstí můžeme výpis jednoduše upravit a vypsat do html formátu:
1 2 3 |
request-log-analyzer development.log --output HTML --file out.html |
Tím dosáhneme toho, že se vytvoří soubor out.html, ve kterém budou graficky zobrazené statistiky a výsledky celé analýzy v přehledném formátu.
Ještě uvedu dva zajímavé parametry, které může request-log-analyzer obsahovat a to je omezení data z logovacího souboru, takže pokud máte například měsíc generovaný log soubor a zajímá vás pouze několik posledních dní, můžete použít:
1 2 3 4 5 |
request-log-analyzer development.log --output HTML --file out.html --after 2010-04-22 --before 2010-04-26 |
Tímto vypíšeme statistiky pouze v rozmezí dvou datumů.
Závěrem
Request-log-analyzer toho umí mnohem více, než je uvedeno v tomto jednoduchém příkladu. Více se dozvíte na webu projektu.