<?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%98%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8_%D0%B8%D0%B7_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F</id>
	<title>Извлечение метрики из событий пользователя - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%98%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8_%D0%B8%D0%B7_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%98%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8_%D0%B8%D0%B7_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;action=history"/>
	<updated>2026-09-16T14:04:54Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%98%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8_%D0%B8%D0%B7_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=6608&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Извлечение метрики из событий пользователя =  &#039;&#039;&#039;OpenPipeline&#039;&#039;&#039; упрощает преобразование пользовательских событий в пользовательские метрики, предоставляя возможность анализировать закономерности, влияющие на ваши цели, в блокнотах и дашбордах, обеспечива...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%98%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8_%D0%B8%D0%B7_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=6608&amp;oldid=prev"/>
		<updated>2026-08-19T18:23:00Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Извлечение метрики из событий пользователя =  &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039; упрощает преобразование пользовательских событий в пользовательские метрики, предоставляя возможность анализировать закономерности, влияющие на ваши цели, в блокнотах и дашбордах, обеспечива...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Извлечение метрики из событий пользователя =&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;
== Пример сценария ==&lt;br /&gt;
&lt;br /&gt;
В этом уроке мы будем использовать демонстрационное приложение Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;easyTravel&amp;#039;&amp;#039;&amp;#039; в качестве примера. &amp;#039;&amp;#039;&amp;#039;easyTravel&amp;#039;&amp;#039;&amp;#039; отображает список доступных маршрутов, и когда пользователь выбирает маршрут, отображаются его подробные сведения.&lt;br /&gt;
&lt;br /&gt;
Приложение использует &amp;#039;&amp;#039;&amp;#039;JavaScript&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;easytravel&amp;#039;&amp;#039;&amp;#039;. Каждый раз, когда пользователь переходит с одной страницы на другую — например, с главной страницы на определенный этап — регистрируется событие навигации.&lt;br /&gt;
&lt;br /&gt;
События навигации предоставляют информацию, необходимую для анализа количества просмотров по каждому маршруту. Каждый маршрут имеет уникальный идентификатор. При переходе к определенному маршруту путь &amp;#039;&amp;#039;&amp;#039;URL&amp;#039;&amp;#039;&amp;#039; обновляется, включая этот идентификатор маршрута — например, &amp;lt;code&amp;gt;/easytravel/journeys/24859438&amp;lt;/code&amp;gt;. Это значение фиксируется в поле &amp;lt;code&amp;gt;view.url.path&amp;lt;/code&amp;gt; события навигации.&lt;br /&gt;
&lt;br /&gt;
Таким образом, вы можете проанализировать количество просмотров за одно путешествие, выполнив следующий &amp;#039;&amp;#039;&amp;#039;DQL&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 matchesPhrase(frontend.name, &amp;quot;easytravel&amp;quot;) AND&lt;br /&gt;
  characteristics.has_navigation == true AND&lt;br /&gt;
  matchesPhrase(view.url.path, &amp;quot;/easytravel/journeys/*&amp;quot;) AND&lt;br /&gt;
  not matchesPhrase(view.url.path, &amp;quot;*book&amp;quot;)&lt;br /&gt;
| parse view.url.path, &amp;quot;&amp;#039;/&amp;#039;LD&amp;#039;/&amp;#039;LD&amp;#039;/&amp;#039;LD:journey_id&amp;quot;&lt;br /&gt;
| summarize by: {journey_id}, count()&lt;br /&gt;
| sort `count()` desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
=== Предварительные знания ===&lt;br /&gt;
&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;
Убедитесь, что у вас есть права доступа, описанные в разделе «Права доступа RUM».&lt;br /&gt;
&lt;br /&gt;
== Инструкция ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Создайте конвейер для анализа и извлечения метрик ===&lt;br /&gt;
&lt;br /&gt;
# Перейдите в &amp;#039;&amp;#039;&amp;#039;Настройки&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Обработка и контекстуализация&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Пользовательские события&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Конвейеры&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Чтобы создать новый конвейер, выберите &amp;#039;&amp;#039;&amp;#039;Конвейер&amp;#039;&amp;#039;&amp;#039; и введите имя (например, &amp;lt;code&amp;gt;easyTravel&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Чтобы настроить вывод идентификатора маршрута в отдельное поле, перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Обработка&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; и определите обработчик, введя:&lt;br /&gt;
#* Описательное название (например, &amp;lt;code&amp;gt;Add journey_id&amp;lt;/code&amp;gt;).&lt;br /&gt;
#* Условие соответствия. В нашем примере условием соответствия является:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
characteristics.has_navigation == true AND&lt;br /&gt;
matchesPhrase(view.url.path, &amp;quot;/easytravel/journeys/*&amp;quot;) AND&lt;br /&gt;
not matchesPhrase(view.url.path, &amp;quot;*book&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* Определение процессора. В нашем примере определение процессора выглядит следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
parse view.url.path, &amp;quot;&amp;#039;/&amp;#039;LD&amp;#039;/&amp;#039;LD&amp;#039;/&amp;#039;LD:journey_id&amp;quot;&lt;br /&gt;
| fieldsAdd journey_id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Для настройки извлечения метрик перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Извлечение метрик&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Метрика счетчика&amp;#039;&amp;#039;&amp;#039; и укажите обработчик, введя:&lt;br /&gt;
#* Описательное название (например, &amp;lt;code&amp;gt;Viewed journeys&amp;lt;/code&amp;gt;).&lt;br /&gt;
#* Условие соответствия (&amp;lt;code&amp;gt;isNotNull(journey_id)&amp;lt;/code&amp;gt;).&lt;br /&gt;
#* Ключ метрики (&amp;lt;code&amp;gt;easytravel.journey_view_count&amp;lt;/code&amp;gt;).&lt;br /&gt;
#* Метрический размер. В разделе &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;lt;code&amp;gt;journey_id&amp;lt;/code&amp;gt;) и целевое поле (&amp;lt;code&amp;gt;journey_id&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Выберите &amp;#039;&amp;#039;&amp;#039;Сохранить&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== 2. Передача данных в конвейер ===&lt;br /&gt;
&lt;br /&gt;
В &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039; перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Динамическая маршрутизация&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Динамический маршрут&amp;#039;&amp;#039;&amp;#039; и укажите:&lt;br /&gt;
&lt;br /&gt;
* Описательное название (например, &amp;lt;code&amp;gt;easyTravel route&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Условие соответствия. В нашем примере условием соответствия является:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
matchesValue(frontend.name, &amp;quot;easytravel&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Конвейер обработки, содержащий инструкции по обработке (&amp;lt;code&amp;gt;easyTravel&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Выберите &amp;#039;&amp;#039;&amp;#039;Сохранить&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
Вы успешно создали конвейер для анализа событий пользователя и извлечения метрики. Теперь вы можете перейти в &amp;#039;&amp;#039;&amp;#039;Блокноты&amp;#039;&amp;#039;&amp;#039; и просмотреть его, например, используя следующий запрос:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
timeseries count = sum(easytravel.journey_view_count), by: {journey_id}, interval: 3h&lt;br /&gt;
| sort arraysum(count) desc&lt;br /&gt;
| limit 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пользовательская метрика, извлеченная из событий пользователя, отображает наиболее просматриваемые маршруты в &amp;#039;&amp;#039;&amp;#039;easyTravel&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Связанные темы ==&lt;br /&gt;
&lt;br /&gt;
* Язык запросов Ключ-АСТРОМ&lt;br /&gt;
* Обработка в &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>