Skip to content

Story media performance metrics.#23962

Merged
gmajoulet merged 2 commits intoampproject:masterfrom
gmajoulet:video_metrics
Aug 20, 2019
Merged

Story media performance metrics.#23962
gmajoulet merged 2 commits intoampproject:masterfrom
gmajoulet:video_metrics

Conversation

@gmajoulet
Copy link
Copy Markdown
Contributor

Introducing a new media performance metrics service, that records media performance metrics and forwards these to the viewer through the existing performance service.

Here are the metrics:

Playback metrics

Joint latency (Time to play)

  • Definition: time taken to start video playback after the play() call is made
  • Label: smjl
  • Value: time in milliseconds

Watch time

  • Definition: milliseconds (for consistency) of video watched by the client. Buffering, paused, and other waiting states do not count.
  • Label: smwt
  • Value: time in milliseconds (for consistency)

Errors

  • Definition: triggered when an error stops playback entirely where playback cannot resume. Value gives information to understand what caused the error.
  • Label: smerr
  • Value: Integer [1, 4] corresponding to MediaError.code as defined by the spec

Rebuffer metrics

Rebuffer rate

  • Definition: sum of the duration of rebuffers: sum(rebuffer_time) / sum(rebuffer_time + watch time)
  • Label: smrbr
  • Value: float [0, 1]

Rebuffers

  • Definition: A rebuffer event is any event which causes the player to stop displaying new video for > 250ms while actively playing video. The lower limit on rebuffer times is intended to filter out pathological client behavior.
  • Label: smrb
  • Value: final number of rebuffer events triggered

Mean time between rebuffers (MTBR)

  • Definition: mean time of uninterrupted playback time between rebuffers: watch time / rebuffers
  • Label: smmtbrb
  • Value: time in milliseconds

@gmajoulet
Copy link
Copy Markdown
Contributor Author

cc @erwinmombay could you please help us here and check if the calls to the performance service look good? We want to make sure the calls to this.performanceService_.tickDelta(...); will work with the overall CSI pipeline.
Thanks!

@gmajoulet gmajoulet merged commit 1aa3fef into ampproject:master Aug 20, 2019
westonruter added a commit to westonruter/amphtml that referenced this pull request Aug 20, 2019
* 'master' of github.com:ampproject/amphtml: (32 commits)
  ✨ Make tweet id a bindable attribute (ampproject#23953)
  🏗 Update Local AMP extension to allow custom base URLs (ampproject#24029)
  🏗 Improve serving from non-localhost host (ampproject#24066)
  Preventing half pixels. (ampproject#24050)
  Update callout-vendors.js (ampproject#23218)
  🏗 Fixes to `check-package-manager.js` (ampproject#24060)
  Rename AMP_MODE to __AMP_MODE. (ampproject#24052)
  Story media performance metrics. (ampproject#23962)
  Updating Story amp-sidebar width documentation. (ampproject#23894)
  Fixes race condition in amp-video-iframe (ampproject#24033)
  Rename ampExtendedElements to __AMP_EXTENDED_ELEMENTS (ampproject#24056)
  🏗🚮 Enable property inlining (ampproject#24053)
  ✨amp-ads: Added optional params for Directadvert network (ampproject#23724)
  <amp-experiment> style mutation fix and improvment (ampproject#23669)
  🐛 Allow http protocol for noscript > img fallbacks for parity with amp-img (ampproject#21686)
  🏗 Refactor transform-log-asserts (ampproject#24028)
  Automatically preconnect to source origins on page loads. (ampproject#24045)
  Support visibility API in the ampdoc (ampproject#23799)
  Amphtml visual tests should use relative path against root (ampproject#24042)
  FIX: check all fields' dirtiness on AMP form init (ampproject#23978)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants