как написать PromQL с регулярным выражением и бинарным оператором - PullRequest
0 голосов
/ 05 мая 2020

Я могу использовать avg({__name__="model1_request_keys_qps", project="test_project"}/{__name__="model1_qps", project="test_project"}) для расчета kps (ключей в секунду) для модели 1.

Теперь я хочу получить топ-10 моделей на основе kps, примерно так: topk(10, avg({__name__=~"(.*)_request_keys_qps", project="test_project"}/{__name__=~"\1_qps", project="test_project"}) by \1) # \ 1 означает одно имя_модели . Но это не работает с PromQL.

Может ли кто-нибудь предложить решение или обходной путь?

1 Ответ

0 голосов
/ 06 мая 2020

У меня есть решение с label_replace: topk (10, sum (label_replace ({ name = ~ ". _request_keys_qps", project = "test_project"}, "model_name", "$ 1" , " name ", "(. ) _ request_keys_qps")) by (имя_модели) / sum (label_replace ({ name = ~ ". _qps", project = "test_project"}, "model_name", "$ 1", " name ", "(. ) _ qps")) by (model_name))

...