236f25b772
* Add support for ending the inbound stream. Closes #191 * Add a simple success response to API requests * Add viewers over time API * Move controllers to admin directory
32 lines
581 B
Go
32 lines
581 B
Go
package metrics
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/gabek/owncast/core"
|
|
)
|
|
|
|
// How often we poll for updates
|
|
const viewerMetricsPollingInterval = 5 * time.Minute
|
|
|
|
func startViewerCollectionMetrics() {
|
|
collectViewerCount()
|
|
|
|
for range time.Tick(viewerMetricsPollingInterval) {
|
|
collectViewerCount()
|
|
}
|
|
}
|
|
|
|
func collectViewerCount() {
|
|
if len(Metrics.Viewers) > maxCollectionValues {
|
|
Metrics.Viewers = Metrics.Viewers[1:]
|
|
}
|
|
|
|
count := core.GetStatus().ViewerCount
|
|
value := timestampedValue{
|
|
Value: count,
|
|
Time: time.Now(),
|
|
}
|
|
Metrics.Viewers = append(Metrics.Viewers, value)
|
|
}
|