Skip to content

Возможности элемента данных "Скрипт"

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

Дополнительно можно указать необязательные параметры (в виде пар «имя-значение») и время ожидания.

Такой элемент данных может оказаться полезным в ситуациях, когда необходимо собрать данные, используя несколько шагов или сложную логику. Например, можно настроить элемент данных «Скрипт» таким образом, чтобы он выполнял два HTTP-запроса. В первом запросе данные будут получены, обработаны и переданы во второй запрос уже в изменённом виде.

Создание элемента данных Скрипт

При создании элемента данных необходимо выбрать тип "Скрипт" и заполнить следующие поля (Рисунок 1):

Параметр Описание
Ключ Введите уникальный ключ, который будет использоваться для идентификации элемента данных.
Параметры Укажите переменные, которые будут передаваться в скрипт, в виде пар «Имя — Значение». Пользовательские макросы поддерживаются.
Скрипт Вставьте код JavaScript в область, которая появляется при нажатии на поле с параметром . Этот код должен обеспечить логику для получения значения метрики. Код имеет доступ ко всем параметрам, может отправлять HTTP-запросы GET, POST, PUT и DELETE, а также управлять HTTP-заголовками и телом запроса.
Время ожидания Время ожидания выполнения JavaScript-кода составляет от 1 до 60 секунд (по умолчанию — 3 секунды). Если время ожидания превышено, возникает ошибка. Можно использовать суффиксы времени: m, s.

image

Рисунок 1 — Параметры для типа элемента данных "Скрипт"

Примеры

Ведение журнала

В журнале сервера Glaber создайте запись «Тест журнала». В ответ вы увидите значение элемента данных «1».

  1. Создайте элемент данных с типом "Script":
  2. В поле Скрипт введите:
Glaber.log(3, 'Log test');
return 1;

Сбор данных

Соберите содержимое с https://www.example.com/release_notes:

  1. Создайте элемент данных с типом "Script";
  2. В поле Скрипт введите:
var request = new HttpRequest();
return request.get("https://www.example.com/release_notes");