ここ最近、gops に関する記事を2つ書いた。
golang で書かれたプロセスのリソースを外部から監視/操作できる「gops」 - Qiita
この記事は [Go Advent Calendar 2016](http://qiita.com/advent-calendar/2016/go) の3日目の記事です。 # はじめに 今回は gops...
http://qiita.com/mattn/items/a92f69ff18eb5cbcdd59
稼働中のバッチを監視したくなったら Mackerel Custom Metrics が便利 - Qiita
この記事は [Mackerel Advent Calendar 2016](http://qiita.com/advent-calendar/2016/mackerel) の 12/13 日の記事です...
http://qiita.com/mattn/items/882a1924a1d706d127a2
実は gops には一つ注意点がある(あった)。プロファイル結果をファイルとして出力しているためにお掃除しているコードがあるのだけど、これを行う為に SIGINT をキャッチしてしまっている。なので既存で CTRL-C をハンドリングしていたコードがちゃんと働かなくなるという問題があった。
Allow starting the agent without installing a signal handler by cezarsa · Pull Request #19 · google/gops · GitHub
The idea of exposing this type was for forward compatibility. I wouldn't care about breaking API at ...
https://github.com/google/gops/pull/19
が、先ほど修正がマージされ
if err := agent.Listen(&agent.Options{NoShutdownCleanup: true}); err != nil {
log.Fatal(err)
}
この様にオプションで終了時処理を無効にしつつ起動する事ができる様になった。これで安心してプロダクションコードでも使用できる様になった。