Установите время начала для образца гистограммы - PullRequest
0 голосов
/ 18 сентября 2018

Использование

Мы получили несколько журналов изменений, хранящихся в базе данных, и хотим создать гистограмму, отслеживающую продолжительность между изменениями.

Проблема

Похоже, нет способа установить время начала Historgram.Timer, например, мы хотим установить его на lastUpdated, учитывая текущий журнал изменений.

Пути приближения

1 Подклассы Histogram

Должно работать. Однако java-lib широко использует protected / package-private, что затрудняет его копирование без больших частей библиотеки.

2 Использование отражения

После создания Histogram.Timer должно быть возможно использовать отражение для установки поля start. Поле помечено private final, и, таким образом, SecurityManager может остановить нас в некоторых средах.

Идеи

Ни одно из решений не похоже на правильный путь, и я подозреваю, что я пропускаю более простое решение (но могу найти что-нибудь в SO или Google). Мы используем графану для визуализации наших метрик, если это вообще полезно в этом сценарии.

1 Ответ

0 голосов
/ 19 сентября 2018

Вам не нужно создавать подкласс Histogram, поскольку вам не нужно использовать Histogram.Timer только потому, что ваша гистограмма измеряет время.

Просто вызывайте myHistogram.observe(System.now() - lastUpdated) каждый раз, когда вы записываете новыйизменить в базе данных.

...