Графит: Как отправлять графитовые метрики через случайные интервалы? - PullRequest
0 голосов
/ 18 сентября 2018

Я отправляю метрики в Graphite с использованием сокетов:

 String prefix = prefix
      + "." + metric + " " + value + " " + (System.currentTimeMillis() / 1000);
 socket = new Socket(host, port);
 out = new PrintWriter(socket.getOutputStream(), true);
 out.println(prefix);

Это отправляет метрики каждую миллисекунду или около того.Как я могу отправлять его каждые 1 или 5 минут или через произвольные интервалы?

1 Ответ

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

Поместите его в цикл while и добавьте сон

while (true){
    String prefix = prefix
        + "." + metric + " " + value + " " + (System.currentTimeMillis() / 1000);
    socket = new Socket(host, port);
    out = new PrintWriter(socket.getOutputStream(), true);
    out.println(prefix);

    Thread.sleep(60);
}

Почему вы хотите сделать это через произвольный интервал?Графит ожидает точных интервалов.

...