背景
会社のネットワーク調査の際に、実際のブラウザでの動作も記録しようって話になった
その際に記録したパフォーマンス.プロファイルを Power BI で分析した際の備忘録
概要
- パフォーマンス タブにて、プロファイルを記録して保存 as JSON x 沢山
- JSON を Power BI で分析
詳細
プロファイル記録
ドキュメントは以下
JSON 分析
プロファイル JSON の仕様は以下に記載有り。ここが今回の肝
There is an extra parameter dur to specify the tracing clock duration of complete events in microseconds.
最初は、dur or tdur で、全タスクの duration を拾って、積算するか、最大値を拾えばいいんじゃね?と思ったんですが、そんな単純には出来なかった・・
で、再検討・・
- 自動で記録開始&終了
ってことなので、json 内の開始時刻と終了時刻から計算可能だろう、と考えて別の要素を探したところ
ts: The tracing clock timestamp of the event. The timestamps are provided at microsecond granularity.
ts なら、以下でいけそう
duration = max(ts) - min(ts)
で、あとは、Power BI というか、Power Queryで処理してやればこんな感じで完成
見える化の部分はまぁ省略
あとがき
json 自体巨大化しやすい為、何も気にせずやってしまって、PCが飛びまくりました
作りこむ場合は、ベストプラクティスにもあるように「分析時はフィルターして処理量を減らす」を意識しましょう
keyword
how to analyze updating duration in performance profile by power BI