Рубрики
Без рубрики

Рабочие отладчики Java для экономии времени и ресурсов

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

Автор оригинала: Josh Robins.

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

  1. Проверьте серьезность, является ли это полным отключением службы (наиболее критичным) или это просто необычная ошибка, затрагивающая только 1 пользователя.

  2. Просмотрите журналы, чтобы точно определить, какие службы выдают эту ошибку.

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

Хотя в принципе этот процесс может показаться простым, его довольно сложно реализовать в реальных производственных системах предприятия. Типичные системы низкого качества обладают следующими атрибутами:

  1. Система не полностью контролируется, и поэтому вы даже не знаете о производственной ошибке, пока клиент не пожалуется.

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

Высококачественная система производственного отладчика обычно позволяет:

  1. Тратьте меньше времени на поиск ошибки и больше времени на ее исправление

  2. Сократите время простоя и повысьте удовлетворенность клиентов

  3. Добавляйте журналы, снимки и показатели в приложение live в режиме реального времени без необходимости каждый раз повторно развертывать эти новые дополнения в конвейере CI/CD (чтобы это не прерывало работу приложения)

  4. Предоставьте полезные показатели и аналитику о приложении

  5. Используйте его, не опасаясь существенного влияния на производительность приложения

Методы тестирования и отладки в производстве

Существует множество различных способов и вариантов выполнения такой задачи на производстве. Как правило, вы хотите выбрать несколько из них и эффективно их выполнить.

Первый из них – затенение (он же зеркальное отображение). Обычно это влечет за собой отправку части производственного трафика во вновь развернутую службу и просмотр того, как она обрабатывает эту нагрузку. Это может быть попытка воспроизвести производственную ошибку/ошибку или метод проверки потенциальных ошибок еще до того, как они произойдут.

Второй – мониторинг и ведение журнала. Ведение журнала-это место, где значения определенных переменных выводятся на консоль или сохраняются для отладки. Мониторинг, с другой стороны, отображает, сохраняет и анализирует производительность запущенного приложения. Это может быть особенно полезно при удаленной отладке , так как помогает, когда команды находятся далеко друг от друга и не могут работать вместе в одном и том же месте.

Третий-это распределенная трассировка . Это нацелено на более современные крупномасштабные архитектуры, которые используют микросервисную архитектуру вместо монолитной. Отладка микросервисов может быть затруднена из-за их распределенного характера. Вот тут-то и появляется распределенная трассировка.

“Распределенная трассировка, иногда называемая трассировкой распределенных запросов, – это метод мониторинга приложений, построенных на архитектуре микросервисов… Это позволяет им выявлять узкие места, ошибки и другие проблемы, влияющие на производительность приложения. “— Шлепок

Отладка и мониторинг производственных инструментов

1. Легкое бегущее облако

Light run Cloud – это бесплатный производственный отладчик. Он работает, определяя, куда вы хотите добавить журнал, метрику или снимок с помощью интегрированной среды разработки или интерфейса командной строки. Затем вы можете добавить любой из них во время выполнения, не прерывая работу приложения. После этого вы можете легко просмотреть журналы и исправить ошибку. Это обеспечивает эффективный способ отладки запущенного приложения в рабочей среде без ущерба для работы с клиентами. Это также дает разработчикам гибкость в выборе способа добавления журналов и предоставляет простые в использовании плагины для добавления журналов, как показано здесь:

Легкий пробег в основном обеспечивает 3 различных функции:

  1. Журналы: После добавления журналов разработчики могут изучить и проверить анализ журналов в инструменте по своему выбору, таком как Datadog или Elastic , для дальнейшей проверки , или они могут просто регистрировать их локально.

  2. Моментальные снимки: Они более полные, чем журналы; они фиксируют полную трассировку стека и данные.

  3. Метрики: Он обеспечивает поддержку условных метрик, таймеров, времени выполнения между определенной частью кода, измерения задержки и многого другого.

2. Метрики: Он обеспечивает поддержку условных метрик, таймеров, времени выполнения между определенной частью кода, измерения задержки и многого другого.

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

Logz предоставляет более 50+ интеграций для подключения к любому источнику данных. Вам не нужно создавать свою собственную панель мониторинга данных; вы можете просто развернуть существующую, предоставленную ими. Кроме того, вы можете анализировать все свои данные в Kibana и Прометей бок о бок. Кроме того, Logz использует ИИ для своевременного выявления проблем до того, как они действительно приведут к простою. Это, по сути, привносит знания и опыт других инженеров в ваш процесс устранения неполадок.

Источник: Источник:

3. Журнал данных

Datadog предоставляет возможности как отслеживания, так и мониторинга. Он обладает полным набором функций, таких как управление журналами, мониторинг безопасности, синтетический мониторинг и мониторинг реальных пользователей. Кроме того, он предоставляет инструмент APM (мониторинг производительности приложений), который можно легко использовать в приложениях Java.

APM Datadog отслеживает запросы из конца в конец, особенно когда это становится сложным в распределенных системах. Он также отслеживает взаимодействие пользователей от начала до конца с помощью веб-регистратора, чтобы разработчики могли легко увидеть, где что-то пошло не так со стороны пользователя. Кроме того, он соотносит производительность внешнего интерфейса с влиянием на бизнес, визуализируя время загрузки и разделяя данные по пользовательским атрибутам. Таким образом, даже если предстоит пройти через множество ошибок, разработчики могут начать с исправления наиболее острых из них.

Вывод

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

Фото на обложке Нубельсон Фернандес вкл Unsplash

Оригинал: “https://www.codementor.io/@jons/java-production-debuggers-to-save-time-and-resources-1kfealt5bj”