Как умножить два списка серий в Grafana/Graphite?

У меня есть данные в графите в следующем формате:

app.service.method_*.m1_rate (rate of calls per minute)
app.service.method_*.avg_time (avg response time per minute)

Я хотел бы получить график с общим расчетным временем работы данного метода в минуту. Другими словами, умножьте скорость на среднее время, чтобы я мог узнать из одного графика, какие вызовы занимают больше всего. Если я смогу это сделать, я могу ограничить это (я знаю, как :) ), чтобы получить N лучших результатов такого умножения.

Ни сама скорость не дает мне этой информации (высокая скорость очень быстрых вызовов не является проблемой), ни среднее время (высокое среднее время на вызов службы раз в 5 минут также не является проблемой).

Какие-либо предложения?


person wciesiel    schedule 14.04.2015    source источник


Ответы (2)


Это можно сделать с помощьюmultiSeriesWithWildcards

multiplySeriesWithWildcards(app.service.method_*.{m1_rate,avg_time}, 3)

person zlace    schedule 13.02.2018

Вам может помочь multiplySeries.

person Dmitry Shihovtsev    schedule 17.04.2015
comment
Я видел эту функцию, проблема в том, что она не слишком хорошо документирована... легко умножить две серии, например: app.service.method_readData.rate на app.service.method_readData.avg_time Мне нужно умножить два списка рядов путем сопоставления подстановочных знаков (у меня есть списки метрик, подобные приведенным выше, для дюжины различных методов). - person wciesiel; 23.04.2015
comment
В этом случае, может быть, будет легко умножить метрики перед графитом с помощью некоторых скриптов, и только потом сохранить их в графите как одиночную метрику. - person Dmitry Shihovtsev; 24.04.2015
comment
Я столкнулся с той же проблемой. Мне нужно умножить список серий на разные серии. Не могу найти простой способ с Graphite/Grafana. multiSeries умножает их все вместе, чего я не ожидал. Удалось ли вам найти решение @wciesiel? - person NeverEndingQueue; 02.01.2017