Независимо от того, сколько я читаю документы Prometheus, я не могу получить то, что ожидаю увидеть из запросов, которые я пишу. Я чувствую, что должен подходить к задаче полностью ортогонально тому, как я должен. Так что, может быть, кто-то может помочь мне, проработав пример.
Допустим, у меня есть служба, считывающая файл и POST для конечной точки API для каждой строки в файле, и, скажем, служба запускается раз в минуту и занимает около 10 секунд до завершения.
Я бы хотел построить график, показывающий количество успешных POST за определенный период времени. Моя интуиция заключается в использовании типа Counter или Gauge metri c, потому что они самые простые, но нам на самом деле не нужно записывать целочисленное значение, потому что подсчет # POSTS будет выполняться с использованием функций prometheus. Поэтому я создаю калибр JOB_SUCCESS, который увеличивается на 1 каждый POST.
count(JOB_SUCCESS)
показывает плоскую горизонтальную линию == # POSTS, которые произошли до сих пор. По мере появления новых сообщений POST планка поднимается за все время, поэтому я не могу сказать, сколько сообщений произошло в час X против часа Y.
count_over_time(JOB_SUCCESS[N])
показывает что-то совершенно другое в зависимости от значения N, но я не понять, что оно представляет, потому что оно никогда не уменьшается. Если работа останавливается, значение остается неизменным ... хотя, по-видимому, нечего рассчитывать за N раз. Если задание выполняется один раз в минуту в течение всего 10 секунд, оно увеличивается на 10 секунд и плато на 50, а затем снова поднимается. Я ожидаю, что go вернется к 0. Как мне просто показать количество запросов с течением времени?