1
0
mirror of https://gitlab.crans.org/nounous/ghostream.git synced 2024-12-23 00:22:19 +00:00

Separate statistics per stream

This commit is contained in:
Yohann D'ANELLO 2020-10-05 22:08:39 +02:00
parent 022f6fb098
commit 0a1329b929
3 changed files with 5 additions and 4 deletions

View File

@ -38,8 +38,8 @@ func removeTrack(tracks []*webrtc.Track, track *webrtc.Track) []*webrtc.Track {
} }
// GetNumberConnectedSessions get the number of currently connected clients // GetNumberConnectedSessions get the number of currently connected clients
func GetNumberConnectedSessions() int { func GetNumberConnectedSessions(streamID string) int {
return len(videoTracks) return len(videoTracks[streamID])
} }
// newPeerHandler is called when server receive a new session description // newPeerHandler is called when server receive a new session description

View File

@ -137,7 +137,7 @@ func statisticsHandler(w http.ResponseWriter, r *http.Request) {
enc := json.NewEncoder(w) enc := json.NewEncoder(w)
err := enc.Encode(struct { err := enc.Encode(struct {
ConnectedViewers int ConnectedViewers int
}{webrtc.GetNumberConnectedSessions()}) }{webrtc.GetNumberConnectedSessions(strings.Replace(r.URL.Path[7:], "/", "", -1))})
if err != nil { if err != nil {
http.Error(w, "Failed to generate JSON.", http.StatusInternalServerError) http.Error(w, "Failed to generate JSON.", http.StatusInternalServerError)
log.Printf("Failed to generate JSON: %s", err) log.Printf("Failed to generate JSON: %s", err)

View File

@ -1,6 +1,7 @@
// Refresh viewer count by pulling metric from server // Refresh viewer count by pulling metric from server
function refreshViewersCounter(period) { function refreshViewersCounter(period) {
fetch("/_stats/") // Distinguish oneDomainPerStream mode
fetch("/_stats/" + (location.pathname === "/" ? location.host : location.pathname.substring(1)))
.then(response => response.json()) .then(response => response.json())
.then((data) => document.getElementById("connected-people").innerText = data.ConnectedViewers) .then((data) => document.getElementById("connected-people").innerText = data.ConnectedViewers)
.catch(console.log) .catch(console.log)