shaka-player-embedded icon indicating copy to clipboard operation
shaka-player-embedded copied to clipboard

Add metrics analysis

Open theodab opened this issue 7 years ago • 0 comments
trafficstars

We should track how long and often things happen so we can analyze the performance of the product. This data will only be collected locally, and will not be sent to a server; the data will be stored in a separate directory in the data directory. The collection will be removed from official builds and will be opt-in for open-source builds.

We should have metrics for at least the following:

  • How long it takes to draw a frame.
  • How long it takes to decode a frame.
  • How long it takes to decrypt a frame.
  • How often we render frames.
  • How long a seek takes.
  • How long shutdown takes.
  • How often the main thread goes idle and what percentage of time it is working.
  • Percentage of time worker threads are idle.
  • How often GC happens.
  • How long a GC takes (V8 is complicated since it is incremental, so it does other stuff while GC is "running").
  • How much memory JavaScript objects take up (both backing objects and the JS objects themselves).
  • How much memory the media frames (both encoded and decoded) take up.

Note this is only for internal tracking and performance analysis, this is not for exposing QOE info to the app. There will be a separate API for QOE data, #16.

theodab avatar Nov 15 '18 23:11 theodab