Android端末の特定パッケージが使う資源を可視化する単純なライブラリを作った

AndroidのCPUリソースやメモリリソースを可視化するために、以下のような簡単なライブラリを作りました。

すみません。Java系ではなくRubyスクリプトです。

https://github.com/KazuCocoa/droid-monitor

単に、

  • cpuinfomeminfoを整形してjsonファイルとして書き出す
  • Google APIを使ってグラフ化する形式にファイルを整形する
  • 簡単なテンプレートHTMLを生成する

ということだけを行っている小さなものです。こういう可視化するツール、手軽に使えるものがなかったので用意してみました。以外と開発者はここらへん気にしないのですかね??

adbコマンドの dumpsys を使うので、Androidのバージョン関わらず値を取得することができます。meminfo に関しては、API Level 18を境に取得可能な形式が変わっているので、ライブラリ側でAPIバージョンを見て対応フォーマットを判断してます。
以下のような感じ。

CPU

Screen Shot 2015-05-23 at 19.46.08

Memory

Screen Shot 2015-05-23 at 19.56.41

使い方

https://github.com/KazuCocoa/droid-monitor/tree/master/sample

に2種類用意したのでそれを見るのが早そう。

こういうときに使う

例えば、Appiumなどを使って常に同じシナリオで、開発周期ごとのリリース物のCPU使用率を計測します。それにより、突然資源の使い方が激しくなったときを検出しやすくします。

あと、adbコマンドを使うだけなので、初期化時の引数にadb devicesなどで得られる端末のシリアル番号を指定してあげると、特定の端末のみをターゲットにすることができます。

締め

adbコマンド、いろいろあって便利。モニタリング用のAPKアプリを作って常駐させておくのも良いのですが、adbコマンドがいろいろ便利なので計測対象の端末に何も手を加えずに資源を可視化できるほうがお得感ありますね。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中