Инструкция InfluxQL, которая отбрасывает промежуточные результаты с одинаковым значением - PullRequest
0 голосов
/ 10 апреля 2020

Как сказано в заголовке, я хочу сделать Influx-Query, который отбрасывает те же значения (используя его в графане).

Почему / Причина: я храню заряд батареи своего смартфона в InfluxDB и хочу чтобы получить хороший график. Приложение, которое я использую ( Presence Publisher ), сообщает о батарее каждые 15 минут по умолчанию, и мне нравится это значение. Тем не менее, на графике обычно примерно в 2-3 раза больше того же процента, что делает график странным при небольшом увеличении (более 2 дней).

graph_1

Устав прост: SELECT "value" FROM "message" WHERE ("topic" = 'stat/v30/battery')

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

Рассмотрим пример данных .

1586450980955582976 59
1586451937840224000 58
1586453978407155968 58
1586454886435987968 57
1586455897989592064 57
1586456865317914112 57
1586457847931629824 57
1586458786238054144 56
1586459736879534848 56
1586460765474078976 56
1586461740906444032 55
1586462641792514048 55
1586463542563851008 55
1586464478005814016 55
1586465378735992832 55
1586466281849373184 54
1586467189054253056 54
1586468104028728064 54
1586469004696549888 54
1586469971688126976 53
1586470872417288192 53
1586471797152177152 53

Это необработанные данные некоторых данных на графике. Я в основном хочу сбросить либо:

  • Все результаты того же результата, кроме last того же следующего значения enter image description here
  • Все результаты с одинаковым результатом, кроме first с таким же следующим значением enter image description here

Как видите, результирующий график будет намного более сглаживает стоимость некоторой точности, с которой я в порядке (черт, интервал колеблется от 15 (идеальный) до 35 (худший) минут). Однако из-за флуктуации я не хочу использовать фиксированные временные интервалы .

Использование отличных также не сработает, поскольку при зарядке смартфона график, скорее всего, сломается.

(мне в данный момент не нужен мой смартфон, но я не могу включить его из-за некоторых обязательных приложений (* кашель * whatsapp * кашель *). Я создал себе установку, которая будет автоматически поддерживать зарядку телефона между 35% и 65%, так что я не перегружаю аккумулятор и не нуждаюсь в его обслуживании. Мониторинг просто для удовольствия, но заставил меня использовать InfluxDB. Ранее я немного выполнил PromQL.)

TL; DR:

Я хочу превратить первый график в один из следующих (= фильтрация точек данных для получения синей линии). Без использования фиксированных временных интервалов.

...