java中每分钟的请求数

时间:2017-11-05 14:22:25

标签: java automation throughput

我的输出如下:

Timestamp:1509383899190 Value:20171030224102
hbase Timestamp 2017/10/30 22:48:19
Value: 2017/10/30 22:41:02
Difference of Timestamp in Seconds:437000
Timestamp:1509383804969 Value:20171030224052
hbase Timestamp 2017/10/30 22:46:44
Value: 2017/10/30 22:40:52
Difference of Timestamp in Seconds:352000
Timestamp:1509383709215 Value:20171030224042
hbase Timestamp 2017/10/30 22:45:09
Value: 2017/10/30 22:40:42
Difference of Timestamp in Seconds:267000
Timestamp:1509383617707 Value:20171030224032
hbase Timestamp 2017/10/30 22:43:37
Value: 2017/10/30 22:40:32
Difference of Timestamp in Seconds:185000
Timestamp:1509383523756 Value:20171030224021
hbase Timestamp 2017/10/30 22:42:03
Value: 2017/10/30 22:40:21
Difference of Timestamp in Seconds:102000

当找到Hbase时间戳时,我们说处理了一个请求。(上面的输出中有5个)

(总开始时间/请求数量)将给出平均吞吐量 但是我想写一个java代码,它会找出每分钟处理的请求数(每分钟点击数),因为我想创建一个吞吐量图。

即使我可以通过任何工具实现这一点,它也会很棒 有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

正如其中一条评论中所提到的,最好找一个类似这样的工具,然而,制作一个非常简单的版本并不是那么复杂,但你需要考虑一些像漂移这样的问题,以便让它成为现实。

public static void main (String[] args) {
    ThroughputService t = new ThroughputService();

    CountDownLatch latch = new CountDownLatch(1);

    ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
    service.scheduleAtFixedRate(t, 0, 1, TimeUnit.MINUTES);

    try {
        latch.await();
    } catch (InterruptedException ex) {
        Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
    }

}

static class ThroughputService implements Runnable {

    @Override
    public void run() {
        //code for calculating your throughput
    }

}