ведра для прометей без полей - PullRequest
0 голосов
/ 26 ноября 2018

, чтобы иметь рабочую гистограмму прометея, мне нужен набор, который представляет собой набор значений, которые при передаче методу observe (я использую https://github.com/prometheus/client_ruby), будут записаны. Поэтому, когда мой сегмент:

[1,2,3, 100] 

он собирается записать 1 как 1, 2.1 как 2 и т. Д.

как я могу сделать так, чтобы он записывал все от 3 до 100 без явной передачи значений в корзинуКак я могу сделать это записать значения от 1 до infinity, как здесь https://hexdocs.pm/prometheus_ex/Prometheus.Buckets.html?

1 Ответ

0 голосов
/ 26 ноября 2018

Гистограмма представлена ​​в виде набора счетчиков, где каждый счетчик представляет сегмент.Обычно он используется для отслеживания задержки.

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

hello_world_latency_seconds_bucket{le="1.0",} 16.0
hello_world_latency_seconds_bucket{le="2.0",} 16.0
hello_world_latency_seconds_bucket{le="3.0",} 16.0
hello_world_latency_seconds_bucket{le="100.0",} 16.0
hello_world_latency_seconds_bucket{le="+Inf",} 16.0 

Метка le взята измассив передается в гистограмму при инициализации.

как я могу сделать так, чтобы он записывал все от 3 до 100 без явной передачи значений в корзину?

Вам нужно передатьконкретные значения 3 и 100 явно.Более того, вы не можете напрямую получить все от 3 до 100, вам нужно вычесть следующее, чтобы получить это число.

hello_world_latency_seconds_bucket{le="100.0",} - hello_world_latency_seconds_bucket{le="3.0",}

Как мне сделать так, чтобы он записывал значения от 1 до бесконечности

Та же техника, что и выше:

hello_world_latency_seconds_bucket{le="+Inf",} - hello_world_latency_seconds_bucket{le="1.0",}
...