Haruka Yoshihara
yoshi****@clear*****
2012年 12月 21日 (金) 15:27:10 JST
吉原です。 groongaのクエリログを解析するためのrubyのライブラリとツールである groonga-query-logの1.0.1をリリースしました。 リポジトリ: https://github.com/groonga/groonga-query-log インストール: gem install groonga-query-log groonga-query-logはgroongaのクエリログを解析するためのライブラリとツー ル群です。 groongaのクエリログを取得するには、groongaコマンドを実行するとき に、--query-log-pathオプションにパスを指定します。すると指定したパスに クエリログが出力されます。 1.0.1での変更点としては、groonga-query-log-extractコマンドを追加しまし た。 このコマンドを使うと、クエリログから実際に実行したコマンド列を抽出する ことができます。 オプションを指定することで特定のコマンドのみ抽出したり、逆に特定のコマ ンドを抽出の対象から外すことができます。 元々、groonga-query-log-extractコマンドはgroongaのRubyバインディングで あるrroongaに実行ファイルとして含まれていました。 ですが、groongaのクエリログ関連のツールを一括で管理するため、今回、 groonga-query-logに移動して、これまで通りツールとしても、またライブラリ としても使えるようにしました。 さて、groonga-query-log-extractコマンドの使い方を例で示します。 あるクエリログ(ここではquery.logにログが保存されているとします)から selectコマンドだけを抽出して、どんな検索が行われたかを調べたいとします。 この場合は次のようにコマンドを実行します。 $ groonga-query-log-extract --command select query.log すると、query.logにあるselectコマンド列が抽出され、端末上に表示されます。 例えば次のように表示されます。 select --table Users --query follower:@groonga --output_columns _key,name これ以外の変更としては、クエリログの解析を行う groonga-query-log-analyzerコマンドをリネームし、 groonga-query-log-analyzeと変更しました(末端のrを削除しました)。 ツールとして実行するコマンドなので、"analyzer"のように名詞ではなく、動 詞のほうが名前として適切だと思い変更しました。これまで groonga-query-log-analyzerを使っていた方はご注意ください。 1.0.0からの詳しい変更点は以下をご覧ください。 http://rubydoc.info/gems/groonga-query-log/file/doc/text/news.md ## 1.0.1: 2012-12-21 ### 改善 * "groonga-query-log-extract"コマンドとそれを実装するクラスを追加。 "groonga-query-log-extract"コマンドはクエリログからコマンド (table_create..., load..., select... など)を抽出します。使い方は "groonga-query-log-extract --help"を実行すると表示されます。 ###変更 * groonga-query-log-analyzerをgroonga-query-log-analyzeにリネーム(後 ろの"r"を削除)。 * 各コマンドに対して、入力ファイル、リダイレクト、パ イプによりクエリログが入力されない場合はエラーを出して終了するよう にした。 --- Haruka Yoshihara <yoshi****@clear*****>