/** * Get the rolling window specified by metric and user. * * @param metric the updated metric * @param user the user that updated the metric * @return the rolling window */ private RollingWindow getRollingWindow(String metric, String user) { RollingWindowMap rwMap = metricMap.get(metric); if (rwMap == null) { rwMap = new RollingWindowMap(); RollingWindowMap prevRwMap = metricMap.putIfAbsent(metric, rwMap); if (prevRwMap != null) { rwMap = prevRwMap; } } RollingWindow window = rwMap.get(user); if (window != null) { return window; } window = new RollingWindow(windowLenMs, bucketsPerWindow); RollingWindow prevWindow = rwMap.putIfAbsent(user, window); if (prevWindow != null) { window = prevWindow; } return window; } }
/** * Get the rolling window specified by metric and user. * * @param metric the updated metric * @param user the user that updated the metric * @return the rolling window */ private RollingWindow getRollingWindow(String metric, String user) { RollingWindowMap rwMap = metricMap.get(metric); if (rwMap == null) { rwMap = new RollingWindowMap(); RollingWindowMap prevRwMap = metricMap.putIfAbsent(metric, rwMap); if (prevRwMap != null) { rwMap = prevRwMap; } } RollingWindow window = rwMap.get(user); if (window != null) { return window; } window = new RollingWindow(windowLenMs, bucketsPerWindow); RollingWindow prevWindow = rwMap.putIfAbsent(user, window); if (prevWindow != null) { window = prevWindow; } return window; }
/** * Get the rolling window specified by metric and user. * * @param metric the updated metric * @param user the user that updated the metric * @return the rolling window */ private RollingWindow getRollingWindow(String metric, String user) { RollingWindowMap rwMap = metricMap.get(metric); if (rwMap == null) { rwMap = new RollingWindowMap(); RollingWindowMap prevRwMap = metricMap.putIfAbsent(metric, rwMap); if (prevRwMap != null) { rwMap = prevRwMap; } } RollingWindow window = rwMap.get(user); if (window != null) { return window; } window = new RollingWindow(windowLenMs, bucketsPerWindow); RollingWindow prevWindow = rwMap.putIfAbsent(user, window); if (prevWindow != null) { window = prevWindow; } return window; }