タグ

ブックマーク / anemone.dodgson.org (2)

  • Ftrace と Systrace - steps to phantasien

    Systrace を使いたいとおもい調べた記録。 Ftrace は Linux カーネルのプロファイル(トレーシング)機構。Ftrace にはざっと三つの構成要素がある: Linux の debugfs を介して操作するトレース情報のバッファリング機構、 カーネル標準で用意されているいくつかの標準probe(トレーシング情報)、 コンパイラのプロファイリングオプションを介して全てのカーネル内関数に注入されるフック。 Ftrace の機能はコンパイル時スイッチでオフにできる。特に 3 のコンパイラ経由のフックはオフにされていることがあるっぽい。若干のオーバーヘッドがあるため。 手元の Ubuntu では有効になっていた。 Android の Systrace は ftrace のインフラを使って作られている。 Android のトレーシング機構 Systrace は 3 に頼らず必要な情報を

    advblog
    advblog 2015/06/18
  • Web Push Protocol - steps to phantasien

    “Generic Event Delivery Using HTTP Push” なる RFC を知った。 JavaScript の Push API をネットワークレベルでどう実現するか決めるものらしい。 Push API, システムが提供する GCM なんかのラッパーだと思い込んでいた。 Chrome の現状はそのようだけど、標準的にはスタック全体を定義しようとしている模様。 仕様を書いているのは Mozilla の人。えらい。 Web Push は HTTP/2 の上に定義されており、PUSH_PROMISE で UA にメッセージを送る。 TCP で現実的なプッシュを作れるとは思っていなかったので驚いた。 ざっと調べてみたところ GCM も TCP ベースらしい。 接続を保つべく適当な間隔で heartbeat していると、世間の資料にはある。 SMS など cell networ

    advblog
    advblog 2015/04/09
  • 1