PHP-FPMのステータスをメトリクスとして収集するMackerelプラグインを作った
週末にまとまった時間ができたので何か書こうと思った結果としてできた。
(6/30更新:本家にマージしていただきました!)
使ってみるとこんな感じ。Queue関連のメトリクスを実際の値でテストしたかったけれど、Backlogとかその辺がいろいろわかってないせいかできなかったので以下の動作イメージでも0のまま。
インストールは適当にgo get
して$GOPATH/bin
からコピーするのを想定。
ひさしぶりにGoを書いたのでMackerelのヘルプを写経してから書いた。
ヘルプをよく読めば気づいたことではあるけど、メトリクスはuint64
またはfloat64
でないと送信できないことに気づくまで2時間近くハマってしまった。それがなかったら1時間ちょっとで大体の処理は書けていたと思う。
テストコードではHTTPリクエストをモックできるhttpmockを使ってみた。
大したものではないけど、久しぶりに没頭できたので良い気分転換になった。