Djer
@djeer

Уважаемые IT товарищи, подскажите, как вы собираете логи/метрики из клиентских приложений? У нас есть десткоп приложение, в котором иногда у кого-то из юзеров ломаются звонки или пинги активности, и команда разделилась во мнениях. А фронтендеры у нас больше по вебу, приложение изначально последним приоритетом было в планах, но клиентам оно оказалось нужно.

Фронтендеры: "мы включили Sentry,
будет ошибка - придет в сентри" (или оно не приходит, или по ней понятно, что какая-то ошибка произошла, а почему произошла - нет)

Бэкендеры: "а давайте собирать все логи приложения в один файлик, а вебсокет лог во второй файлик, и выгружать их нам, чтобы в случае ошибки точно знать, что там происходило". Что-то сильно топорно выглядит идея грузить файлики в бакет в гугл клауде )) Но де-факто observability улучшится.

Какие еще есть варианты улучшить вот это вот observability на стороне клиента, чтобы видеть, что там происходило? Что пинги сломались после того, как ноутбук в спящий режим переводили, что пермишенов на микрофон не дали и поэтому звонок не дошел и вроде того )

2022-10-21 19:38:49

Yulia Averianova
@fyl_ch

с мобилы у нас собирают в firebase, там можно настроить, за чем следить - краши и прочее

2022-10-21 13:39:51

Djer
@djeer

Firebase Crashlytics? Это же как сентри, а хочется, чтобы прям как на бэкенде "вот Лариса Петровна открыла приложение, вот она сменила статус"

2022-10-21 13:41:06

Ivan
@gfofg

А вы пробовали отправлять стату в бд, а потом либо через lighthouse, либо через superset получать ее

2022-10-21 14:07:30

Djer
@djeer

Так это же фронтендеры будут отправлять, а мы хотим исключить эту проблему из уравнения 😁

2022-10-21 14:27:59

Alexey
@bodomic

мне кажется, если событие "не всегда долетает в сентри", то оно так же не всегда долетит и в амплитуд, и в бд

2022-10-21 14:28:49

Djer
@djeer

Как пример - онлайн статус отправлялся каждые 60 секунд вместо каждых 20 секунд, нет события в сентри, этим вызванного. Это непросто было раскопать (мы ж как ответственные люди сначала проблему у себя в бэкенде стали искать). А если бы были логи "отправляю статус", это было бы сразу видно.

2022-10-21 14:40:01

lalex
@lalex_cy

По описанию похоже на телеметрию/трейсинг. Есть опенсорсный проект OpenTelemetry и куча проприетарных APM, типа NewRelic, Datadog и т.д. У AWS это вроде называется X-ray.

2022-10-21 15:20:55

Yulia Averianova
@fyl_ch

для веба у AWS есть тулзы, видно все обращения-ответы время и тп, тоже настраиваемая фигня - лишнее убрать, нужно оставить, хранить в облаке

2022-10-21 13:41:25

Djer
@djeer

У нас апп MacOS на electronjs, react native

2022-10-21 13:41:57

Yulia Averianova
@fyl_ch

тут не подскажу, нет опыта практического. но я на стороне бэкендеров тут, в целом логи не так много места жрут, можно их периодически удалять, а писать подробно и красиво, может, какое-то типовое поведение отловите

2022-10-21 14:21:26

Elena E
@eefimova3004

Amplitude для клиентских логов с мобилок и веба

2022-10-21 13:45:03

Mentat
@alexeysetevoi

так если сентри прилепить фронту - будут приходить только ошибки фронта) лепите и бекенду его и самой прилохуже

2022-10-21 15:31:32

Djer
@djeer

На бэкенде есть все. Задача - понять, что на фронте происходит, когда ошибок как бы нет, но что-то не так пошло )

2022-10-21 15:38:24

Anton Neznaienko
@neanton

У нас для этого каждый клик, каждое открытие и закрытие попапа со всем юзер стейтом в приложении обвешивается трекером и все события реквестов/респонсов. Все собирается в кастомный приемник по хттп (тут можно выбрать более удобный транспорт) и пишется в биг квери. Оттуда уже tableau показывает дашборды. Каждая фича в разработку идет с полным описанием тех трекеров которые нужны плюс с описанием кастомных полей для каждого трекера. Но у нас игра

2022-10-21 17:49:29

Sergey Shevchenko
@sergeyshevchdev

Sentry Или opentelemetry и трейсы прям отправлять

2022-10-21 19:04:42

Grigory
@uburro

У бразеров есть перфоманс апи, можешь собирать и сохранть куда тебе нужно, например в кликхаус

Вот например
https://blog.logrocket.com/how-to-practically-use-performance-api-to-measure-performance/

2022-10-21 19:04:58

Слава Пятая колонка
@ixaxme

сообщение удалено

2022-10-21 17:54:13

Alexey
@bodomic

Сентри есть в описании 😁

2022-10-21 19:36:25

Dima
@ell198805

Ну центри это не совсем не про метрики. И логи в целом это не про метрики) Если нужна отладочная инфа то центри, яггер и подобное, если нужны логи в целом то елка. Если нужны именно метрики и Алерты с мониторингом то например сколько раз рвался коннект, какая скорость отдачи и т.д. То на приложении делается эндпонт на который ходит промитей и забирает Поидее должно быть примерно все это) в той или иной вариации. Метрики и Алерты на них что бы узнать о проблеме а логи и трейсы что бы ее найти и зарешать Узнавать о проблеме чисто из логов это немного бед практикс хоть так и делают. Поидее именно приложение должно где то давать именно метрики своего состояния насколько оно стабильно работает.

2022-10-21 19:28:58