This commit adds new metrics to know the number of registered users
we have in every WebSocket broadcasts hub
Этот коммит содержится в:
Mario de Frutos Dieguez
2020-03-10 10:15:56 +01:00
коммит произвёл GitHub
родитель cd382412fd
Коммит ee86413cdd
3 изменённых файлов: 18 добавлений и 0 удалений

Просмотреть файл

@@ -161,6 +161,9 @@ func (a *App) GetHubForUserId(userId string) *Hub {
func (a *App) HubRegister(webConn *WebConn) {
hub := a.GetHubForUserId(webConn.UserId)
if hub != nil {
if metrics := a.Metrics(); metrics != nil {
metrics.IncrementWebSocketBroadcastUsersRegistered(strconv.Itoa(hub.connectionIndex), 1)
}
hub.Register(webConn)
}
}
@@ -168,6 +171,9 @@ func (a *App) HubRegister(webConn *WebConn) {
func (a *App) HubUnregister(webConn *WebConn) {
hub := a.GetHubForUserId(webConn.UserId)
if hub != nil {
if metrics := a.Metrics(); metrics != nil {
metrics.DecrementWebSocketBroadcastUsersRegistered(strconv.Itoa(hub.connectionIndex), 1)
}
hub.Unregister(webConn)
}
}

Просмотреть файл

@@ -39,6 +39,8 @@ type MetricsInterface interface {
IncrementWebSocketBroadcast(eventType string)
IncrementWebSocketBroadcastBufferSize(hub string, amount float64)
DecrementWebSocketBroadcastBufferSize(hub string, amount float64)
IncrementWebSocketBroadcastUsersRegistered(hub string, amount float64)
DecrementWebSocketBroadcastUsersRegistered(hub string, amount float64)
AddMemCacheHitCounter(cacheName string, amount float64)
AddMemCacheMissCounter(cacheName string, amount float64)

Просмотреть файл

@@ -26,6 +26,11 @@ func (_m *MetricsInterface) DecrementWebSocketBroadcastBufferSize(hub string, am
_m.Called(hub, amount)
}
// DecrementWebSocketBroadcastUsersRegistered provides a mock function with given fields: hub, amount
func (_m *MetricsInterface) DecrementWebSocketBroadcastUsersRegistered(hub string, amount float64) {
_m.Called(hub, amount)
}
// IncrementChannelIndexCounter provides a mock function with given fields:
func (_m *MetricsInterface) IncrementChannelIndexCounter() {
_m.Called()
@@ -151,6 +156,11 @@ func (_m *MetricsInterface) IncrementWebSocketBroadcastBufferSize(hub string, am
_m.Called(hub, amount)
}
// IncrementWebSocketBroadcastUsersRegistered provides a mock function with given fields: hub, amount
func (_m *MetricsInterface) IncrementWebSocketBroadcastUsersRegistered(hub string, amount float64) {
_m.Called(hub, amount)
}
// IncrementWebhookPost provides a mock function with given fields:
func (_m *MetricsInterface) IncrementWebhookPost() {
_m.Called()