Преобразование java-List <T>в поток, используемый с MultiGauge iomicrometer - PullRequest
0 голосов
/ 06 июля 2019

из моего приложения 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

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