func (self *ApierV1) GetCacheStats(attrs utils.AttrCacheStats, reply *utils.CacheStats) error { cs := new(utils.CacheStats) cs.Destinations = cache.CountEntries(utils.DESTINATION_PREFIX) cs.ReverseDestinations = cache.CountEntries(utils.REVERSE_DESTINATION_PREFIX) cs.RatingPlans = cache.CountEntries(utils.RATING_PLAN_PREFIX) cs.RatingProfiles = cache.CountEntries(utils.RATING_PROFILE_PREFIX) cs.Actions = cache.CountEntries(utils.ACTION_PREFIX) cs.ActionPlans = cache.CountEntries(utils.ACTION_PLAN_PREFIX) cs.SharedGroups = cache.CountEntries(utils.SHARED_GROUP_PREFIX) cs.DerivedChargers = cache.CountEntries(utils.DERIVEDCHARGERS_PREFIX) cs.LcrProfiles = cache.CountEntries(utils.LCR_PREFIX) cs.Aliases = cache.CountEntries(utils.ALIASES_PREFIX) cs.ReverseAliases = cache.CountEntries(utils.REVERSE_ALIASES_PREFIX) cs.ResourceLimits = cache.CountEntries(utils.ResourceLimitsPrefix) if self.CdrStatsSrv != nil { var queueIds []string if err := self.CdrStatsSrv.Call("CDRStatsV1.GetQueueIds", 0, &queueIds); err != nil { return utils.NewErrServerError(err) } cs.CdrStats = len(queueIds) } if self.Users != nil { var ups engine.UserProfiles if err := self.Users.Call("UsersV1.GetUsers", &engine.UserProfile{}, &ups); err != nil { return utils.NewErrServerError(err) } cs.Users = len(ups) } *reply = *cs return nil }