タグ

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

  • 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 以外のプロファイル)
  • 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でサーバ開発するときのモニタリング

    このエントリーは、KLab Advent Calendar 2015の12/14の記事です。 @hhattoです。 私は主にゲームのサーバ開発や開発チームのマネイジメントに従事しています。 今回はexpvarを使ったGo製サーバのモニタリングとその周辺ツールについて書きます。 expvar 開発の初期段階やゲームのコア部分の開発をおこなってる際は、 なかなかインフラやモニタリングツールなどにまで手がまわらない事が多いのではないでしょうか? expvarを使えば簡単にメトリクスを取得することができます。 http://hostname:port/debug/varsにアクセスすることでメトリクスを JSONデータで取得することが可能です。 expvarの使い方等は公式ドキュメントや以下の記事が参考になります。 https://golang.org/pkg/expvar/ http://qii

    Goでサーバ開発するときのモニタリング
  • 型推論のしくみ

    このエントリーは、KLab Advent Calendar 2015 の15日めの記事です。 こんにちは、めっきり Jenkins の介護士となった @kakkun61 です。 趣味では Haskell を書いているのですが、そこでお世話になっている「型推論」のしくみを少し知ることができたのでみなさんに紹介したいと思います。 初めにお断わりしておくと、これから紹介する内容は『型システム入門』に全て書かれてあることです。KLab では『型システム入門』輪講をしているのですが、一緒に勉強している同僚と社外から先生として来ていただいている方にこの場を借りて感謝の意を表します。ひとりだとここまで読めなかったと思います。 『型システム入門』 型推論の解説に入る前に少し『型システム入門』について書こうと思います。 『型システム入門』は原著名 “Types and Programming Languag

    型推論のしくみ
  • KLab

    ニュース KLab株式会社が配信したニュースリリースやお客さまへのお知らせ、メディアの掲載情報をご覧いただけます。

    KLab
    kutakutatriangle
    kutakutatriangle 2013/09/26
    スクフェスを支える技術、ってことですね、わかります。
  • 1