catalinaの備忘録

ソフトウェアやハードウェアの備忘録。後で逆引きできるように。

Rプログラムをシェルから呼び出す

背景

Rは統計解析に特化した便利な言語。
今回はこいつを使って、あるプログラムの性能測定ログの集計を自動でやることにした。

目的

いままで手動で性能測定したり、ログ集計したりと手作業が含まれていたが、自動実行できたら幸せかな?という思いからいろいろと調査。

やりたいことは単純。
1, Jenkinsの自動実行でビルド
2, ビルドログをpythonperlあたりで適当に整形
3, 整形済みのログをRで解析して、サマリをJenkinsのレポートに出力

 

実現方法

Rを実行するには、まずRのプログラムを書いておく。
(ここではsummary.Rというファイルで保存してあるものとする)
このRのプログラムは次のように実行可能
Jenkinsの自動実行シェルにでも書いておくと良い。

 

Rscript summary.R

 

まとめ

小さいデータで試行錯誤するときはExcelが便利。
何度も実行して全体の傾向をみるときはRで試行錯誤したほうが早い。
(Excelマクロや計算式だと重すぎてストレス)試行錯誤した結果は報告書にまとめるよりもRのプログラム化してJenkinsに組み込んでしまえばいい。
あとはバージョンアップするたびにバグレポートと合わせて性能レポートも出してくれる。
人間がやるべきことは「仕組みややり方を考えること」ですね。
繰り返し作業は機械に任せてしまうのが正解。