параметров и показателей. Справочник разработчика
Измерение — это атрибут сеанса или обращения, который можно использовать для группировки данных.
В запросах к API размеры задаются в параметре Dimensions . Если вам нужно указать несколько параметров, разделите их запятыми.
Также можно сделать отчет без размеров; в этом случае подсчитывается общий результат.
Метрика — это числовое значение, основанное на атрибуте попадания или сеанса.
В запросах API метрики задаются в параметре metrics . Если вам нужно указать несколько показателей, разделите их запятыми.
, где можно было использовать ATTRIBUTIN (размерность ).

Глубина страницы — это значение, рассчитанное на основе числовых атрибутов сеансов (метрика ), соответствующее указанному измерению.
ОС на одной оси (размер),
0068и версия ОС на другой оси.

Подробнее о терминологии
Для лучшего понимания терминов «параметр» и «метрика» рассмотрим пример отчета Яндекс.Метрики по операционной системе:
| 4 Операционная система | Глубина страницы |
|---|---|
| Windows | 4,2 |
| IOS | 3,1 |
| Linux | 1,6 |
, где
Примечание.
Если вы знакомы с SQL, вы можете думать об измерениях как о столбцах, используемых для группировки, а о показателях — как о результатах, возвращаемых агрегатными функциями.
Например, приведенный выше отчет можно представить как запрос к гипотетической таблице сеансов:
ВЫБЕРИТЕ операционную систему, среднее (глубина) из посещений СГРУППИРОВАТЬ ПО операционной системе
Почему используется термин «измерение»?
В примере сеанс имеет один атрибут — операционную систему. Если мы добавим еще один атрибут (например, версию ОС):
| Operating system | OS version | Page depth |
|---|---|---|
| Windows | 7 | 3,1 |
| IOS | 6 | 3,1 |
| Windows | XP | 1,1 |
мы можем показать сеансы в двух измерениях:
Таким образом, каждый атрибут добавляет еще одно измерение.
Вы можете создать нужную структуру отчета, указав показатели и измерения в запросе API.
Была ли статья полезна?
Успокоение Clickhouse :: TheOrangeOne
Clickhouse — это механизм базы данных, ориентированный на столбцы, в основном предназначенный для аналитики. Он был разработан и развернут Яндексом в своем аналитическом предложении, но Plausible, мой любимый поставщик аналитики, использует его для хранения аналитических данных, так как он больше подходит для этого, чем PostgreSQL.
К сожалению, официальный докер-контейнер невероятно загружен. Как только Plausible запускается, Clickhouse загружает ЦП примерно до 10% и поддерживает запись в каталог базы данных со скоростью 30 МБ/с. Мои почасовые снимки ZFS занимают более 1 ГБ каждый! Сервер, на котором я запускаю Prausible, достаточно мощный, но даже он просто сумасшедший!
Сначала я подумал, что это ошибка в Plausible, так как она появлялась только во время работы Plausible.
Прежде всего, давайте быстро заглянем в каталог данных на предмет чего-нибудь очевидного:
$ df -hs clickhouse/ кликхаус 8.2G
#Глядя на данные
Глядя на структуру файловой системы clickhouse/ (хороший простой макет!), большая часть использования приходится на таблицы system.query_log и system.query_thread_log . Эти таблицы с соответствующими именами отвечают за регистрацию всех запросов, выполняемых Clickhouse, и для меня в них было более 20 миллионов строк, каждый ! После просмотра документов это включается для облегчения отладки. Для большинства людей вам на самом деле не нужны все эти данные, и они определенно не стоят компромиссов между огромным объемом использования диска по сравнению с фактическими хранимыми данными.
#Log file
Глядя на файл журнала Clickhouse ( /var/log/clickhouse/clickhouse-server.log ), он был невероятно подробным и выводил гораздо больше, чем нужно. Уровень журнала по умолчанию установлен на trace , что в основном означает, что регистрируется абсолютно все, даже больше, чем обычные журналы debug . Уровень журнала trace соответствует мантре помощи в отладке, но опять же не нужен в большинстве сред.
#Успокоение
Итак, учитывая, как ведет себя Clickhouse и регистрирует слишком много данных как в системных таблицах, так и в файлах журналов, как мы можем приглушить Clickhouse? Скорее всего, это дополнительная работа по ведению журналов как в таблицах, так и в файлах журналов, которая использует дополнительные ресурсы.
#Stop logging query
Первый шаг и, вероятно, тот, который имеет наибольшее значение, — полностью отключить ведение журнала запросов.
Это должно уменьшить количество циклов ЦП, затрачиваемых на сбор. Это делается с использованием переменных log_queries и log_query_threads в users.xml :
<яндекс>
<профили>
<по умолчанию>
0
0
по умолчанию>
профили>
#Reduce logging
Шаг 2 — уменьшить уровень журнала как для файлового регистратора, так и для любого другого ведения журнала таблицы, которое мы не можем полностью отключить. Это изменение внесено в config.xml . Я установил уровень warning , чтобы было очевидно, когда что-то не так, но все это попадает в оболочку, так что все в порядке. Все журналы таблицы полностью отключены.
<яндекс>
<регистратор>
<уровень>предупреждениеуровень>
<консоль>истинаконсоль>
регистратор>
Для упрощения отладки я также отправляю журналы в консоль с помощью , поэтому это можно увидеть с помощью .
В дополнение к уменьшению уровня журнала я переместил файлы журнала на монтирование tmpfs . Сначала я сделал это, чтобы уменьшить количество операций записи на диски, но в любом случае это все равно есть на всякий случай.
#Восстановить место на диске
Последний шаг — вернуть место на диске, потерянное из-за чрезмерно подробных журналов. Поскольку все было записано в таблицы, оно все еще существует. Это, вероятно, не сильно повлияет на производительность во время выполнения, но использование диска увеличилось с 8 ГБ до 200 МБ, что очень приятно!
- Войдите в оболочку Clickhouse:
docker-compose exec clickhouse bash - Сократите существующие журналы:
clickhouse-client -q "ВЫБЕРИТЕ имя ИЗ system.tables, ГДЕ имя КАК '%log%';" | xargs -I{} clickhouse-client -q "Система TRUNCATE TABLE.




