Spec-Zone.ru › OpenTSDB

Даты и время

OpenTSDB поддерживает множество форматов дат и времени при запросе данных. Следующие форматы поддерживаются в запросах, отправленных через графический интерфейс, инструмент CliQuery или API HTTP. Каждый запрос требует начального времени и необязательного конечного времени. Если конечное время не указано, будет использовано текущее время на системе, на которой работает TSD.

Относительное время

Если вам не известна точная временная метка для запроса, вы можете указать время в прошлом относительно времени на системе, на которой работает TSD. Относительное время следует формату <amount><time unit>-ago, где <amount> — это число единиц времени, а <time unit> — единица времени, например, часы, дни и т. д. Например, если мы укажем начальное время 1h-ago, а конечное время опустим, наш запрос вернёт данные, начиная с 1 часа назад до текущего времени. Возможные единицы времени включают:

  • ms — Миллисекунды
  • s — Секунды
  • m — Минуты
  • h — Часы
  • d — Дни (24 часа)
  • w — Недели (7 дней)
  • n — Месяцы (30 дней)
  • y — Годы (365 дней)

Примечание

Относительное время не учитывает високосные секунды, високосные годы или часовые пояса. Оно просто вычисляет количество секунд в прошлом от текущего времени.

Абсолютное время Unix

Внутри все данные связаны с временной меткой в формате Unix (или POSIX). Временные метки Unix определяются как количество секунд, прошедших с 1 января 1970 года в 00:00:00 по UTC. Временные метки представлены положительным целым числом, например, 1364410924, представляющим ISO 8601:2013-03-27T19:02:04Z. Поскольку вызовы для хранения данных в OpenTSDB требуют временной метки Unix, имеет смысл поддерживать этот формат в запросах. Таким образом, вы можете указать целое число для начального или конечного времени в запросе.

Запросы, использующие временные метки Unix, также могут поддерживать точность до миллисекунд, просто добавив три цифры. Например, указание начального времени 1364410924000 и конечного времени 1364410924250 вернёт данные в окне длительностью 250 миллисекунд. Временные метки с миллисекундами также могут быть предоставлены с точкой, разделяющей секунды и миллисекунды, как в 1364410924.250. Любые целые числа с 13 (или 14) символами будут обрабатываться как временные метки с миллисекундами. Любые значения с 10 и менее символами представляют секунды. Миллисекунды могут быть указаны только с точностью до 3 цифр. Если ваш инструмент выводит более 3 цифр, вы должны обрезать или округлить значение.

Абсолютное отформатированное время

Так как вычисление временной метки Unix в уме достаточно сложно, OpenTSDB также поддерживает удобочитаемые абсолютные даты и время. Поддерживаемые форматы включают:

  • yyyy/MM/dd-HH:mm:ss
  • yyyy/MM/dd HH:mm:ss
  • yyyy/MM/dd-HH:mm
  • yyyy/MM/dd HH:mm
  • yyyy/MM/dd

yyyy представляет год как четырёхзначное значение, например 2013. MM представляет месяц года, начиная с 01 для января до 12 для декабря. dd представляет день месяца, начиная с 01. HH представляет час в 24-часовом формате, начиная с 00 до 23. mm представляет минуты, начиная с 00 до 59, а ss представляет секунды, начиная с 00 до 59. Все месяцы, дни, часы, минуты и секунды, имеющие одну цифру, должны предваряться нулём, например, 5-й день месяца должен быть указан как 05. При указании даты без времени система будет предполагать полночь данного дня.

Примеры включают 2013/01/23-12:50:42 или 2013/01/23. Отформатированное время преобразуется из часового пояса по умолчанию хоста, на котором работает TSD, в UTC. Запросы API HTTP могут принимать пользовательский часовой пояс для переопределения локального пояса.

Примечание

При использовании инструмента CliQuery необходимо использовать формат, разделяющий дату и время дефисом. Это связано с тем, что командная строка разделяет по пробелам, поэтому если вы вставите пробел во временную метку, она не сможет корректно разобрать и выполнить запрос.

Часовые пояса

При преобразовании удобочитаемых временных меток OpenTSDB будет преобразовывать их в UTC из часового пояса, настроенного на системе, на которой работает TSD. Хотя многие серверы настроены на UTC, и мы рекомендуем, чтобы все системы, на которых работает OpenTSDB, использовали UTC, иногда используется локальный часовой пояс.

Запросы через строку запроса к API HTTP могут указать параметр tz со строкой идентификации часового пояса в формате, применимом к настройкам локализации системы, на которой работает TSD. Например, мы могли бы указать tz=America/Los_Angeles для преобразования нашей временной метки из местного времени Лос-Анджелеса в UTC.

В качестве альтернативы, если вы не можете изменить часовой пояс системы, вы можете предоставить переопределение через файл конфигурации свойством tsd.core.timezone.

© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/user_guide/query/dates.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API