Konstantin
Всем привет! Мне нужно считать сколько процессорного времени и оперативной памяти хавает функция и структурировать эти данные по компаниям. Можете натолкнуть на мысль, что лучше использовать для этого?
Anonymous
метрики?
Konstantin
метрики?
Ага. Не совсем понимаю просто в какую сторону начинать копать
Anonymous
prometheus
Alexander
Alexander
есть pprof, можно снимать профили и если функции будут для каждой компании свои, то постоянно его крутить, получать метрики с веба и парсить. но такое себе
Alexander
тем более фактическое потребление памяти и то, что pprof снял отличаются раза в 2
Alexander
prometheus
каким образом? мне очень интересно
Anonymous
ну хз первое в голову пришло что-то такое мб не прав я
sum by (pr,host)(irate(wmi_process_cpu_time_total{scaleset="name", process=~"pr"}[5m])) * 100 / 2
Konstantin
Писать я буду в свою базу, для отображения будет своя система
Konstantin
Мне нужно как-то считать метрики и структурировать
Alexander
просто считать время выполнения чисто двумя замерами верно более менее только, если нет пика по процу и самих горутин мало будет. а как память считать именно для функции...
Anonymous
а рантайм?
Alexander
еще самое интересное: есть работа gc и шедулера, как их добавлять? по моим наблюдениям это в районе 10%
Anonymous
там есть чето по типу readmemstats
Anonymous
не помню точно
Alexander
Аналитически никак нельзя вычислить?
Anonymous
на пальцах могу а что
Alexander
да не тебе вопрос
Anonymous
я знаю
Anonymous
просто хвастаюсь
Konstantin
Попробую переформулировать вопрос.
Есть функции для работы с файлом
1. Создание таблицы в бд под данные
2. Парс файла и запись по чанкам в бд
На входе я знаю имена компаний, пользователей, которые грузят эти файлы
Alexander
типа мы перемножаем матрицы, и вот n на n столько-то ресурсов съест, значит мы можем 2n на 10n вполне честно подсчитать
Alexander
ну от размера файла пляши, количества строк, средней длины
Aleksandr
runtime.MemStats тут наверно есть че то)
Anonymous
во да
Anonymous
я говорю там можно чекать
Alexander
а если переезд на более мощный будет сервер или более слабый. цена для клиента будет плавать? лол
Alexander
или типа пришлось пофиксить алгоритм логически, и он стал потреблять больше памяти и цпу
Alexander
этого ж никто не поймет
Konstantin
Логика больше меняться не будет, только если оптимизация и будут затраты уменьшаться
Konstantin
Хотяя...
Konstantin
Ну это уже новые функции для предобработки файла
Konstantin
Работа происходит через очереди, возможно это что-то меняет?)
Konstantin
Если учесть, что задачи выполняются по порядку
Alexander
хз. мне все равно странной кажется модель оплаты от потраченных ресурсов, а не от объема работы, который линейно влияет на объем ресурсов и легко оценим
Alexander
+ вообще оптимизировать неинтересно. ну и что, что мы будем больше обрабатывать в секунду, если деньги те же?
Konstantin
Alexander
самое грубое да
Konstantin
Я думал над этим изначально, но показалось слишком простым 😅
Alexander
а структура бд одинаковая всегда?
Alexander
а индексы варьируются?
Илья
Michael
Добрый день, кто-то работал с гитлаб апи? Не получется добавить ревьюера через Постман - Делаю Put —> https:/<гитлаб компании>/api/v4/projects/199/merge_requests/31?reviewer_ids=598&private_token=<мой токен> - возвращает структуру Merge Request, но ревьюер не добавляется 😒
Andrey
а какая у тебя идея такого кейса?
Michael
глобальная - добавление ревьюеров в merge requests
Andrey
ты хочешь к конкретному МР добавлять аппрувера, или на всю репу?
Michael
ты хочешь к конкретному МР добавлять аппрувера, или на всю репу?
Да, только не аппрувера а ревьюера - (reviewer_ids integer array no - The ID of the user(s) set as a reviewer to the MR. Set the value to 0 or provide an empty value to unset all reviewers. Introduced in GitLab 13.8.) https://docs.gitlab.com/ee/api/merge_requests.html
Michael
Andrey
а ты можешь показать скрин запроса своего? можешь даже в личку скинуть
Konstantin
Движок MergeTree
Shohrukh
Привет, ребята
Shohrukh
list с++ на Го считается как срез?
Shohrukh
То есть listC++=SliceGo
Andrey
а ты знаешь как на уровне памяти выглядит список с++ и срез Го?
Shohrukh
Andrey
простите , что?
Shohrukh
Разве не так?
Alexander
Скорее всего вектор больше бы подошел
Shohrukh
То есть слайс и лист динамичемкий выделяет памяти
Alexander
Larchenko
Larchenko
Поверх массива
Larchenko
Кто ж будет по дефолту совать двухсвязный, когда он почти всегда медленнее
Grigory
https://en.cppreference.com/w/cpp/container/list
It is usually implemented as a doubly-linked list
Или я не туда смотрю?
Grigory
Да и как бы название list намекает что это список
Larchenko
Larchenko
И это капец неоптимально связный совать
Larchenko
Ряльно, плюсоебы потеряли человечность
Grigory
Ну я не оч понимаю в чем негодование, написано «список» и под капотом «список», ожидаешь поведение и ограничения списка, вроде логично все
Larchenko
Larchenko
Негодование от реализации
Larchenko
Плюсоебы выбрали довольно медленную
Grigory
Ну это вообще чмоструктура
Alexander
В плюсах же есть даже что-то вроде слайса, не просто вектор