#latency #hdrhistogram
#задержка #hdrhistogram
Вопрос:
Я пытаюсь сохранить время в миллисекундах для каждого времени выполнения этого времени. И затем я хотел бы использовать HdrHistogram для представления задержки.
Однако я не могу сохранить время в своем массиве. Пожалуйста, не могли бы вы оказать какую-либо помощь?
public class PracticeLatency1
{
public static void main(String [] args)
{
int[] startTimes;
long startTime;
int index=0;
startTimes = new int[10000];
startTime = System.currentTimeMillis();
runCalculations();
startTimes[index ] = (int) (System.currentTimeMillis() - startTime);
System.out.println(startTimes);
}
/**
* Run the practice calculations
*/
// System.currentTimeMillis()
private static void runCalculations()
{
// Create a random park time simulator
BaseSyncOpSimulator syncOpSimulator = new SyncOpSimulRndPark(TimeUnit.NANOSECONDS.toNanos(100),
TimeUnit.MICROSECONDS.toNanos(100));
// Execute the operation lot of times
for(int i = 0; i < 10000; i )
{
syncOpSimulator.executeOp();
}
// TODO Show the percentile distribution of the latency calculation of each executeOp call
}
}
Комментарии:
1. Вы устанавливаете свой
startTimes
массив вnull
. Как вы ожидаете, что сможете добавлять какие-либо значения? Вы знаете, сколько значений вы хотите добавить? Затем вам нужно инициализировать свой массивstartTimes = new int[1000]
(или любым другим размером, который вам нужен)2. Ваш
startTimes
не инициализирован, и у вас должен быть цикл для установкиstartTimes
.3. спасибо за ваши ответы !!. Я думаю, что теперь я инициализировал StartTimes до 10.000, что соответствует количеству раз, когда будет выполняться функция времени стоянки. Но как мне добавить цикл, если в функции времени ожидания уже есть цикл?
4. спасибо @haoyuwang, как я могу добавить цикл? потому что теперь мой массив выглядит так: [522,0,0,0,0 …]