<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DQL</id>
	<title>Отслеживание производительности веб-сайта с помощью DQL - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DQL"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9E%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DQL&amp;action=history"/>
	<updated>2026-09-16T14:08:08Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9E%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DQL&amp;diff=6611&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Отслеживание производительности веб-сайта с помощью DQL =  &#039;&#039;&#039;DQL&#039;&#039;&#039; предоставляет прямой доступ к пользовательским событиям и встроенным метрикам, которые собирает &#039;&#039;&#039;RUM&#039;&#039;&#039;. Используйте его, когда вам нужно выйти за рамки того, что показывают &#039;&#039;&#039;Ключевые пока...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9E%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DQL&amp;diff=6611&amp;oldid=prev"/>
		<updated>2026-08-19T18:26:50Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Отслеживание производительности веб-сайта с помощью DQL =  &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; предоставляет прямой доступ к пользовательским событиям и встроенным метрикам, которые собирает &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039;. Используйте его, когда вам нужно выйти за рамки того, что показывают &amp;#039;&amp;#039;&amp;#039;Ключевые пока...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Отслеживание производительности веб-сайта с помощью DQL =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; предоставляет прямой доступ к пользовательским событиям и встроенным метрикам, которые собирает &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039;. Используйте его, когда вам нужно выйти за рамки того, что показывают &amp;#039;&amp;#039;&amp;#039;Ключевые показатели опыта&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Инспектор ошибок&amp;#039;&amp;#039;&amp;#039; по умолчанию — например, чтобы сегментировать &amp;#039;&amp;#039;&amp;#039;Core Web Vitals&amp;#039;&amp;#039;&amp;#039; по пользовательскому параметру, отслеживать тенденции загрузки страниц в разных развертываниях или исследовать медленные запросы на всех ваших фронтендах.&lt;br /&gt;
&lt;br /&gt;
Выполните приведенные ниже запросы в блокнотах для оперативного анализа и создания дашбордов, или преобразуйте любой из них в пользовательскую метрику с помощью &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Основные показатели веб-технологий ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039; собирает основные веб-данные как на страницах, так и в представлениях. &amp;#039;&amp;#039;&amp;#039;Google&amp;#039;&amp;#039;&amp;#039; рекомендует анализировать их на 75-м процентиле данных поля, чтобы оценить, соответствуют ли ваши страницы пороговым значениям «Хорошо», «Требует улучшения» или «Плохо». Приведенные ниже запросы используют сводные данные страниц, которые соответствуют спецификации &amp;#039;&amp;#039;&amp;#039;Google&amp;#039;&amp;#039;&amp;#039; для страниц и встроенным метрикам.&lt;br /&gt;
&lt;br /&gt;
=== Largest Contentful Paint (LCP) ===&lt;br /&gt;
&lt;br /&gt;
Показатель &amp;#039;&amp;#039;&amp;#039;LCP&amp;#039;&amp;#039;&amp;#039; измеряет время, необходимое для отображения самого крупного видимого элемента контента — например, главного изображения, заголовка или текстового блока. Рост значений может указывать на то, что пользователи дольше ждут появления контента.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries LCP = percentile(dt.frontend.web.page.largest_contentful_paint, 75)&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие страницы имеют самый высокий показатель &amp;#039;&amp;#039;&amp;#039;LCP&amp;#039;&amp;#039;&amp;#039;, используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_page_summary&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| filter isNotNull(web_vitals.largest_contentful_paint)&lt;br /&gt;
| summarize LCP = percentile(web_vitals.largest_contentful_paint, 75), by: {page.name}&lt;br /&gt;
| sort LCP desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Взаимодействие с Next Paint (INP) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;INP&amp;#039;&amp;#039;&amp;#039; измеряет задержку между взаимодействием пользователя — например, щелчком мыши, касанием или нажатием клавиши — и следующим визуальным обновлением. Высокие значения могут указывать на то, что пользовательский интерфейс работает медленно, даже если первоначальная загрузка страницы была быстрой.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries INP = percentile(dt.frontend.web.page.interaction_to_next_paint, 75)&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие страницы имеют наихудшую отзывчивость при взаимодействии с пользователем, используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_page_summary&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| filter isNotNull(web_vitals.interaction_to_next_paint)&lt;br /&gt;
| summarize INP = percentile(web_vitals.interaction_to_next_paint, 75), by: {page.name}&lt;br /&gt;
| sort INP desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Накопительное изменение компоновки (CLS) ===&lt;br /&gt;
&lt;br /&gt;
Показатель &amp;#039;&amp;#039;&amp;#039;CLS&amp;#039;&amp;#039;&amp;#039; количественно оценивает, насколько неожиданно изменяется расположение элементов на странице в течение всего её жизненного цикла. Высокие значения означают, что элементы неожиданно меняют своё положение, что может привести к случайным кликам или дезориентирующему восприятию текста.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries CLS = percentile(dt.frontend.web.page.cumulative_layout_shift, 75)&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
| fieldsAdd CLS = CLS[] * 0.0001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Показатель &amp;#039;&amp;#039;&amp;#039;CLS&amp;#039;&amp;#039;&amp;#039; хранится в виде значения типа &amp;lt;code&amp;gt;long&amp;lt;/code&amp;gt;, масштабированного на 10 000. Умножение на &amp;lt;code&amp;gt;0.0001&amp;lt;/code&amp;gt; преобразует его обратно в стандартный балл от 0 до 1.&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие страницы обладают наихудшей визуальной стабильностью, используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_page_summary&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| filter isNotNull(web_vitals.cumulative_layout_shift)&lt;br /&gt;
| summarize CLS = percentile(web_vitals.cumulative_layout_shift, 75), by: {page.name}&lt;br /&gt;
| sort CLS desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Производительность загрузки страницы ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039; собирает данные о времени загрузки страниц из API &amp;#039;&amp;#039;&amp;#039;W3C Navigation Timing&amp;#039;&amp;#039;&amp;#039; в виде встроенных метрик и полей событий навигации. Используйте приведенные ниже запросы для мониторинга общей продолжительности загрузки страницы и скорости отклика сервера на всех ваших фронтендах.&lt;br /&gt;
&lt;br /&gt;
=== Время загрузки страницы ===&lt;br /&gt;
&lt;br /&gt;
Показатель «Завершение события загрузки» измеряет время от начала навигации до завершения события загрузки браузера. Отслеживание значений во времени помогает выявлять регрессии, вызванные новыми развертываниями, сторонними скриптами или изменениями инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries load_event_end = percentile(dt.frontend.web.navigation.load_event_end, 75)&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие страницы загружаются дольше всего, используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_w3c_navigation_timings&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| summarize load_event_end = percentile(performance.load_event_end, 75), by: {page.name}&lt;br /&gt;
| sort load_event_end desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Время до первого байта (TTFB) ===&lt;br /&gt;
&lt;br /&gt;
Показатель &amp;#039;&amp;#039;&amp;#039;TTFB&amp;#039;&amp;#039;&amp;#039; отражает скорость ответа вашего сервера. Высокий &amp;#039;&amp;#039;&amp;#039;TTFB&amp;#039;&amp;#039;&amp;#039; часто указывает на проблемы на стороне сервера или &amp;#039;&amp;#039;&amp;#039;CDN&amp;#039;&amp;#039;&amp;#039;, не связанные с кодом вашего фронтенда.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries TTFB = percentile(dt.frontend.web.navigation.time_to_first_byte, 75)&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие страницы имеют наибольшее время до первого байта (&amp;#039;&amp;#039;&amp;#039;TTFB&amp;#039;&amp;#039;&amp;#039;), используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_w3c_navigation_timings&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| filter isNotNull(web_vitals.time_to_first_byte)&lt;br /&gt;
| summarize TTFB = percentile(web_vitals.time_to_first_byte, 75), by: {page.name}&lt;br /&gt;
| sort TTFB desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Производительность ресурсов и запросов ==&lt;br /&gt;
&lt;br /&gt;
В событиях пользователя регистрируются запросы, включающие вызовы &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Fetch&amp;#039;&amp;#039;&amp;#039;, выполняемые во время загрузки страницы и взаимодействия пользователя с ней. Следующие запросы помогут вам выявить медленные или неработающие запросы от сторонних и собственных сервисов.&lt;br /&gt;
&lt;br /&gt;
=== Самые медленные запросы по продолжительности ===&lt;br /&gt;
&lt;br /&gt;
Медленные запросы &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Fetch&amp;#039;&amp;#039;&amp;#039; могут ухудшить воспринимаемую производительность даже после загрузки страницы. Отслеживание длительности запросов во времени помогает выявлять замедления работы бэкенда или сторонних сервисов до того, как они повлияют на пользовательский опыт.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries request_duration = percentile(dt.frontend.request.duration, 75)&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие &amp;#039;&amp;#039;&amp;#039;URL&amp;#039;&amp;#039;&amp;#039;-адреса работают медленнее всего, используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_request&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| filter isNotNull(url.full)&lt;br /&gt;
| summarize {&lt;br /&gt;
    request_count = count(),&lt;br /&gt;
    duration_p75 = percentile(duration, 75),&lt;br /&gt;
    error_count = countIf(http.response.status_code &amp;lt; 99 OR http.response.status_code &amp;gt;= 400)&lt;br /&gt;
  }, by: {url.full}&lt;br /&gt;
| sort duration_p75 desc&lt;br /&gt;
| limit 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неудачные запросы по коду состояния ===&lt;br /&gt;
&lt;br /&gt;
Приведенный ниже запрос создает временной ряд количества запросов с разбивкой по классам кодов состояния, что полезно для отслеживания тенденций частоты ошибок с течением времени.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries {&lt;br /&gt;
    requests_2xx = sum(dt.frontend.request.count, filter: http.response.status_code_class == &amp;quot;2xx&amp;quot;),&lt;br /&gt;
    requests_4xx = sum(dt.frontend.request.count, filter: http.response.status_code_class == &amp;quot;4xx&amp;quot;),&lt;br /&gt;
    requests_5xx = sum(dt.frontend.request.count, filter: http.response.status_code_class == &amp;quot;5xx&amp;quot;)&lt;br /&gt;
  }&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие &amp;#039;&amp;#039;&amp;#039;URL&amp;#039;&amp;#039;&amp;#039;-адреса не работают, используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_request&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| filter http.response.status_code &amp;lt; 99 OR http.response.status_code &amp;gt;= 400&lt;br /&gt;
| summarize count = count(), by: {url.full, http.response.status_code}&lt;br /&gt;
| sort count desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Анализ ошибок ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039; отслеживает несколько типов ошибок в веб-среде: исключения &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;, неудачные запросы (ответы 4xx и 5xx) и нарушения &amp;#039;&amp;#039;&amp;#039;CSP&amp;#039;&amp;#039;&amp;#039;. Приведенные ниже запросы помогут вам отслеживать тенденции ошибок и выявлять наиболее серьезные ошибки, которые следует исправлять в первую очередь.&lt;br /&gt;
&lt;br /&gt;
=== Ошибки по типу ===&lt;br /&gt;
&lt;br /&gt;
Отслеживание количества ошибок по типам помогает выявлять внезапные всплески, вызванные некорректными развертываниями, удаленными конечными точками API или вновь возникшими регрессиями.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries errors = sum(dt.frontend.error.count), by: {error.type}&lt;br /&gt;
//, filter: frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтр по конкретному интерфейсу&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Исключения JavaScript ===&lt;br /&gt;
&lt;br /&gt;
Исключения &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; могут указывать на ошибки в коде вашего фронтенда или несовместимость с определенными браузерами. Отслеживание их во времени помогает сопоставить всплески исключений с развертываниями или обновлениями браузеров.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_exception&lt;br /&gt;
| filter dt.rum.agent.type == &amp;quot;javascript&amp;quot;&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| makeTimeseries count = count()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы определить, какие исключения возникают чаще всего и на каких страницах, используйте следующий запрос.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch user.events&lt;br /&gt;
| filter characteristics.has_exception&lt;br /&gt;
| filter dt.rum.agent.type == &amp;quot;javascript&amp;quot;&lt;br /&gt;
// | filter frontend.name == &amp;quot;FRONTEND-NAME&amp;quot; // Необязательно: фильтрация по конкретному интерфейсу  &lt;br /&gt;
| summarize count = count(), by: {exception.message, page.name}&lt;br /&gt;
| sort count desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Связанные темы ==&lt;br /&gt;
&lt;br /&gt;
* Встроенные метрики &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Извлечение метрики из событий пользователя&lt;br /&gt;
* Анализ поведения пользователей с помощью &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>