設定ファイル (toml) で [[replace]]
が使える。 kataribe というのはこちら: GitHub - matsuu/kataribe: Access log profiler based on response time
ISUCON10 予選の後の感想戦の時間に初めてちゃんと kataribe を使ってみた(予選中は僕じゃない人がやってくれていた)のだけど、 (正規表現にマッチしたものを name
として扱うことにするルールである) [[bundle]]
だけでちまっと設定を書いてある状態だったので、クエリパラメータの値を無視してキーだけうまくまとめてみたいな、と思い、登場するクエリパラメータそれぞれついている/いないの全通りの [[bundle]]
を 2400行くらい書いて(というか js で雑に生成して)見てみていた。
正規表現にマッチした部分を name
で置き換えてくれる、というような動きをしてくれれば 1個のルールで済んで助かるな〜と思って issue を探してみたところ、記事冒頭の issue の通り [[replace]]
という設定がもう実装されていることに気づいて、めちゃめちゃテンションが上がった。今後また kataribe を使うときは [[replace]]
をバリバリ使ってうまくまとめて見たい。
ちなみに issue ではクエリパラメータの値を無視するこういう例が紹介されている:
[[replace]] regexp = '=[0-9]+&' replace = '=<num>&' [[replace]] regexp = '=[0-9]+\s' replace = '=<num> 'https://github.com/matsuu/kataribe/pull/18#issuecomment-527731712
これで /hoge?foo=1&bar=2
と /hoge?foo=3&bar=4
のようなリクエストを同じ /hoge?foo=<num>&bar=<num>
としてまとめることができる。