chore(api): move more types to generated ones
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
|
||||
"github.com/owncast/owncast/metrics"
|
||||
"github.com/owncast/owncast/utils"
|
||||
"github.com/owncast/owncast/webserver/handlers/generated"
|
||||
webutils "github.com/owncast/owncast/webserver/utils"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
@@ -13,21 +14,13 @@ import (
|
||||
// ReportPlaybackMetrics will accept playback metrics from a client and save
|
||||
// them for future video health reporting.
|
||||
func ReportPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
|
||||
if r.Method != POST {
|
||||
if r.Method != http.MethodPost {
|
||||
webutils.WriteSimpleResponse(w, false, r.Method+" not supported")
|
||||
return
|
||||
}
|
||||
|
||||
type reportPlaybackMetricsRequest struct {
|
||||
Bandwidth float64 `json:"bandwidth"`
|
||||
Latency float64 `json:"latency"`
|
||||
Errors float64 `json:"errors"`
|
||||
DownloadDuration float64 `json:"downloadDuration"`
|
||||
QualityVariantChanges float64 `json:"qualityVariantChanges"`
|
||||
}
|
||||
|
||||
decoder := json.NewDecoder(r.Body)
|
||||
var request reportPlaybackMetricsRequest
|
||||
var request generated.ReportPlaybackMetricsJSONRequestBody
|
||||
if err := decoder.Decode(&request); err != nil {
|
||||
log.Errorln("error decoding playback metrics payload:", err)
|
||||
webutils.WriteSimpleResponse(w, false, err.Error())
|
||||
@@ -36,18 +29,18 @@ func ReportPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
clientID := utils.GenerateClientIDFromRequest(r)
|
||||
|
||||
metrics.RegisterPlaybackErrorCount(clientID, request.Errors)
|
||||
if request.Bandwidth != 0.0 {
|
||||
metrics.RegisterPlayerBandwidth(clientID, request.Bandwidth)
|
||||
metrics.RegisterPlaybackErrorCount(clientID, *request.Errors)
|
||||
if *request.Bandwidth != 0.0 {
|
||||
metrics.RegisterPlayerBandwidth(clientID, *request.Bandwidth)
|
||||
}
|
||||
|
||||
if request.Latency != 0.0 {
|
||||
metrics.RegisterPlayerLatency(clientID, request.Latency)
|
||||
if *request.Latency != 0.0 {
|
||||
metrics.RegisterPlayerLatency(clientID, *request.Latency)
|
||||
}
|
||||
|
||||
if request.DownloadDuration != 0.0 {
|
||||
metrics.RegisterPlayerSegmentDownloadDuration(clientID, request.DownloadDuration)
|
||||
if *request.DownloadDuration != 0.0 {
|
||||
metrics.RegisterPlayerSegmentDownloadDuration(clientID, *request.DownloadDuration)
|
||||
}
|
||||
|
||||
metrics.RegisterQualityVariantChangesCount(clientID, request.QualityVariantChanges)
|
||||
metrics.RegisterQualityVariantChangesCount(clientID, *request.QualityVariantChanges)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user