Size: a a a

QA — Load & Performance

2021 February 19

СФ

Степа Фомичев... in QA — Load & Performance
Переслано от Степа Фомичев...
from(bucket: "${database}")
 |> range(start: ${firstTestStartTime}, stop: ${firstTestEndTime})
 |> filter(fn: (r) => r._measurement == "${measurement}")
 |> filter(fn: (r) => r.testId == "${test_1}")
 |> filter(fn: (r) =>
   r._field == "endedT" or
   r._field == "startedT")
 |> aggregateWindow(every: ${aggregation_interval}s, fn: mean)
 |> fill(value: 0.0)
 |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
 |> map(fn: (r) => ({
   _value: (r.startedT - r.endedT), _time:r._time, _field: "Test", testId: "#" + r.testId
 }))
 |> timeShift(duration: ${timeshift}ms)
источник

СФ

Степа Фомичев... in QA — Load & Performance
Переслано от Kirill Yurkov
при этом я не знал про pivot!
источник

KY

Kirill Yurkov in QA — Load & Performance
так это спустя неделю после того как я уже всё запилил)
источник

KY

Kirill Yurkov in QA — Load & Performance
а нет
источник

KY

Kirill Yurkov in QA — Load & Performance
блин, так у меня был шанс заполучить это знание
источник

KY

Kirill Yurkov in QA — Load & Performance
в общем не судьба
источник

KY

Kirill Yurkov in QA — Load & Performance
Степа Фомичев
|> aggregateWindow(every: ${aggregation_interval}s, fn: sum)
Не подойдет?
да - взлетело отлично.   |> aggregateWindow(every: 10s, fn: mean)
источник

VG

Viktor Ganeles in QA — Load & Performance
Kirill Yurkov
по степени важности:
1. ты снижаешь количество запросов к базе со стороны графаны. по сути в флюкс ты делаешь один большой запрос а потом с этой таблицей делаешь много операций чтобы получить любые варианты
2. шире встроенный функционал, по большому счету тебе не нужна вкладка Transformations в графане - ты можешь пилить любые джоины, группировки, превращать филды в строки и крутить как угодно табилчцы и графики. ты можешь делать любые операции над тэгами (включая ВРЕМЯ!), сортировать группировать вычитать и складывать, даже конвертация типов есть.
3. ты можешь выбирать агрегационные интервалы, как выше Степа кинул
4. ты можешь работать с несколькими датасорсами внутри 1 запроса
5. ты можешь управлять временем и удобно с ним взаимодействовать, встроенный таймшифт, или фильтровать данные по диапазону часов (без перевода в таймстемпы) ( |> hourSelection(start: 9, stop: 17))
6. встроенный функционал ковариации (не связано с коварностью) - это по сути поиск линейной зависимости, довольно классная штука
7. работает с геоданными, умеет дергать широту долготу всякое такое
Любопытно, но я в раздумьях.
Вроде это пока всё, что необходимо и в обычном инфлаксе есть. Ну, разве что сравнения тестов не хватает.
источник

VG

Viktor Ganeles in QA — Load & Performance
Меня тут ещё @paladen1 перетаскивает с telegraf на prometeus, где запросы тоже всяческими функциями писать надо вместо простого накликивания..
источник

VG

Viktor Ganeles in QA — Load & Performance
Поглядим, что будет :)
источник

СФ

Степа Фомичев... in QA — Load & Performance
Ну тогда уж и с инфлакса уходить надо, нет? Прометеус это же вещь в себе
источник

VG

Viktor Ganeles in QA — Load & Performance
Да вот я и думаю, менять ли всё хорошо обжитое :)
источник

VG

Viktor Ganeles in QA — Load & Performance
Если менять - так может и инфлакс на кликхаус поменять

А то у меня инфлакс пару раз уже падал из-за завала запросами
источник

KY

Kirill Yurkov in QA — Load & Performance
Viktor Ganeles
Меня тут ещё @paladen1 перетаскивает с telegraf на prometeus, где запросы тоже всяческими функциями писать надо вместо простого накликивания..
активно юзаю прометеус в рамках всей остальной инфраструктуры. кажется будто он худший вариант в сравнее с флюксом и инфлюксом
источник

СФ

Степа Фомичев... in QA — Load & Performance
В смысле, прометеус же и в качестве бд выступает, нет?
источник

VG

Viktor Ganeles in QA — Load & Performance
Kirill Yurkov
активно юзаю прометеус в рамках всей остальной инфраструктуры. кажется будто он худший вариант в сравнее с флюксом и инфлюксом
По удобству запросов?
источник

KY

Kirill Yurkov in QA — Load & Performance
но храним в викторяи метрикс, она шустрее инфлаксов и всего остального
источник

KY

Kirill Yurkov in QA — Load & Performance
Viktor Ganeles
По удобству запросов?
удобство и функционал + интеграция с графаной, например трансформацию ты сделать не сможешь графановскую над таблицей прометеуса
источник

KY

Kirill Yurkov in QA — Load & Performance
если по удобству запросов еще можно смирить и привыкнуть, но если упёрся в функционал то ты его ничем не покроешь
источник

VG

Viktor Ganeles in QA — Load & Performance
Kirill Yurkov
удобство и функционал + интеграция с графаной, например трансформацию ты сделать не сможешь графановскую над таблицей прометеуса
Ну, там может трансформации можно встроенными запросами делать

Или ты упёрся во что-то?
источник