Все атрибуты тегового DSL — с однострочным описанием и указанием, где они разобраны
подробнее.
У тегов <compute> свои атрибуты (v, sep, as, width, fill, from, to,
size, pattern, default). Каждый принадлежит одному тегу и объясняется там, где
разобран этот тег, — см. справочник compute.
Окружение и конфигурация
| Атрибут | Что задаёт | См. |
|---|
version / v | Версия DSL, которую требует файл | Конфигурация |
count | Количество карточек | Детерминизм |
seed | Сид генератора случайных чисел (воспроизводимость) | Детерминизм |
local | Локаль для шаблонных данных — на <env> для всего запуска и на отдельном <gen type="template">, чтобы перебить её только для этой последовательности | Шаблоны |
inject | Свой маркер интерполяции | Вывод и форматирование |
mode | memory / disk — семейство движков; stream — легаси-псевдоним, форсирующий движок 2 | Большие объёмы |
engine | 1 / 2 / 3 — форсировать движок (продвинутое) | Большие объёмы |
comment | Произвольный комментарий | Конфигурация |
Последовательности и зависимости
| Атрибут | Что задаёт | См. |
|---|
name | На <sequence> — её имя. На <gen> — делает его полем, Имя.Поле. На <data> внутри последовательности — константное поле, единственное, которое не стоит ни одного розыгрыша | Последовательности |
parent | Фильтр по родителю Родитель.Значение | Иерархические зависимости |
uniq | Уникальная комбинация по всем строкам | Уникальные значения |
on / is | Субъект / ключ ветки для <switch> | Switch |
filter | На <gen type="pool">: из каких членов может выбирать эта строка | Согласованные записи |
of | На <gen type="running">: какую колонку накапливать. На <gen type="stat">: по какой колонке считать. На <gen type="date">: от какой колонки отсчитывать | Нарастающий итог, Статистика |
plus | На <gen type="date" of="…">: насколько далеко от той колонки — 7d, 3..10d, 1..3mo, -10..-3d; голое число означает дни | Интервал |
op | На <gen type="stat">: какая статистика — sum, mean, median, min, max, count или stddev | Статистика |
expr | На <gen type="formula">: арифметика, которой эта колонка является — записывается так же, как условие if= | Формула |
that | На <assert>: условие, которому обязан удовлетворять готовый запуск, на языке if= | Самопроверяющиеся конфиги |
says | На <assert>: фраза, которую получит читатель, если условие не сошлось | Самопроверяющиеся конфиги |
reset | На <gen type="running">: колонка, смена значения которой перезапускает итог | Нарастающий итог |
Значения генераторов
| Атрибут | Что задаёт | См. |
|---|
type | Какой генератор | Генераторы |
value | Основное значение генератора (зависит от типа) | Генераторы |
percent | Точное распределение значений | Текст |
accumulate | Заменить список repeat его нарастающим итогом, либо задать, как накапливает колонка running | Несколько значений в ячейке |
alphabet | Именованный Unicode-алфавит | Символы |
length | Длина / ширина вывода | Числа |
first_zero | Разрешить ведущий ноль | Числа |
weekdays | Какие дни недели оставляет обходимая ось дат: mon..fri, sun,wed | Дата |
step | Шаг счётчика или насколько сдвигается обходимая ось дат: 15m, 1h30m, 3mo | Счётчики, Дата |
regex_max_length | Ограничение длины для regex | Regex |
include / exclude | Оставить или выбросить значения из набора | Числа |
decimals | Знаков после запятой | Числа |
oldest / youngest | Возрастной диапазон для дня рождения | Даты |
format | Формат вывода даты | Даты |
from / to | Границы диапазона по отдельности | Даты |
precision | Шаг для диапазона с датой и временем | Даты |
range | Диапазон дат для date.range | Шаблоны |
Статистическая форма
| Атрибут | Что задаёт | См. |
|---|
distribution | Именованное распределение (normal, zipf, …) | Распределения |
min / max | Обрезать выпавшие значения диапазоном | Распределения |
missing | Доля строк, оставленных пустыми | Пропуски |
missing_as | Чем записывается пустая ячейка | Пропуски |
missing_when | Какие строки вообще могут опустеть (MAR / MNAR) | Пропуски |
anomaly | Доля строк, сделанных выбросами | Аномалии |
anomaly_factor | Насколько далеко отодвинут выброс | Аномалии |
anomaly_flag | Колонка-ответ, помечающая выбросы | Аномалии |
У каждого распределения свои параметры, и читаются они только тогда, когда
distribution= называет именно его. Кроме них любое распределение принимает
decimals, min и max. Каждый разобран, с гистограммой, в
руководстве по распределениям.
distribution= | Параметры | Что они значат |
|---|
normal | mean sd | Центр и разброс |
lognormal | meanlog sdlog | Центр и разброс логарифма — само значение скошено вправо |
exponential | rate | Событий за единицу времени; среднее равно 1/rate |
pareto | alpha xmin | Толщина хвоста и наименьшее возможное значение |
weibull | shape scale | shape меньше 1 — ранние отказы, больше 1 — износ; scale задаёт типичный срок |
poisson | lambda | Среднее число событий за интервал (потолок 700) |
zipf | n s | Сколько рангов и насколько круто они падают |
gamma | shape scale | Суммарное ожидание shape событий, каждое в среднем по scale |
beta | alpha beta | Тяга к 1 и к 0 — результат лежит между 0 и 1 |
Временные ряды
Pattern (рисунок как источник)
| Атрибут | Что задаёт | См. |
|---|
points | Пары x,y прямо в конфиге вместо файла | Pattern |
upper / lower | Две границы — коридор | Pattern |
mode | signal (траектория) / density (распределение) | Pattern |
y_range | min..max — вертикальный масштаб (обязателен) | Pattern |
fit | низ..верх — куда ложится рисунок из src | Pattern |
interp | linear / smooth / step между точками | Pattern |
spread | Превратить линию в туннель шириной ±N | Pattern |
ink_threshold | Насколько тёмный пиксель PNG считать краской | Pattern |
mode — это два разных атрибута с одним именем: на <env> он выбирает семейство
движков, на генераторе pattern — вопрос, который вы задаёте рисунку.
Файлы и CSV
| Атрибут | Что задаёт | См. |
|---|
src | Путь к файлу данных | Файлы |
column | Колонка CSV (имя или номер) | Файлы |
header | Пропустить первую строку CSV | Файлы |
delimiter | Разделитель CSV | Файлы |
row | Ключ связанной строки | Файлы |
weight | Колонка частоты для взвешенных строк | Связные данные |
read | "quantile" — читать файл как отсортированную выборку и попадать в любую её точку | Файл |
sample | "exact" — пройти это распределение равномерно, а не бросать жребий | Файл |
HTTP-сервис
| Атрибут | Что задаёт | См. |
|---|
src | Адрес сервиса (и путь к файлу, выше) | HTTP-сервис |
in | Последовательность, чьё значение шлётся | HTTP-сервис |
on_error | fail (по умолч.) / empty при отказе | HTTP-сервис |
timeout | Сколько секунд ждать ответ (по умолч. 30) | HTTP-сервис |
secret | Ключ, которым подписывается запрос — env:, file: или литерал | HTTP-сервис |
Вывод и форматирование