タグ

ブックマーク / www.klab.com (4)

  • Go pprof マスター編 (pprof の仕組み)

    この記事は KLab Advent Calendar 2015 の19日目の記事です。 pprof 連載最後は、 ここまでで紹介してきたプロファイラがどういう仕組みでプロファイリングしているかを解説します。 pprof が表示している値がどう計算されているのかを把握することで、よりプロファイラを理解して使いこなすことができるようになるはずです。 goroutine profile スタックダンプ (/debug/pprof/goroutine?debug=1) の出力は次のような形式でした。 ... 1 @ 0x42d2b3 0x42d374 0x414cda 0x45d981 # 0x42d2b3 runtime.gopark+0x163 /usr/local/go/src/runtime/proc.go:186 # 0x42d374 runtime.goparkunlock+0x54

    Go pprof マスター編 (pprof の仕組み)
  • Go pprof 入門編 (CPU Profile とコマンドラインツール)

    このエントリーは、 KLab Advent Calendar 2015 の17日目の記事です。 pprof は Go の標準ライブラリにあるプロファイラです。 CPUを使用している部分を見つけるだけでなく、CPUを使ってないのにレイテンシが悪化するケースやメモリリークを発見したり、長時間安定して動くサーバープログラムを開発するのにとても便利です。 今日から3日間の連載でこの pprof の使い方や仕組みについて見て行きます。最初は一番基となる CPU プロファイルの取得方法と、 go tool pprof の使い方を説明します。 Note: Macでの注意点 Mac OS X の Mavericks 以前は、 GoCPUProfiler が利用している SIGPROF シグナルに問題があり、 CPU プロファイルを取るためにカーネルにパッチを当てる必要がありました。 この問題は E

    Go pprof 入門編 (CPU Profile とコマンドラインツール)
  • Go pprof 応用編 (CPU 以外のプロファイル)

    この記事は KLab Advent Calendar 2015 の18日目の記事です。 Go 言語のランタイムは CPU プロファイル以外にも幾つかのプロファイルを標準で実装していますが、あまり Web 上に実用的な情報がありません。 そこでこの記事では、実際に Go で長期間稼働するサーバーを開発する上で役に立った CPU 以外のプロファイル機能を紹介することにします。 スタックダンプ /debug/pprof/goroutine で、現時点での全 goroutine のダンプを取得できます。 これは go tool pprof でも利用できますが、実際に使うときはそれよりも curl や wget などを使って /debug/pprof/goroutine?debug=1 をプレインテキスト形式で保存します。 例えば、次のプログラムのスタックダンプを取得してみます。 package m

    Go pprof 応用編 (CPU 以外のプロファイル)
  • GopherCon 2016で発表してきました

    @tenntennです。 現地時間の2016年7月11日〜13日にアメリカのコロラド州デンバーにて開催されたGopherConにて発表をしてきました。 GopherConとは? GopherConは、毎年デンバーで開催される世界でもっとも大きいGo(Go言語)のカンファレンスです。 今年で3回目の開催になります。 GopherConと名前の付くカンファレンスは、デンバーで開催されるGopherConの他にもGopherCon IndiaやGopherCon Chinaがあります。 GoのWikiに世界各地で行われているカンファレンスまとめてあるのでそちらを見ると分かりやすいかなと思います。 今年のGopherConの参加者は1500名を超えているらしく、3トラックに分けて発表が行われました。 他のカンファレンスと比べても非常に規模が大きいことが分かります。 GopherConで発表するまで

    GopherCon 2016で発表してきました
    t2y-1979
    t2y-1979 2016/07/20
    すごいなぁ
  • 1