+14
Запланирован

Автоматическая символизация крэшей + склейка

Denis 10 месяцев назад • обновлен AppMetrica 1 месяц назад 3

Сейчас крэш логи отображаются не символифицированными. Их можно символифицировать вручную догрузив dSYM файл. И это наверное хорошо работает если крэш один.

Если крэшей много, то: 

1. Вручную их символифицировать все - трудоемкая задача

2. Ввиду того, что несимволифицированный крэш - это падение в условно рандомном адресе - крэши не склеиваются. А следовательно их становится больше в штуках и проблема 1 становится все более сложной.

3. Если в приложении случилась неудачная выкатка и крэшрейт большой, то разных крэшей в штуках очень много и все их вручную просимволифицировать становится практически невозможно. Понять что это один и тот же крэш тоже. Приходится итеративно релизить стабилизирующие сборки потихоньку уменьшая крэшрейт.

Предлагаю:

1. Дать возможность грузить dSYM'ы через API. Это позволит например добавить в Xcode в Build Phases простой curl который загрузит вам нужный dSYM.

2. Это позволит вам иметь крэши символифицированными - разработчики будут довольны

3. Благодаря тому, что крэши у вас будут символифицированны, вы сможете лучше склеивать их, таким образом решите проблему, когда один фактический крэш многократно множится за счет разных повторений себя же.

Есть одно но! При включенном bitcode заливаемый бинарник и тот который в аппсторе разные и загружать сборочный dSYM бессмысленно. Причем dSYM к AppStore бинарнику доступен из itunesconnect. Было бы лучше при возможности загрузить пакет dSYM (разные сборки и архитектуры), а система чтобы сама анализировала и сопоставляла UUID в dSYM-ах и крашлогах.

Плюс к этому желательно чтобы стэк системных методов автоматически символизировался. Иногда это даже полезнее чем стэк методов приложения, но не каждый разработчик может себе позволить собрать базу на разные архитектуры и версии iOS

Сервис поддержки клиентов работает на платформе UserEcho