Метрики Dropwizard InstrumentedExecutorService не соответствуют отметке времени - PullRequest
0 голосов
/ 04 января 2019

Я использую Dropwizard InstrumentedExecutorService для получения метрик производительности задач, переданных в ExecutorService. Однако результаты, которые я получаю, не совпадают с метками времени, которые я получаю.

Я настроил это так:

ExecutorService threadPool = Executors.newFixedThreadPool(70);
iESetupAlpha = new InstrumentedExecutorService(threadPool,
                SharedMetricRegistries.getOrCreate(Test.class.getName()), "tasks");

Затем я отправляю N задач, где N >> 70, а полученные результаты не совпадают с простыми временными метками журнала.

Пример вывода из метрики:

type=TIMER,
count=813,
min=33.891322118,
max=1635.392204016,
mean=892.1431402913386,
stddev=634.6671899797109,
median=1274.678485876,
p75=1399.769615913,
p95=1622.484479188,
p98=1635.392204016,
p99=1635.392204016,
p999=1635.392204016,
mean_rate=0.49225509747896123,
m1=0.522476741044238,
m5=0.5214019552264931,
m15=0.4319405781793925,
rate_unit=events/second, duration_unit=seconds

Среднее значение прибл. 892 секунд и в общей сложности 813 заданий. Учитывая, что в любой момент количество выполняемых задач равно 50, я подсчитал, что общее время, затраченное на это:

892 x 813/70 = 10359 с

однако по моим данным:

Test Event took 1648.98569607s to run

Я использовал System.nanotime () для вычисления этого. Я что-то упускаю здесь очевидное?

...