SlideShare une entreprise Scribd logo
1  sur  34
Эволюция системы логирования интеграционного ПО.
Сокращаем время сбора и анализа логов в 9 раз.
Черятов Кирилл
МТС ИТ
kcheryatov@gmail.com
Проблемы. Сложность сбора логов.
Логи сгруппированы по
модулям/системам, а не по бизнес-
процессам.
В случае FORIS количество папок с
логами ~ 300.
Проблемы. Сложность сбора логов.
• Невозможно выделить логи,
относящиеся к конкретному
тестовому сценарию.
• Для сбора логов нужно знать,
какие модули вызываются при
выполнении бизнес-процесса.
Проблемы. Пинг-понг багов.
из письма 2013 года
…Наблюдаю пинг-понг в подавляющем большинстве багов…
Этап 1. Пользовательская история.
Я, как инженер группы тестирования, хочу
собирать все необходимые разработке логи
тестового сценария, не зная подробностей о
реализации модулей.
Этап 1. Название системы.
Central Logging
Этап 1. Идея.
Этап 1. Реализация. Идентификатор сессии.
Если сессия еще не создана, то она создается при
первой попытке записи лога. Идентификатор
сессии – GUID.
Транспорт: WCF/Soap headers, BPM context, .net
CallContext.
Этап 1. Реализация. Сбор логов.
Для сбора логов разработан log4net appender, WCF
служба для группировки, сжатия и записи логов.
Хранилище логов - DB Oracle.
Этап 1. Реализация.
Этап 1. Реализация. Поиск логов.
Для поиска логов разработано WPF приложение. Тиражируется с
помощью ClickOnce.
Этап 1. Реализация. Поиск логов.
Этап 1. Реализация. Средства для анализа логов.
Контекстный поиск, навигация по результатам поиска.
Этап 1. Внедрение.
Внедрение проходило несколько этапов:
• Proof на небольшой группе тестирования.
• Отдали в эксплуатацию в аутсорсную команду
тестирования (~30 человек).
• CL – стал стандартным инструментом для поиска
логов для большинства UC.
В баге не приложены логи CL – баг возвращается
в тестирование с просьбой приложить логи.
Этап 1. Результаты.
• Термин «пинг-понг багов» безнадежно устарел и
перестал употребляться.
• Оценка сокращения временных затрат по
результатам тестовой эксплуатации
Название БП Поиск логов с CL Поиск логов без CL
Смена ТП 5 30
Продажа контракта 5 45
ДУУ 5 15
Заказ документов 5 20
Расторжение контракта 5 25
Объединение ЛС 5 25
Сокращаем время сбора и анализа логов в 9 раз.
Название БП c CL без CL
Продажа
контракта
5 45
Этап 1. Результаты. Затраты на 1 баг -30%.
На один баг:
Testing (Test) — 1 час
Testing (Creation) — 15 мин сбор логов
Integration (Localization) — 15 мин изучения стенда и логов
50% Testing (Add Logs) — 15 мин досбор других логов
50% Integration (Localization) — 15 мин изучения стенда и логов
Dev Team 1 (Localization) — 15 мин изучение логов
30% Testing (Add Logs) — 15 мин сбор логов (если удалились, то ретест)
Dev Team 1 (Localization) — 15 мин изучение логов
30%
Dev Team 2 (Localization) — 15 мин изучение логов
Testing (Retest + Add Logs) — 1 час на ретест (уже точно удалились) + сбор логов
Dev Team 1 или 2 (Fix) — 2 часа на исправление
Testing (Retest) – 1 час
Этап 2.
Я, как инженер технической поддержки,
тоже хочу иметь возможность собрать логи
выполнения бизнес-процесса на продуктиве, без
перенастройки модулей, рестарта служб,
существенного увеличения нагрузки на сервер.
Этап 2. Отличия от этапа 1.
Тестовый стенд:
1-30 серверов БЛ,
несколько тысяч БП.
Продуктив:
300 серверов БЛ,
50 млн. БП в сутки.
Этап 2. Идея.
Модуль фильтрации логов
Этап 2. Реализация.
Модуль фильтрации состоит из 3 элементов:
• Метод, который применяет фильтры к логам.
• Таймер, который периодически получает
обновленные фильтры
• Флаг «пиши логи», который передается
аналогично идентификатору сессии, если
сработал фильтр.
Этап 2. Реализация.
Этап 2. Реализация. Типы фильтров.
• Логин оператора,
• Временной интервал,
• Тип бизнес-процесса,
• Абонент
Этап 2. Внедрение.
Система развернута и эксплуатируется на
продуктиве.
Для ряда интеграционных проблем CL позволяет
ускорить локализацию на несколько дней.
Этап 3.
Я, как разработчик, хочу в результатах
запуска интеграционных автотестов видеть логи
бизнес-процесса, который запускался в автотесте.
Этап 3. Идея.
Позволяем помечать сессии
атрибутами,
реализуем службу,
которая ищет сессии
по заданным атрибутам.
Этап 3. Реализация.
Этап 3. Внедрение.
О том, что в итоге получилось, чуть позже
расскажет Павел Бирюков.
Этап 4.
Я, как представитель разработки системы, которая
интегрируется с FORIS, хочу получить возможность
писать логи в CL.
FORIS
SCP НКИП
COCAT
BSSmBP
BMS
Этап 4.
Этап 4. Реализация.
Добавили еще 1 интерфейс для записи логов в CL –
RabbitMQ.
(асинхронное взаимодействие, кроссплатформенный
клиент)
Как правило, взаимодействие между модулями
происходит с помощью SOAP, поэтому идентификатор
сессии передается стандартным образом.
Этап 4. Внедрение.
Внедрено в рамках задачи интеграции с
платформой SMBP (unix, c++, java)
В процессе внедрения в online платформу SCP
(unix, c++).
Подведем итоги.
• Сократили календарь исправления бага за счет
сокращения количества ретестов и сбора логов.
• Сократили трудоемкость исправления бага
~30%.
• Упростили сбор логов для ошибок на
продуктиве.
Спасибо.
Черятов Кирилл
МТС ИТ
kcheryatov@gmail.com

Contenu connexe

Tendances

Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...SQALab
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияОшибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияzheldak
 
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения Iosif Itkin
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...Sergey Ponomarev
 
Приемочные тесты на огурце
Приемочные тесты на огурцеПриемочные тесты на огурце
Приемочные тесты на огурцеAlexander Byndyu
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)SPB SQA Group
 
Построение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаПостроение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаTatyanazaxarova
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6Nikolay Samokhvalov
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеSQALab
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?SQALab
 
Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Paul Stashevsky
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентовNikolay Samokhvalov
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестированияAgile Ukraine
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестовSQALab
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестированиеSPB SQA Group
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДNikolay Samokhvalov
 
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...Iosif Itkin
 

Tendances (20)

Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияОшибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы применения
 
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 
Приемочные тесты на огурце
Приемочные тесты на огурцеПриемочные тесты на огурце
Приемочные тесты на огурце
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
 
Построение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаПостроение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кода
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной Шине
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
 
Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестирования
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестирование
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБД
 
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
 

En vedette

Как показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь дискуКак показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь дискуАндрей Шорин
 
Lamella clarifier - Khaleeda bt Abdul Karim
Lamella clarifier - Khaleeda bt Abdul KarimLamella clarifier - Khaleeda bt Abdul Karim
Lamella clarifier - Khaleeda bt Abdul KarimKhaleeda Karim
 
FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)
FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)
FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)Rosemarie Truman
 
Igzood November Issue
Igzood November IssueIgzood November Issue
Igzood November IssueDevin Joyner
 
IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployJared Putman
 
台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄
台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄
台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄主婦聯盟台中分會
 
台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料
台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料
台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料主婦聯盟台中分會
 
台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄
台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄
台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄主婦聯盟台中分會
 
Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...
Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...
Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...ScrumTrek
 
Борис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работаетБорис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работаетScrumTrek
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusHAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusKaren Broughton-Mabbitt
 

En vedette (14)

Как показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь дискуКак показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь диску
 
Lamella clarifier - Khaleeda bt Abdul Karim
Lamella clarifier - Khaleeda bt Abdul KarimLamella clarifier - Khaleeda bt Abdul Karim
Lamella clarifier - Khaleeda bt Abdul Karim
 
FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)
FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)
FINAL PLENARY SPACE RACE SHORT apr 23 2016 (3)
 
Top10 Xeber 2016
Top10 Xeber 2016Top10 Xeber 2016
Top10 Xeber 2016
 
references
referencesreferences
references
 
Igzood November Issue
Igzood November IssueIgzood November Issue
Igzood November Issue
 
Desalination
DesalinationDesalination
Desalination
 
IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode Deploy
 
台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄
台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄
台中市政府-「105年度臺中市設置空氣品質淨化區審核小組」第三次會議 會議紀錄
 
台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料
台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料
台中市政府-105年度「臺中市設置空氣品質淨化區審核小組」第一次會議 會議資料
 
台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄
台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄
台中市政府-105年第2次「臺中市空氣污染減量工作小組」 會議紀錄
 
Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...
Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...
Артак Оганесян, Алексей Ионов. Я не верю в корпоративный Аджайл: реальные диа...
 
Борис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работаетБорис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работает
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusHAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
 

Similaire à Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем время сбора и анализа логов в 9 раз

Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Technopark
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rusMaxim Shaptala
 
Роль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана ФедянинаРоль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана Федянинаqasib
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиkosyakov
 
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»Sigma Software
 
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...GTestClub
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterAleksandr Tarasov
 
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеSoftware craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеPavel Veinik
 
Автоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапеАвтоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапеEvgeny Savitsky
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей РевкоSQALab
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьGoIT
 

Similaire à Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем время сбора и анализа логов в 9 раз (20)

Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rus
 
Роль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана ФедянинаРоль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана Федянина
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книги
 
Log+
Log+Log+
Log+
 
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
 
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
 
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеSoftware craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
 
Автоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапеАвтоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапе
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 

Plus de ScrumTrek

Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...ScrumTrek
 
Светлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалСветлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалScrumTrek
 
Александр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumАлександр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumScrumTrek
 
Сергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюСергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюScrumTrek
 
Юрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеЮрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеScrumTrek
 
Анна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиАнна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиScrumTrek
 
TealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыTealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыScrumTrek
 
Анастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRАнастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRScrumTrek
 
Марина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииМарина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииScrumTrek
 
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаАсхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаScrumTrek
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS HugeScrumTrek
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктовScrumTrek
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsScrumTrek
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMScrumTrek
 
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсКирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсScrumTrek
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsScrumTrek
 
Асхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиАсхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиScrumTrek
 
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileОлег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileScrumTrek
 
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?ScrumTrek
 
Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?ScrumTrek
 

Plus de ScrumTrek (20)

Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
 
Светлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалСветлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвал
 
Александр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumАлександр Тупиков. Введение в Scrum
Александр Тупиков. Введение в Scrum
 
Сергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюСергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компанию
 
Юрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеЮрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практике
 
Анна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиАнна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила воли
 
TealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыTealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена команды
 
Анастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRАнастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HR
 
Марина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииМарина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компании
 
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаАсхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS Huge
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктов
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOps
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRM
 
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсКирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOps
 
Асхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиАсхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудники
 
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileОлег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
 
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
 
Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?
 

Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем время сбора и анализа логов в 9 раз

  • 1. Эволюция системы логирования интеграционного ПО. Сокращаем время сбора и анализа логов в 9 раз. Черятов Кирилл МТС ИТ kcheryatov@gmail.com
  • 2. Проблемы. Сложность сбора логов. Логи сгруппированы по модулям/системам, а не по бизнес- процессам. В случае FORIS количество папок с логами ~ 300.
  • 3. Проблемы. Сложность сбора логов. • Невозможно выделить логи, относящиеся к конкретному тестовому сценарию. • Для сбора логов нужно знать, какие модули вызываются при выполнении бизнес-процесса.
  • 4. Проблемы. Пинг-понг багов. из письма 2013 года …Наблюдаю пинг-понг в подавляющем большинстве багов…
  • 5. Этап 1. Пользовательская история. Я, как инженер группы тестирования, хочу собирать все необходимые разработке логи тестового сценария, не зная подробностей о реализации модулей.
  • 6. Этап 1. Название системы. Central Logging
  • 8. Этап 1. Реализация. Идентификатор сессии. Если сессия еще не создана, то она создается при первой попытке записи лога. Идентификатор сессии – GUID. Транспорт: WCF/Soap headers, BPM context, .net CallContext.
  • 9. Этап 1. Реализация. Сбор логов. Для сбора логов разработан log4net appender, WCF служба для группировки, сжатия и записи логов. Хранилище логов - DB Oracle.
  • 11. Этап 1. Реализация. Поиск логов. Для поиска логов разработано WPF приложение. Тиражируется с помощью ClickOnce.
  • 12. Этап 1. Реализация. Поиск логов.
  • 13. Этап 1. Реализация. Средства для анализа логов. Контекстный поиск, навигация по результатам поиска.
  • 14. Этап 1. Внедрение. Внедрение проходило несколько этапов: • Proof на небольшой группе тестирования. • Отдали в эксплуатацию в аутсорсную команду тестирования (~30 человек). • CL – стал стандартным инструментом для поиска логов для большинства UC. В баге не приложены логи CL – баг возвращается в тестирование с просьбой приложить логи.
  • 15. Этап 1. Результаты. • Термин «пинг-понг багов» безнадежно устарел и перестал употребляться. • Оценка сокращения временных затрат по результатам тестовой эксплуатации Название БП Поиск логов с CL Поиск логов без CL Смена ТП 5 30 Продажа контракта 5 45 ДУУ 5 15 Заказ документов 5 20 Расторжение контракта 5 25 Объединение ЛС 5 25
  • 16. Сокращаем время сбора и анализа логов в 9 раз. Название БП c CL без CL Продажа контракта 5 45
  • 17. Этап 1. Результаты. Затраты на 1 баг -30%. На один баг: Testing (Test) — 1 час Testing (Creation) — 15 мин сбор логов Integration (Localization) — 15 мин изучения стенда и логов 50% Testing (Add Logs) — 15 мин досбор других логов 50% Integration (Localization) — 15 мин изучения стенда и логов Dev Team 1 (Localization) — 15 мин изучение логов 30% Testing (Add Logs) — 15 мин сбор логов (если удалились, то ретест) Dev Team 1 (Localization) — 15 мин изучение логов 30% Dev Team 2 (Localization) — 15 мин изучение логов Testing (Retest + Add Logs) — 1 час на ретест (уже точно удалились) + сбор логов Dev Team 1 или 2 (Fix) — 2 часа на исправление Testing (Retest) – 1 час
  • 18. Этап 2. Я, как инженер технической поддержки, тоже хочу иметь возможность собрать логи выполнения бизнес-процесса на продуктиве, без перенастройки модулей, рестарта служб, существенного увеличения нагрузки на сервер.
  • 19. Этап 2. Отличия от этапа 1. Тестовый стенд: 1-30 серверов БЛ, несколько тысяч БП. Продуктив: 300 серверов БЛ, 50 млн. БП в сутки.
  • 20. Этап 2. Идея. Модуль фильтрации логов
  • 21. Этап 2. Реализация. Модуль фильтрации состоит из 3 элементов: • Метод, который применяет фильтры к логам. • Таймер, который периодически получает обновленные фильтры • Флаг «пиши логи», который передается аналогично идентификатору сессии, если сработал фильтр.
  • 23. Этап 2. Реализация. Типы фильтров. • Логин оператора, • Временной интервал, • Тип бизнес-процесса, • Абонент
  • 24. Этап 2. Внедрение. Система развернута и эксплуатируется на продуктиве. Для ряда интеграционных проблем CL позволяет ускорить локализацию на несколько дней.
  • 25. Этап 3. Я, как разработчик, хочу в результатах запуска интеграционных автотестов видеть логи бизнес-процесса, который запускался в автотесте.
  • 26. Этап 3. Идея. Позволяем помечать сессии атрибутами, реализуем службу, которая ищет сессии по заданным атрибутам.
  • 28. Этап 3. Внедрение. О том, что в итоге получилось, чуть позже расскажет Павел Бирюков.
  • 29. Этап 4. Я, как представитель разработки системы, которая интегрируется с FORIS, хочу получить возможность писать логи в CL.
  • 31. Этап 4. Реализация. Добавили еще 1 интерфейс для записи логов в CL – RabbitMQ. (асинхронное взаимодействие, кроссплатформенный клиент) Как правило, взаимодействие между модулями происходит с помощью SOAP, поэтому идентификатор сессии передается стандартным образом.
  • 32. Этап 4. Внедрение. Внедрено в рамках задачи интеграции с платформой SMBP (unix, c++, java) В процессе внедрения в online платформу SCP (unix, c++).
  • 33. Подведем итоги. • Сократили календарь исправления бага за счет сокращения количества ретестов и сбора логов. • Сократили трудоемкость исправления бага ~30%. • Упростили сбор логов для ошибок на продуктиве.

Notes de l'éditeur

  1. Привет. Меня зовут. Я работаю в МТС ИТ. Сегодня мы поговорим о том, каким образом эволюционировала наша система сбора логов, для чего вообще потребовалась эволюция этой системы и какие бенефиты это принесло. Начнем с вопроса. Поднимите, пожалуйста руки, у кого в компании/системе есть проблема с сбором логов. Ну круто, что почти ни у кого нет проблем, если бы они были, мы бы наверно сейчас бы занимались их решением, а не участвовали в конференции). Супер, значит проблема не только в нашей системе, из моего рассказа вы сможете подчерпнуть идеи и решить схожие проблемы в своих система. Давайте вспомним схему модулей FORIS, которая была на слайде Павла: SOA архитектура, 50 модулей, бизнес-value создается с помощью интеграции модулей. Для логирования модули используют log4net. Логирование каждого модуля настраивается отдельно, часто для того, чтобы настройки применились, требуется рестарт служб модуля. Логи пишутся в файлы.
  2. Проблема в том, что основная сложность в интеграции и соответственно основные тестовые сценарии – интеграционные.
  3. Тут наверно стоит разбить на 4 слайда – группировка логов, выделение логов, относящихся к тестовому сценарию и знания о составе модулей в БД. Найти то, не знаю, что.
  4. Происходит это следующим образом: Команде приходит баг. В нем нет логов или нет нужных логов. Баг возвращается в тестирование с просьбой собрать логи. Между заведением бага и его обработкой на стороне разработки может пройти час или пара дней, логи за это время уже перетерлись (для некоторых стендов они складируются и тогда шансы остаются, для некоторых – нет). Это означает, что нужно заново подбирать тестовые данные и воспроизводить баг. Еще через несколько часов/дней баг возвращается с логами в разработку. Еще через несколько часов/дней разработка может перевести баг на другую команду с комментарием «Метод X не вернул данные, посмотрите, почему». Как вы уже догадались, логов модуля, в котором реализован метод, в баге не приложено. И так далее. Это не самый худший вариант, не всегда логи модуля можно однозначно ассоциировать с бизнес-процессом, тогда логи выбираются просто по времени, иногда с 10 серверов.
  5. Первым делом мы придумали, как наша система будет называться.
  6. Это не реклама чемодана. Все, кто летал на самолетах, знают, почему их багаж не теряется и оказывается (если оказывается) в нужный момент в нужном месте. И даже если багаж состоит из двух сумок, то с этим тоже не возникает проблем. Архитектура системы основана на двух идеях: Научиться генерировать и транслировать уникальный идентификатор сессии для всех типов взаимодействий в рамках БП. Научиться ассоциировать логи модулей с идентификатором бизнес-сессии.
  7. На предыдущем этапе Павел рассказал о жизненном цикле бага. CL позволил сjкратить затраты производства на исправление бага на 30%/
  8. … Сразу возникает вопрос, почему нельзя взять систему и использовать ее на продуктиве. Переход.
  9. Для не самого «пишущего» модуля Order Catalogue в сутки для логов потребуется 26 ТБ. Чтобы логировать все, потребуется: Существенно расширять КТС. Существенно перерабатывать архитектуру. Пересмотреть подходы к логированию в 40 модулях. Слишком дорого.
  10. Добавляем в CL фильтрующий модуль. Модуль будет выбирать, какие БП логировать, а какие – нет. Собираем логи в соответствии с заранее настроенными фильтрами. При этом алгоритм фильтрации должен быть простым и не влиять на производительность системы. Это поможет собрать логи для значимого количества проблем. Остальные проблемы дешевле воспроизвести на тестовых стендах.
  11. На стороне БЛ модуль фильтрации состоит из 3 элементов: Метод, который применяет фильтры к логам. Таймер, который периодически получает обновленные фильтры Заголовок «пиши логи», который передается аналогично идентификатору сессии, если сработал фильтр. Таким образом, фильтр настраивается на службу/форму, которая инициирует бизнес-сессию, остальные службы просто проверяют наличие заголовка.
  12. Данные фильтры позволяют собрать логи для большинства тестовых сценариев: запуск форм и БП от имени оператора (удаленный дилер, формы для call-центра), от имени абонента (интернет-помощник), либо предоставление API для внешних систем (в последнем случае фильтруем по типу БП, для которого предоставляется API, и абоненту, для которого осуществляется запуск API).
  13. Сначала включаем трассировку на нужном типе процесса, т.к. требуется согласовывать эти работы с заказчиком. Далее анализ силами ТП и разработки. Если дампа процесса не достаточно, но установили проблемную подсистему по дампу процесса, то еще согласование с заказчиком на включение логов на короткий период на этой подсистеме. Выполнение теста. Из-за невозможности снять все необходимые для анализа данные за один раз может растянуться на несколько дней.
  14. В данном случае речь идет о поддержке процесса автотестирования. Цель – позволить разработчику написать интеграционный тест и после выполнения теста не тратить время на сбор логов. После выполнения теста логи автоматически должны появляться в папке на диске программиста (для локального запуска) или в папке с результатами билда, если речь идет о запуске автотестов на DEV стенде.
  15. При запуске БП из автотеста в заголовке передается идентификатор теста, который сохраняется в CL. Последним шагом теста является вызов метода получения логов по идентификатору теста. Таким образом, после выполнения теста разработчик имеет доступ к логам выполнения бизнес-процессов, которые выполнялись в рамках данного конкретного теста. Для UI автотестов схема аналогична. Роль идентификатора играет IP тестового агента + время выполнения теста. На тестовых агентах тесты выполняются последовательно, поэтому этого достаточно для однозначной идентификации сессии CL.