169 похожих чатов

Так, я туплю и мне нужна помощь отслеживаю почему может тормозить

бот
ставлю в сообщении метку о том что оно получено и потом везде добавляю всякие шаги

метка ставится так:
msg.conf['_started_at'] = time.monotonic()

шаги отслеживаются так:
msg.conf['_steps'] = list()
msg.conf['_steps'].append(('added time', time.monotonic(), time.monotonic()-msg.conf['_started_at']))

выполнение всех мидлварей типичного сообщения выглядит так:
('added time', 496832.199547952, 5.505979061126709e-06)
('added conns', 496832.199566058, 1.8377031665295362e-05)
('added role', 496832.321245542, 0.12167987902648747)
('started throttling', 496832.535132689, 0.21388781198766083)
('finished throttling', 496832.682633223, 0.14750073000323027)

соответственно разница между последним шагом и первым - 0,483

в хендлер первой строкой делаю вот это:
t = msg.conf['_started_at']
txt = []
txt.append(f'got message in handler {time.monotonic() - t}')
то есть должно выдавать время от входа в первую мидлварь до входа в хендлер

а вывод txt выдает вот это:
got message in handler 1.8203015549806878


то есть все мидлвари выполняются за 0,483, а до хендлера доходит за 1,82
вопрос
куда ушли еще 1,337 секунды?

фильтр один и он взаимодействует только с существующими свойствами сообщения, то есть в сеть не ходит и выполняется моментально
фсм - редис на соседнем хосте с пингом в районе 1-2 мс, на нем нагрузка около 2к рпс
Аиограм самый последний

2 ответов

10 просмотров

Большой код на некобин скидывай

ZeVs
Большой код на некобин скидывай

Нужно разделять ситуации, где огромный код, а где длиннопост. В данном случае всё нормально

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта