Почему Stack Trace APM недостаточно для полного мониторинга веб-приложений

Это, вероятно, верно сказать, что если вы спросили среднего пользователя, что делает большое веб-приложение, они, вероятно, сказать «скорость». Но скорость, вероятно, наименее важный аспект обширного изношенном элементов. Такие факторы, как разработка приложений и визуализация в программе, вероятно, выше в этом списке. А что составляет отличное исполнительское приложение? И когда что-то идет не так, откуда ты знаешь? Вот некоторые из вопросов, которые стек мониторинга трассировки и синтетического мониторинга производительности веб-приложений, установленных ответить. Оба имеют свои преимущества и недостатки, но эта статья будет направлена на объяснение того, что делает лучшим инструментом для обеспечения того, чтобы опыт пользователя ставится на передний план определения того, что делает большое веб-приложение.

 

Что такое стек след?

След стека является полезным инструментом для расследования. Он демонстрирует «Call Stack», которые являются груды функциональных возможностей / методологий, которые были вызваны до нынешнего состояния исполнения программы, в то время неизвестный особый случай был брошен компилятор (или момент, когда стек след был произведен физически).

Это исключительно ценно, так как это не просто дать вам, где произошла ошибка, он также может дать вам представление о том, как программа попала в этом месте программы. Его цель состоит в том, чтобы предоставить, какие методы были вызваны до момента, когда программа разбилась, и дает изношенном методе вызовов, что приложение испытывает. Это помогает нам понять, как что-то получилось так, как это было, и отображает возможность исправить ошибку. Без этого отслеживания, эти действия будут идти неучтенными, и любые ошибки будут молчать. Впоследствии служба становится тем, что на видном месте называется «черным ящиком».

 

Что такое исключение?

Исключением является то, что условие выполнения используется, чтобы сообщить нам, что ошибка была найдена. Известные модели NullPointerException, IndexOutOfBoundsException, или ArithmeticException. Каждый из них вызваны, когда вы пытаетеся достичь чего-то, что буквально невообразимо (на компьютере, который есть). Например, NullPointerException будет брошен, как только вы попытаетеся ссылаться на InvalidArticle

 

Исключение

 

На рисунке выше изображен след стека. Мы начинаем к началу изношенном «на …»,мы можем сказать, где произошла ошибка. То, что мы пытаемся обнаружить, это первая встреча вызова метода, который может быть частью нашего приложения или часть модулей используются в приложении. Для этой ситуации, правонарушитель «на сайте com.example.myproject.Book.getTitle (Книга.java:16).» Таким образом, мы можем открыть Забронируйте.java и взгляните на строку 16. Это основной пример того, что происходит, когда мы отслеживаем стек.

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

 

Исключения

 

Виновником в этом случае является, где она начинается в «Вызывается: java.lang. NullPointerException на com.example.myproject. Книга.getId (Книга.java:22) на сайте com.example.myproject. Автор.getBookIds(Автор.java:36)«

Отличительной чертой этого является пункт«Вызвано». Время от времени изъятия будут иметь различные«вызванные»областями. В некоторых случаях необходимо искать «основной драйвер», который может быть одним из многих таких сегментов внутри отката.

 

Как сторонний код влияет на откат стека

Текущие приложения часто имеют многочисленные слои функции вызова срабатывает в перекрестном порядке (т.е. функция вызова других или в некоторых случаях себя). Чтобы сделать вопросы все более запутанными, мы регулярно имеют множество уровней кода программирования, которые добавляют в стек вызова. Код из наших библиотек выполнения или импортированных библиотек может снизить чистоту нашего стека вызова, что затрудняет просмотр или разобщенность при фиксации исключений. К настоящему времени вы можете думать: «Что делает этот блок выходных данных, чтобы помочь мне определить ошибки?»

 

Как стеки вызова и следы помогают в исполнении

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

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

 

Ограничения отслеживания стеков

Время от времени вы не можете гарантировать, что вы не получите ошибку. Например, на случай, если вы используете веб-приложение в вашей программе, вы не можете предотвратить PC от потери своей веб-ассоциации (например, вы не можете предотвратить клиента от отсоезрения системной сети ПК). То, что происходит сейчас, это система библиотека относится к нам с освобождением. В идеальном мире, это точка, в которой инженеры «поймать» специальный случай и управлять им. Это означает, что в модели с сетевой ассоциацией, вы должны попытаться возродить ассоциацию или информировать клиента. Инженер должен помнить при получении освобождения, что они захватили случае они ожидали, поэтому они не должны использовать широкие прокламации, как «Исключение е«, что бы получить все исключения. Это оказывается ключевым фактором в стеке отката. Он не ловит особых случаях, которые должны были рассматриваться определенным образом, но заботились в совершенно по-другому.

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

 

Синтетический мониторинг

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

Этот вид мониторинга может иметь основополагающее значение для вашего бизнеса, поскольку он позволяет различать вопросы и обследования ли ваш сайт или приложения нуждаются в настройке, прежде чем конечные клиенты действительно влияние. Поскольку такого рода проверка не зависит от реального веб-трафика, веб-приложение или страница могут контролироваться в любое время, из любого места, и агенты по мониторингу могут быть настроены до того, как приложения пойдут в производство. Вот почему многие разработчики склоняются к синтетическому мониторингу, так как он дает видимость 24/7 и предоставляет рычаги для организации, чтобы исправить ошибки, прежде чем клиенты наткнуться на него.

 

Нужен ли вам синтетический мониторинг?

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

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

 

Стек трассировки и синтетического мониторинга: Заключение

Синтетический мониторинг использует упреждающий подход, чтобы помочь обнаружить проблемы раньше, чем ваши клиенты. В случае, если правильные процедуры используются, синтетический мониторинг может дать вам ту же точку зрения ваших конечных пользователей и клиентов, не говоря уже о том, как они выполняют — и будут ли клиенты будут довольны опытом. Это не так с отслеживанием стеков. Это, несомненно, очень надежный и компетентный протокол анализа, но он может проследить только шаги неудавшегося события в предшествующей моде. Это подводит нас к очень твердому пониманию того, что отслеживание стеков в сочетании с синтетическим мониторингом может помочь связать весь стек и обеспечить мощное решение для мониторинга производительности. Попробуйте полную платформу Dotcom-Monitor бесплатно в течение 30 дней.

 

Latest Web Performance Articles​

Как правильно использовать Google PageSpeed Insights: техническое руководство

PageSpeed Insights — это веб-инструмент Google, который анализирует производительность и оптимизацию веб-страниц. Он предоставляет ценную информацию и рекомендации, которые помогут разработчикам веб-сайтов повысить скорость своих

15 лучших инструментов мониторинга инфраструктуры

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

20 лучших инструментов мониторинга серверов 2023 года

Инструмент мониторинга серверов — это программное обеспечение, которое отслеживает работу и общее состояние серверов и других компонентов ИТ-инфраструктуры. Эти инструменты непрерывно отслеживают и собирают информацию

Топ 25 инструментов мониторинга серверов

В этой статье мы дадим нашим экспертам выбор из 25 лучших инструментов мониторинга серверов, которые помогут контролировать время безотказной работы вашего сайта и дать вашим пользователям лучший опыт, начиная с нашего собственного решения в Dotcom-Monitor. Узнайте, почему мониторинг серверов является неотъемлемой частью любой стратегии мониторинга.

Топ-20 синтетических инструментов мониторинга

Синтетический мониторинг позволяет командам круглосуточно отслеживать и измерять производительность веб-сайтов и веб-приложений со всех мыслимых точек зрения и получать оповещения до того, как проблемы начнут влиять на реальных пользователей. Вот наши лучшие выборы для синтетических инструментов мониторинга, ведущие с нашими собственными в Dotcom-Monitor.

Start Dotcom-Monitor for free today​

No Credit Card Required