Непрерывная наблюдаемость для клиент-серверной IDE: воспроизводимый подход с низкими накладными расходами
https://doi.org/10.15514/ISPRAS-2026-38(2)-6
Аннотация
Клиент-серверные интегрированные среды разработки (IDE) представляют собой сложные системы, в которых даже незначительные изменения исходного кода могут привести к регрессиям производительности, которые невозможно обнаружить с помощью стандартных метрик. Данная статья посвящена проблеме отсутствия платформ непрерывной и воспроизводимой наблюдаемости, ориентированных на задержки, воспринимаемые разработчиком, и стабильность работы в средах динамических языков, таких как Python. В рамках работы была реализована и интегрирована в CI/CD платформа наблюдаемости промышленного уровня, которая осуществляет инструментацию бэкенд-сервисов для сбора трассировок и метрик. Для гарантии воспроизводимости рабочие нагрузки выполняются в контейнерах с фиксированными версиями на специально отобранном корпусе проектов с открытым исходным кодом. Вместо использования статических границ измерений система обнаруживает регрессии с помощью алгоритма скользящего окна, который рассчитывает робастные z-оценки (z-scores) и пороги относительного сдвига. За год эксплуатации платформа выявила более 40 проблем производительности, включая регрессию в 5-6 раз при сохранении индексов и 25% смещение в потреблении памяти, обнаруженное благодаря ночному запуску тестов. Кроме того, система подтвердила эффективность архитектурных оптимизаций, обеспечивших 30% ускорение при повторном открытии проектов. Результаты демонстрируют, что оповещение на основе относительных показателей в скользящем окне значительно надежнее фиксированных пороговых значений для обнаружения аномалий в составных системах. Данный подход доказывает, что всесторонняя наблюдаемость достижима с ничтожно малыми накладными расходами во время выполнения, что разработчикам выявлять и устранять регрессии до слияния веток кода.
Ключевые слова
Об авторах
Владислав Игоревич МИРОШНИКОВРоссия
Магистр компьютерных наук Санкт-Петербургского государственного университета (факультет математики и компьютерных наук), старший инженер-исследователь команды IDE в Chebyshev Research Center (CRC), с 2021 года работает в области создания инструментов разработки.
Ольга Игоревна БАЧИЩЕ
Россия
Аспирант института прикладной информатики университета ИТМО. Инженер-исследователь в команде IDE в исследовательском центре имени Чебышёва (CRC) с 2023 года. Научные интересы: статический анализ программ.
Илья Александрович КУЗНЕЦОВ
Россия
Магистрант кафедры системного программирования математико-механического факультета Санкт-Петербургского государственного университета, инженер-исследователь команды IDE в Chebyshev Research Center (CRC) с 2022 года.
Александр Андреевич ПЛАТОНОВ
Россия
Магистр информационных технологий, ведущий инженер команды IDE Чебышёвского исследовательского центра. С 2020 года профессионально занимается направлением наблюдаемости (observability) распределённых программных систем.
Николай Владимирович ТРОПИН
Россия
Ведущий инженер, технический лидер команды IDE Чебышёвского исследовательского центра, закончил Математико-механический факультет СПбГУ. Работает в области создания инструментов разработки с 2013 года.
Дарья Владимировна ВАСИНА
Россия
Ведущий инженер лаборатории средств разработки облачного ПО в исследовательском центре имени Чебышёва. Окончила факультет компьютерных технологий и управления Университета ИТМО по направлению «Информатика и вычислительная техника». Специализируется на создании инструментов для разработки программного обеспечения с интеграцией технологий искусственного интеллекта.
Дмитрий Владимирович КОЗНОВ
Россия
Доктор технических наук, профессор кафедры системного программирования Санкт-Петербургского государственного университета, Сфера научных интересов: программная инженерия, модельно-ориентированная разработка программного обеспечения, программные данные, машинное обучение.
Список литературы
1. Jain R. K., The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling. New York, NY, USA: Wiley, 1991.
2. Beller M., Spruit N., Spinellis D., Zaidman A. On the dichotomy of debugging behavior among programmers, in Proceedings of the 40th International Conference on Software Engineering (ICSE), 2018, pp. 572-583.
3. Forsgren N., Humble J., Kim G. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations. IT Revolution, 2018.
4. Erich F. M. A., Amrit C., Daneva M. A qualitative study of DevOps usage in practice, J. Syst. Softw., vol. 126, pp. 41-51, Apr. 2017.
5. Teitelbaum T., Reps T. The Cornell Program Synthesizer: A syntax-directed programming environment, Commun. ACM, vol. 24, no. 9, pp. 563-573, Sep. 1981. DOI: 10.1145/358746.358755.
6. Reiss S. P. PECAN: Program development systems that support multiple views, IEEE Trans. Softw. Eng., vol. SE-11, no. 3, pp. 276-285, Mar. 1985. DOI: 10.1109/TSE.1985.232211.
7. Rask J. K. The Specification Language Server Protocol: A proposal for standardised LSP extensions, Master's thesis, Dept. Comput. Sci., Aalborg Univ., Aalborg, Denmark, 2018. DOI: 10.4204/EPTCS.338.3.
8. Language Server Protocol Specification – 3.17, Microsoft, Redmond, WA, USA, 2022. Available at: https://microsoft.github.io/language-server-protocol/, accessed 07.10.2025.
9. Rodríguez-Echeverría R. et al. Towards a Language Server Protocol infrastructure for graphical modeling tools, in Proc. 33rd Annu. ACM Symp. Appl. Comput. (SAC), Pau, France, 2018, pp. 370-377.
10. Murphy G. C., Kersten M., Findlater L. How are Java software developers using the Eclipse IDE? IEEE Softw., vol. 23, no. 4, pp. 76-83, Jul./Aug. 2006.
11. Ko A. J., Myers B. A., Aung H. H. Six learning barriers in end-user programming systems, in Proc. IEEE Symp. Vis. Lang. Hum.-Cent. Comput. (VL/HCC), Rome, Italy, 2004, pp. 199-206.
12. Hellendoorn V. J. et al. Global and local learning for code completion, in Proc. 41st Int. Conf. Softw. Eng. (ICSE), Montreal, QC, Canada, 2019, pp. 510-521.
13. Svyatkovskiy A., Deng S. K., Fu S., Sundaresan N. IntelliCode Compose: Code generation using Transformer, in Proc. 28th ACM Joint Meeting Eur. Softw. Eng. Conf. Symp. Found. Softw. Eng. (ESEC/FSE), Sacramento, CA, USA, 2020, pp. 1433-1443.
14. Vaithilingam P., Zhang T., Glassman E. L. Expectation vs. experience: Evaluating the usability of code generation tools powered by LLMs, in CHI Conf. Hum. Factors Comput. Syst., New Orleans, LA, USA, 2022, Art. no. 332.
15. Rodríguez P. et al. Continuous deployment of software-intensive products and services: A systematic mapping study, J. Syst. Softw., vol. 123, pp. 264-291, Jan. 2017.
16. Eclipse Foundation, Eclipse RCP Testing Tool (RCPTT), Available at: https://www.eclipse.org/rcptt/, accessed 07.10.2025.
17. Eclipse Foundation, Eclipse Jubula, Available at: https://projects.eclipse.org/projects/technology.jubula, accessed 07.10.2025.
18. OpenTelemetry is a collection of APIs, SDKs, and tools: main page. Available at: https://opentelemetry.io/, accessed 07.10.2025.
19. VictoriaMetrics Observability Stack. Available at: https://victoriametrics.com/, accessed 07.10.2025.
20. VictoriaMetrics, “Sustainability – Benchmark Results,” VictoriaMetrics. Available at: https://victoriametrics.com/sustainability/, accessed 07.10.2025.
21. Thanos - open source, highly available Prometheus setup with long term storage capabilities. Available at: https://thanos.io/, accessed 07.10.2025.
22. Grafana: the open and composable observability platform. Available at: https://grafana.com/, accessed 07.10.2025.
23. Prometheus, “Instrumentation,” Prometheus Documentation. Available at: https://prometheus.io/docs/practices/instrumentation/, accessed 07.10.2025.
24. Google, “Monitoring Systems with Advanced Analytics,” Site Reliability Engineering Workbook. Available at: https://sre.google/workbook/monitoring/, accessed 07.10.2025.
Рецензия
Для цитирования:
МИРОШНИКОВ В.И., БАЧИЩЕ О.И., КУЗНЕЦОВ И.А., ПЛАТОНОВ А.А., ТРОПИН Н.В., ВАСИНА Д.В., КОЗНОВ Д.В. Непрерывная наблюдаемость для клиент-серверной IDE: воспроизводимый подход с низкими накладными расходами. Труды Института системного программирования РАН. 2026;38(2):83-94. https://doi.org/10.15514/ISPRAS-2026-38(2)-6
For citation:
MIROSHNIKOV V.I., BACHISHCHE O.I., KUZNETSOV I.A., PLATONOV A.A., TROPIN N.V., VASINA D.V., KOZNOV D.V. Continuous Observability for Client–Server IDEs: A Reproducible, Low-Overhead Approach. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2026;38(2):83-94. https://doi.org/10.15514/ISPRAS-2026-38(2)-6






