Редактор запросов TestData
Вместо традиционного языка запросов источник данных TestData использует сценарии для генерации смоделированных данных. Каждый сценарий создаёт свой тип данных, подходящий для тестирования конкретных визуализаций, поведений или крайних случаев. TestData включает 30 сценариев, охватывающих временные ряды, журналы, трассировки, графы, потоковую передачу и имитацию ошибок.
Используйте сценарии, чтобы:
- Прототипировать дашборды без подключения к реальному источнику данных.
- Воспроизводить ошибки с контролируемыми, детерминированными данными, которые другие разработчики могут воспроизвести.
- Тестировать поведение панелей с такими крайними случаями, как пустые результаты, временные метки вне видимого диапазона или смешанные данные и ошибки.
- Проверять конвейеры алертинга с использованием предсказуемых шаблонов, которые срабатывают и разрешаются по известному расписанию.
- Смоделировать потоковую передачу, чтобы проверить, как панели обрабатывают обновления данных в реальном времени.
Чтобы построить запрос, выберите сценарий в раскрывающемся списке Scenario. Редактор запросов обновляется, показывая поля, специфичные для этого сценария. Нажмите Run queries или используйте сочетание клавиш для выполнения.
Note
Некоторые сценарии выполняются полностью в браузере (Streaming Client, Grafana Live, Grafana API, Steps, No Data Points). Эти сценарии не отправляют запросы на бэкенд, что означает, что их нельзя использовать с Grafana Alerting или в любом контексте, требующем серверного вычисления.
Справочник по сценариям
Сценарии организованы в следующие категории. Используйте таблицу ниже, чтобы найти подходящий сценарий для вашего случая использования.
Общие параметры запроса
Каждый сценарий отображает раскрывающийся список Scenario. Большинство сценариев также показывают поле Alias и, когда сценарий определяет значение по умолчанию, поле String Input. Некоторые сценарии предоставляют дополнительные общие элементы управления. Специфичные для сценария параметры появляются под этими полями.
Сценарии генерации данных
Эти сценарии создают данные временных рядов с настраиваемыми параметрами.
Random Walk
Генерирует данные временных рядов случайного блуждания. Это сценарий по умолчанию.
Random Walk Table
Генерирует данные случайного блуждания в табличном формате со столбцами Time, Value, Min, Max, Info и State. Столбец State использует поле enum со значениями Unknown, Up и Down. При включении withNil дополнительно включает нулевые значения.
Random Walk (with error)
Генерирует данные временных рядов случайного блуждания и также возвращает ошибку в ответе. Используйте это, чтобы тестировать, как панели обрабатывают ответы с данными, содержащими как данные, так и ошибки.
Predictable Pulse
Генерирует предсказуемую импульсную волну на основе абсолютного времени от эпохи, что делает её воспроизводимой между запусками.
Волна циклится с интервалом Step * (On Count + Off Count) секунд. Временные метки выравниваются равномерно по интервалу шага.
При значениях по умолчанию (Step=60, On Count=3, Off Count=3) волна завершает полный цикл каждые 6 минут. Значение «вкл» (2) удерживается для первых 3 точек данных, затем значение «выкл» (1) удерживается для следующих 3.
Predictable CSV Wave
Генерирует одну или несколько предсказуемых волн из значений, определённых в CSV. Каждая волна циклится через свои значения, разделённые запятыми, с фиксированным временным шагом.
Нажмите кнопку + в последней строке волны, чтобы добавить ещё одну волну. Нажмите кнопку - в любой другой строке, чтобы удалить её.
Например, чтобы создать две перекрывающиеся волны для сравнения:
- Волна 1: значения
0,1,2,3,4,5, Step60, Namerising - Волна 2: значения
5,4,3,2,1,0, Step60, Namefalling
Simulation
Запускает движок моделирования, который генерирует данные непрерывно. Simulation поддерживает потоковую передачу данных через Grafana Live.
USA generated data
Генерирует данные с измерениями штатов США. Полезно для тестирования визуализаций геокарт и многомерных данных.
Сценарии ручного ввода
Эти сценарии позволяют предоставлять собственные данные напрямую вместо их генерации.
CSV Content
Предоставляет текстовый редактор, где вы вставляете или вводите данные CSV напрямую. Первая строка рассматривается как заголовки. Используйте поле Drop percent, чтобы случайно исключить процент точек данных.
Например, введите следующее, чтобы создать временной ряд с двумя столбцами значений:
Time,Temperature,Humidity
2024-01-01 00:00:00,22.5,45
2024-01-01 01:00:00,21.8,48
2024-01-01 02:00:00,20.1,52
Steps
Предоставляет текстовую область CSV (тот же редактор, что и CSV Content) для определения данных ступенчатой функции. Содержимое по умолчанию — a, b, c. Этот сценарий обрабатывается полностью в браузере.
CSV File
Выбирает из набора встроенных файлов данных CSV. Используйте поле Drop percent, чтобы случайно исключить процент точек данных.
Доступные файлы:
flight_info_by_state.csvpopulation_by_state.csvgdp_per_capita.csvjs_libraries.csvohlc_dogecoin.csvweight_height.csvbrowser_marketshare.csvautomobiles.csv
CSV Metric Values
Генерирует данные временных рядов из значений, разделённых запятыми, введённых в поле String Input. Значения равномерно распределяются по выбранному диапазону времени. По умолчанию: 1,20,90,30,5,0.
Например, при значениях по умолчанию и 6-часовом диапазоне времени шесть значений (1, 20, 90, 30, 5, 0) распределяются по диапазону через равные интервалы.
Raw Frames
Предоставляет редактор JSON для определения data frame напрямую. Редактор принимает формат JSON data frame Grafana и включает помощники вставки для JSON панели и необработанных результатов запроса.
Load Apache Arrow Data
Загружает данные из полезной нагрузки Apache Arrow в кодировке base64, введённой в текстовую область String Input. Используйте это для тестирования отрисовки формата Arrow.
Table Static
Генерирует статическую таблицу с предопределёнными столбцами: Time, Message, Description и Value.
Сценарии тестирования визуализаций
Эти сценарии генерируют данные для тестирования конкретных типов визуализаций.
Logs
Генерирует смоделированные данные журналов со случайными уровнями журналов, ID контейнеров и именами хостов.
Node Graph
Генерирует данные для визуализации Node Graph.
Flame Graph
Генерирует данные для визуализации Flame Graph.
Trace
Генерирует смоделированные данные распределённой трассировки.
Annotations
Генерирует синтетические точки данных аннотаций. Эти аннотации создаются полностью в браузере и полезны для тестирования того, как панели отображают маркеры аннотаций и наложения. Они не запрашивают внешний источник и не сохраняют данные.
Дополнительную информацию об аннотациях в Grafana см. в разделе Аннотирование визуализаций.
Exponential heatmap bucket data
Генерирует данные тепловой карты с экспоненциально распределёнными границами корзин (1, 2, 4, 8, 16, …). Используйте это для тестирования панелей тепловых карт с экспоненциальными распределениями.
Linear heatmap bucket data
Генерирует данные тепловой карты с линейно распределёнными границами корзин (0, 10, 20, 30, …). Используйте это для тестирования панелей тепловых карт с линейными распределениями.
Сценарии потоковой передачи
Эти сценарии создают данные потоковой передачи в реальном времени. Данные обновляются непрерывно в браузере без необходимости ручного выполнения запроса.
Streaming Client
Генерирует данные потоковой передачи непосредственно из клиента браузера.
Дополнительные поля зависят от выбранного типа:
- Signal: Speed (ms), Spread, Noise, Bands.
- Logs, Traces, Watch: только Speed (ms).
- Fetch: URL удалённой конечной точки CSV для инкрементальной потоковой передачи.
Grafana Live
Подключается к каналу Grafana Live, который передаёт случайные данные с сервера.
Сценарии получения данных
Эти сценарии извлекают данные из внутренних конечных точек Grafana.
Grafana API
Извлекает данные из внутренних конечных точек API Grafana и возвращает результат как data frame. Этот сценарий выполняется в браузере.
Сценарии тестирования ошибок и крайних случаев
Эти сценарии помогают тестировать, как Grafana обрабатывает ошибки, пустые данные и медленные ответы.
Conditional Error
Выдаёт ошибку или данные в зависимости от полей String Input и Error type. Когда поле String Input пусто, сценарий запускает выбранный тип ошибки. Когда поле содержит значения CSV (по умолчанию: 1,20,90,30,5,0), оно возвращает данные временных рядов, как сценарий CSV Metric Values, независимо от типа ошибки.
Чтобы запустить ошибку, очистите поле String Input и выберите тип ошибки, который хотите протестировать.
Error with source
Возвращает ошибку с настраиваемой классификацией источника.
Используйте это, чтобы тестировать, как Grafana различает ошибки плагинов и ошибки нижестоящих сервисов в алертинге и обработке ошибок.
No Data Points
Возвращает пустой результат без точек данных. Используйте это, чтобы тестировать, как панели отображаются, когда данных нет.
Data points Outside Range
Возвращает одну точку данных с временной меткой на час раньше диапазона времени запроса. Используйте это, чтобы тестировать, как панели обрабатывают данные вне видимого диапазона.
Slow Query
Вводит настраиваемую задержку перед возвратом данных случайного блуждания. Задайте длительность задержки в поле String Input, используя синтаксис длительности Go (например, 5s, 1m, 500ms). По умолчанию: 5s.
Сценарии метаданных
Эти сценарии возвращают метаданные, а не данные временных рядов.
Query Metadata
Возвращает таблицу с метаданными запроса, включая имя пользователя текущего пользователя. Используйте это, чтобы убедиться, что информация о контексте запроса доступна.