📄 timeaverage.java
字号:
/* * $Id: TimeAverage.java 8077 2007-08-27 20:15:25Z aperepel $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.util.counters.impl;import org.mule.util.counters.CounterFactory.Type;public class TimeAverage extends AggregateCounter{ private double sum = 0.0; private double lastValue = 0.0; private final long firstTime = System.currentTimeMillis(); private long lastTime = firstTime; public TimeAverage(String name, AbstractCounter base) { super(name, Type.AVERAGE, base); } public double nextValue() { long current = System.currentTimeMillis(); return (sum + lastValue * (current - this.lastTime)) / (current - firstTime); } public void doCompute() { long current = System.currentTimeMillis(); this.sum += this.lastValue * (current - this.lastTime); this.lastValue = getBase().nextValue(); this.lastTime = current; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -