Adding metrics for caching mechanisms (#4828)

Этот коммит содержится в:
Christopher Speller
2016-12-19 10:16:22 -05:00
коммит произвёл GitHub
родитель 6a5cdd5cdf
Коммит f96173528f
14 изменённых файлов: 113 добавлений и 22 удалений

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

@@ -111,13 +111,20 @@ func getStatusesByIdsWebSocket(req *model.WebSocketRequest) (map[string]interfac
func GetStatusesByIds(userIds []string) (map[string]interface{}, *model.AppError) {
statusMap := map[string]interface{}{}
metrics := einterfaces.GetMetricsInterface()
missingUserIds := []string{}
for _, userId := range userIds {
if result, ok := statusCache.Get(userId); ok {
statusMap[userId] = result.(*model.Status).Status
if metrics != nil {
metrics.IncrementMemCacheHitCounter("Status")
}
} else {
missingUserIds = append(missingUserIds, userId)
if metrics != nil {
metrics.IncrementMemCacheMissCounter("Status")
}
}
}