def get_pool_list_with_stats(cls, application=None): # pylint: disable=too-many-locals pools = cls.get_pool_list(application) pools_w_stats = [] pg_summary = mgr.get("pg_summary") pool_stats = mgr.get_updated_pool_stats() for pool in pools: pool['pg_status'] = pg_summary['by_pool'][pool['pool'].__str__()] stats = pool_stats[pool['pool']] s = {} for stat_name, stat_series in stats.items(): rates = get_time_series_rates(stat_series) s[stat_name] = { 'latest': stat_series[0][1], 'rate': get_most_recent_rate(rates), 'rates': rates } pool['stats'] = s pools_w_stats.append(pool) return pools_w_stats
def get_rates(cls, svc_type, svc_name, path): """ :return: the derivative of mgr.get_counter() :rtype: list[tuple[int, float]]""" data = mgr.get_counter(svc_type, svc_name, path)[path] return get_time_series_rates(data)