Pull player metrics out of the player. Support safari errors/buffering events

This commit is contained in:
Gabe Kangas
2022-03-29 17:33:32 -07:00
parent d972a9ee8a
commit c50536ff81
3 changed files with 191 additions and 140 deletions

View File

@@ -36,8 +36,17 @@ func ReportPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
clientID := utils.GenerateClientIDFromRequest(r)
metrics.RegisterPlaybackErrorCount(clientID, request.Errors)
metrics.RegisterPlayerBandwidth(clientID, request.Bandwidth)
metrics.RegisterPlayerLatency(clientID, request.Latency)
metrics.RegisterPlayerSegmentDownloadDuration(clientID, request.DownloadDuration)
if request.Bandwidth != 0.0 {
metrics.RegisterPlayerBandwidth(clientID, request.Bandwidth)
}
if request.Latency != 0.0 {
metrics.RegisterPlayerLatency(clientID, request.Latency)
}
if request.DownloadDuration != 0.0 {
metrics.RegisterPlayerSegmentDownloadDuration(clientID, request.DownloadDuration)
}
metrics.RegisterQualityVariantChangesCount(clientID, request.QualityVariantChanges)
}