/** * Creates an auto-updating immediate moving average that will auto-deactivate average maintenance * when values are not being extracted from it, auto-reactivate when required etc. * @param periods * @param adapter * @param instance * @return */ public static <T> long LazySmoothMovingImmediateAverage( final LazyMovingImmediateAverageAdapter<T> adapter, final T instance ) { int update_window = GeneralUtils.getSmoothUpdateWindow(); int update_interval = GeneralUtils.getSmoothUpdateInterval(); return( LazyMovingImmediateAverage( update_window / update_interval, update_interval, adapter, instance )); }
public void update( int tick_count ) { peak_receive_rate = Math.max( peak_receive_rate, data_receive_speed.getAverage()); peak_send_rate = Math.max( peak_send_rate, data_send_speed.getAverage()); if ( tick_count % current_smoothing_interval == 0 ){ int current_window = GeneralUtils.getSmoothUpdateWindow(); if ( current_smoothing_window != current_window ){ current_smoothing_window = current_window; current_smoothing_interval = GeneralUtils.getSmoothUpdateInterval(); smoothed_receive_rate = GeneralUtils.getSmoothAverage(); smoothed_send_rate = GeneralUtils.getSmoothAverage(); } long up = total_data_bytes_sent; long down = total_data_bytes_received; smoothed_send_rate.update( up - smooth_last_sent ); smoothed_receive_rate.update( down - smooth_last_received ); smooth_last_sent = up; smooth_last_received = down; } } }
current_smoothing_interval = GeneralUtils.getSmoothUpdateInterval(); smoothed_receive_rate = GeneralUtils.getSmoothAverage(); smoothed_send_rate = GeneralUtils.getSmoothAverage();
MovingImmediateAverage recv_average = GeneralUtils.getSmoothAverage(); int smooth_interval = GeneralUtils.getSmoothUpdateInterval();