sberdevices / salute-issues

Salute Issues — пространство для предложений и обсуждения багов в продуктах семейства Виртуальных Ассистентов "Салют"
https://sber.ru/salute
23 stars 3 forks source link

Логирование работы смартапов #72

Open and7ey opened 3 years ago

and7ey commented 3 years ago

Где пригодится фича: Code, Graph Описание фичи: в настоящий момент невозможно исследовать некоторые проблемы, которые возникают в работе смартапов, т.к. используется слишком много инструментов, у которых нет логов. Например, CanvasApp, разработанный в Code. Пользователь взаимодействует с CanvasApp, событие прилетает куда-то, оттуда в Code, из Code - назад клиенту и на front endpoint. Все эти события надо максимально логировать. Желательно логировать прям сами http запросы + для front'a то, что показывается в консоли webview. Время, когда пришел запрос, за сколько отработал. Ошибки в script в Code. Если произошло какое-то системное событие (например, не получен ответ от бэка) - то логировать и его (и что в итоге Салют отправил клиенту). Плюс надо логировать какие-то системные параметры (выбранный персонаж, платформа, версия прошивки, разрешение экрана и т.п.). Без этой информации невозможно полноценно исследовать что же происходит со смартапом и почему он иногда не работает, а следовательно - нельзя использовать инструменты Code и Graph, т.к. не контролируешь полностью, что в них происходит.

and7ey commented 3 years ago

Для внешних HTTP-запросов (например, из Graph) надо логировать время запроса, время ответа, что запросили-что получили в ответ.

asmalakhov-sberdevices commented 3 years ago

@and7ey Мы планируем улучшать логирование в смартпах, добавили себе ваши комментарии.

Сейчас в Code есть возможность смотреть логи запросов и ответов, которые приходят в смартап от ассистена. Но для этого, нужно включить логирование для проекта в Свойства проекта -> Дополнительно -> включить Записывать логи запросов смартапа. Логи будут хранить указанное в настройке количество дней. Лог запроса можно посмотреть в разделе Диалоги -> Сессии -> Выбрать конкретную сессию Для каждой фразы, будет доступна кнопка Лог запроса

Лог запроса доступен для фраз, которые появились после включении Записывать логи запросов смартапа. И доступный будут указанное в настройке кол-во дней, после содержание затерется.

Genenko-Svetlana commented 3 years ago

Срок реализации до 31.07.2021

and7ey commented 3 years ago

Можно еще в диалоги - https://smartapp-code.sberdevices.ru/<>/statistic/dialogs - добавить некий id пользователя (например, id его сбербокса) - чтобы пользователь мог что-то посмотреть у себя, потом это назвать нам, а мы его однозначно идентифицировали в логах?

and7ey commented 3 years ago

Еще в лог Code было бы неплохо писать в каком State сейчас выполняется код. Например, 2021-02-05T07:46:28.766Z [botserver] INFO [ js] - STATE: newNode_7

Genenko-Svetlana commented 3 years ago

@skobets @asmalakhov-sberdevices