Прометей подсчитывает нестатические данные с помощью счетчика

Я пытаюсь подсчитать количество уникальных URI и вести их подсчет. Эти URI меняются со временем, и может быть несколько URI одного типа. Например, может быть несколько «/ foo» и «/ bar», и может появиться новый URI - скажем, «пух» - и я должен добавить их в счетчик и вести счет. В этом случае я не могу использовать постоянные метки. Например, если бы мне пришлось подсчитать количество HTTP-запросов по методу и / или коду состояния, я мог бы сделать это:

    httpRequestInfo := prometheus.NewCounterVec(
        prometheus.CounterOpts{
            Name:        "http_requests_sum",
            ConstLabels: prometheus.Labels{"component": "foo"},
            Help:        " A Counter of the number of each type of request by status code and method",
        },
        []string{"code", "method"},
    )

Как я могу использовать счетчики в этом сценарии? Спасибо!


person bharat nc    schedule 09.03.2018    source источник


Ответы (1)


ConstLabels обычно следует избегать. Вы хотите сделать httpRequestInfo.WithLabelValues("404", "get").Inc()

Поскольку это счетчик, он должен иметь суффикс _total, а не _sum, который используется в сводных показателях.

Вероятно, вы захотите использовать InstrumentHandlerCounter, а не реализовывать всю логику себя для отслеживания HTTP-запросов.

person brian-brazil    schedule 09.03.2018