Size: a a a

QA — Load & Performance

2021 September 05

VG

Viktor Ganeles in QA — Load & Performance
стикер в тему  был :)
но спам я удалил и теперь непонятно стало :(
источник

AR

Artem Rozhkov in QA — Load & Performance
Ну давай подметать будем
источник

VG

Viktor Ganeles in QA — Load & Performance
Коллеги, спасибо, я понял, почему система, собирающая метрики (чтобы отдать их агентам) собирает метрики накопительно.

Без этого, правда, тоже можно обойтись - просто всем агентам отдавать инфу за последние Х секунд, ну как винда про CPU отдаёт, например. Любому количеству агентов собирающему данные с любым интервалом.  Но пускай.

Но у меня вопрос был - зачем агент в инфлакс пишет накопительную стату.
Особенно не ясно, почему CPU например он пишет в абсолютных значениях, а вот время отклика диска - в накопительных.

То есть - да, я понимаю, что теоретически из этого можно извлечь пользу..
но тут вопрос: её кто-то из вас извлекает?

Напрмер: "для CPU у меня метрики собираются в абсолютных значениях, и я теряю информацию в таких-то случаях. А вот для дисков - собираются метрики накопительные, потому у меня вот такой хитрый запрос и такую же инфу я не теряю"
источник

VG

Viktor Ganeles in QA — Load & Performance
Как я понимаю, функция NON_NEGATIVE_DERIVATIVE берёт за указанный промежуток первую и последнюю метрику и считает разницу (при отрицательном значении возвращает 0)
источник

VG

Viktor Ganeles in QA — Load & Performance
попытался поэкспериментировать в экселе:
Сделал абсюлютную метрику, от неё посчитал накопительную.
Дальше предположил что агент забирает данные вдвое реже, чем они собираются.

И "собрал" агентом данные: с накопительной метрики и с абсолютной
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

VG

Viktor Ganeles in QA — Load & Performance
но судя по графику я где-то налажал:
вывод на экран накопительного графика явно некорректный (вдвое больше реального)
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

VG

Viktor Ganeles in QA — Load & Performance
может при подсчёте нужно не учитывать предыдущее полученное число? но это тоже странно..
источник

DB

Dima Boger in QA — Load & Performance
А как значение CPU может быть накопительным?
источник

A

Alex in QA — Load & Performance
там не current-previous, там вот так примерно:
CASE
     WHEN value >= previous(value)
       THEN value - previous(value)
     WHEN previous(value) IS NULL THEN NULL
     ELSE value
END/extract(epoch from time - previous(time))
источник

VG

Viktor Ganeles in QA — Load & Performance
Он в этом плане такая же метрика, как и все остальные.
Просто вместо вывода абсюлютной цифры прибавляй её к прошлой абсолютной цифре
источник

VG

Viktor Ganeles in QA — Load & Performance
Ну, для моего примера это несущественно, у меня NULL-ов в метрике нет
источник

A

Alex in QA — Load & Performance
криво скопировал, поправил
источник

VG

Viktor Ganeles in QA — Load & Performance
о!
Делить на промежуток. Я понял
источник

A

Alex in QA — Load & Performance
По дефолту рейт вроде 1s если не указывать другого
источник

A

Alex in QA — Load & Performance
Напомните какой агент и какая метрика по CPU
источник

A

Alex in QA — Load & Performance
Скорее всего там есть своя логика, и какую то метрику логичнее снимать "as now", а какую то аккумулировать
источник

VG

Viktor Ganeles in QA — Load & Performance
о, да. Я тупанул насчёт деления на интервал :)
Теперь график стал ближе к реальности
источник