データを HashMap のようなものに入れて、サービスのパフォーマンスを測定しようとしています
。X
呼び出しの数はY
ミリ秒で返されました。以下は非常に単純な私のコードです。サービスにヒットする前にタイマーを設定し、応答が返ってきた後に時間を測定します。
private static void serviceCall() {
histogram = new HashMap<Long, Long>();
keys = histogram.keySet();
long total = 10;
long runs = total;
while (runs > 0) {
long start_time = System.currentTimeMillis();
// hitting the service
result = restTemplate
.getForObject("Some URL",String.class);
long difference = (System.currentTimeMillis() - start_time);
Long count = histogram.get(difference);
if (count != null) {
count++;
histogram.put(Long.valueOf(difference), count);
} else {
histogram.put(Long.valueOf(difference), Long.valueOf(1L));
}
runs--;
}
for (Long key : keys) {
Long value = histogram.get(key);
System.out.println("SERVICE MEASUREMENT, HG data, " + key + ":" + value);
}
}
現在、私が得ている出力は次のようなものです-
SERVICE MEASUREMENT, HG data, 166:1
SERVICE MEASUREMENT, HG data, 40:2
SERVICE MEASUREMENT, HG data, 41:4
SERVICE MEASUREMENT, HG data, 42:1
SERVICE MEASUREMENT, HG data, 43:1
SERVICE MEASUREMENT, HG data, 44:1
つまり1 call came back in 166 ms
、 で2 calls came back in 40 ms
あり、他の出力と同じです。
問題文:-
私が今探しているのは、このようなものです。このような範囲設定が必要です-
X Number of calls came back in between 1 and 10 ms
Y Number of calls came back in between 11 and 20 ms
Z Number of calls came back in between 21 and 30 ms
P Number of calls came back in between 31 and 40 ms
T number of calls came back in between 41 and 50 ms
....
....
I number of calls came back in more than 100 ms
また、範囲を構成する方法もあります。将来、範囲を微調整する必要があるとします。それができるはずです。現在のプログラムでこれを達成するにはどうすればよいですか? どんな提案でも大いに役立ちます。