Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

performance.measureMemory導入 #33

Open
mizdra opened this issue Aug 28, 2020 · 4 comments
Open

performance.measureMemory導入 #33

mizdra opened this issue Aug 28, 2020 · 4 comments

Comments

@mizdra
Copy link
Member

mizdra commented Aug 28, 2020

  • emtimerでメモリリークしているかどうかを調べるため、performance.measureMemory を導入したい

参考

@mizdra
Copy link
Member Author

mizdra commented Aug 28, 2020

とりあえずOrigin Trialのトークン取った

AtkTziiJ+H04/hSyiMSYZgZDO8LdWV8RWnnVu7bba3W43/eauOQVxCKOlQwVZmJ+V2f7BwSwkOpmMRBZ+dyCLAcAAABseyJvcmlnaW4iOiJodHRwczovL2VtdGltZXIubWl6ZHJhLm5ldDo0NDMiLCJmZWF0dXJlIjoiTWVhc3VyZU1lbW9yeSIsImV4cGlyeSI6MTYwMjI0MDQ0NywiaXNTdWJkb21haW4iOnRydWV9

image

@mizdra
Copy link
Member Author

mizdra commented Aug 28, 2020

メモリ使用量と同時に集計したいデータ

  • カウントダウン中かどうか
  • タイマーを開始してからの経過時間
  • ページを読み込んでからの経過時間
  • requestAnimationFrameが発火した回数
    • タブがinactiveな状態にあるとrequestAnimationFrameが発火しない
    • requestAnimationFrame でメモリリークが発生している場合だと、時間経過だけではメモリリークが発生しているかを判断するのが困難
  • セッションID?
    • ページがリロードされたらメモリアロケーションし直されるので、セッションを区別できるようにしておきたい
  • ブラウザ名とそのバージョン
    • ブラウザの種類やバージョンによって内部のデータの持ち方が変わり、メモリ使用量に差が出てくるので、区別できるようにしておきたい

@mizdra
Copy link
Member Author

mizdra commented Aug 28, 2020

  • カウントダウン中/カウントダウンしていない時両方で測定
    • カウントダウンによってメモリリークしているかは当然知りたいし、カウントダウンしていない時でも時間経過でメモリリークしているのか、も知りたい
  • 間隔は5分おき
    • あんまり頻繁にやっても邪魔なのでとりあえず5分としてみる
  • カウント時間が0秒近くの時は performance.measureMemory を呼び出さないようにしたい
    • GCが走ってstop the worldするため
    • ラスト1秒で画面の更新が止まって乱数調整に失敗した、とかなると悲惨
    • とはいえ仕様上は performance.measureMemory を呼び出した後任意のタイミングでGCが走って結果が返ってくる、ということになっている
      • つまり極端な話GCが走るのは1時間後かもしれない
      • どうしよう
    • ひとまず performance.measureMemory を呼び出してから数分以内にGCが呼び出されるという仮定のもと、カウント終了まで3分以内だったら performance.measureMemory を呼び出さない、という対応にしてみる

@mizdra
Copy link
Member Author

mizdra commented Sep 29, 2020

集計もうやめたけど、まだエンドポイントは生きているせいか、古いキャッシュを使い続けているユーザから集計結果が3000件くらいPOSTされているように見えている。もうちょっとでquotaに達しそう…

image

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant