PHP-FPMのステータスをメトリクスとして収集するMackerelプラグインを作った

週末にまとまった時間ができたので何か書こうと思った結果としてできた。

(6/30更新:本家にマージしていただきました!)

github.com

使ってみるとこんな感じ。Queue関連のメトリクスを実際の値でテストしたかったけれど、Backlogとかその辺がいろいろわかってないせいかできなかったので以下の動作イメージでも0のまま。

f:id:ariarijp:20160424210341p:plain

インストールは適当にgo getして$GOPATH/binからコピーするのを想定。

ひさしぶりにGoを書いたのでMackerelのヘルプを写経してから書いた。

mackerel.io

ヘルプをよく読めば気づいたことではあるけど、メトリクスはuint64またはfloat64でないと送信できないことに気づくまで2時間近くハマってしまった。それがなかったら1時間ちょっとで大体の処理は書けていたと思う。

テストコードではHTTPリクエストをモックできるhttpmockを使ってみた。

github.com

大したものではないけど、久しぶりに没頭できたので良い気分転換になった。