из моего приложения springboot я получаю список результатов List<T>
с 100 элементами, считанными из таблицы базы данных с использованием
T
содержит поля
- уникальный идентификатор
- долгота
- широта
- значение
Я хочу превратить это в несколько микрометров, таких как
object{id=<unique identifier>,longitude=<longitude>,latitude=<latitude>} <value>
object{id=<unique identifier>,longitude=<longitude>,latitude=<latitude>} <value>
object{id=<unique identifier>,longitude=<longitude>,latitude=<latitude>} <value>
...
Метрикидолжен быть очищен прометеем, а затем визуализирован с использованием grafana / worldmap Я строю свой мультиметр с использованием MultiGauge l100 = MultiGauge.builder("metric-last100").register(registry);
и ужасно не смог преобразовать это List<T>
в поток для подачи l100.register(...)
как показано здесь :
// SELECT count(*) from job group by status WHERE job = 'dirty'
MultiGauge statuses = MultiGauge.builder("statuses")
.tag("job", "dirty")
.description("The number of widgets in various statuses")
.baseUnit("widgets")
.register(registry);
...
// run this periodically whenever you re-run your query
statuses.register(
resultSet.stream().map(result ->
Row.of(Tags.of("status", result.getAsString("status")),
result.getAsInt("count")))
)
Вот мой действительный код:
private MultiGauge l100;
...
l100 = MultiGauge.builder("ids-metric-last100").register(registry);
...
public void updateMetricLast100Deliveries() {
List<C3MpGeodataDOM> last100 = c3MpGeodataDAO.getlast100();
l100.register(
last100.stream().map(
res -> Row.of(
Tags.of(
"sdgnr", res.getMpPK().getSdgnr(),
"latitude", "" + res.getGeo_latitude(),
"longitude", "" + res.getGeo_longitude()),
1)));
}
Пожалуйста, простите меня, моя глупость, кто-то может помочь?
спасибо
/ M