api, metrics: add endpoints and metrics for RTSP connections (#1233)

new API endpoints:

* /v1/rtspconns/list
* /v1/rtspsconns/list

new metrics:

* rtsp_conns
* rtsps_conns
This commit is contained in:
Alessandro Ros
2022-11-09 18:31:31 +01:00
committed by GitHub
parent 16580c8985
commit 4ac175d3cc
12 changed files with 291 additions and 109 deletions

View File

@@ -314,8 +314,11 @@ func (s *rtmpServer) connClose(c *rtmpConn) {
}
// apiConnsList is called by api.
func (s *rtmpServer) apiConnsList(req rtmpServerAPIConnsListReq) rtmpServerAPIConnsListRes {
req.res = make(chan rtmpServerAPIConnsListRes)
func (s *rtmpServer) apiConnsList() rtmpServerAPIConnsListRes {
req := rtmpServerAPIConnsListReq{
res: make(chan rtmpServerAPIConnsListRes),
}
select {
case s.chAPIConnsList <- req:
return <-req.res
@@ -326,8 +329,12 @@ func (s *rtmpServer) apiConnsList(req rtmpServerAPIConnsListReq) rtmpServerAPICo
}
// apiConnsKick is called by api.
func (s *rtmpServer) apiConnsKick(req rtmpServerAPIConnsKickReq) rtmpServerAPIConnsKickRes {
req.res = make(chan rtmpServerAPIConnsKickRes)
func (s *rtmpServer) apiConnsKick(id string) rtmpServerAPIConnsKickRes {
req := rtmpServerAPIConnsKickReq{
id: id,
res: make(chan rtmpServerAPIConnsKickRes),
}
select {
case s.chAPIConnsKick <- req:
return <-req.res