-
Notifications
You must be signed in to change notification settings - Fork 30
Версия 3.0 и плагин xlog.py #166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Пункт:
это не расширение! Это неверное вычисление/отображение лага репликации. |
Добрый день! Спасибо за подержку нашего проекта. 🙂 |
Спасибо |
Изменения добавлены в новый релиз 3.1.0. |
Спасибо, буду смотреть |
Вышла версия 3.0, в ней был доработан плагин xlog.py
Мои замечания и предложения:
В коде плагина используется следующий алгоритм для идентификации инстансов
Однако, pid меняется при рестарте, и таким образом, у нас будут появляться время от времени куча метрик :) и будет нарушаться история
Может быть лучше опираться на настройку cluster_name ?
Это удобный способ именовать инстансы и таким образом при рестартах ключи метрик не будут "убегать" :)
в коде плагина xlog.pay есть код:
Здесь вычисляется общий лаг репликации как:
pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn)
данное число является конечным значением лага в байтах и его нужно показать как есть. Вычислять разницу с предыдущим значением нельзя!
Нужно удалить
, self.DELTA_SPEED
. Удалить нужно в двух ветках, для версии старше 10 и младше.Соответственно, в
def discovery_rules
предлагаю заменить в наименованиях метрикиDelta of total lag
наTotal lag in bytes
и дополнительно добавить в описание метрики указание, что метрика:{'key': self.right_type(self.key_total_lag, var_discovery="{#APPLICATION_NAME},"),
представляем собой байты:
Предлагаю уйти от столь уникального способа измерения лага репликации как трансляции метки даты времени с мастера на реплику и сравнении её со временем на реплике.
Проблемы хорошо описаны здесь: смотри issue #107
Предлагаю изменить код функции
FUNCTION mamonsu.timestamp_get()
это позволит в случае совпадения проигранного и полученного lsn показывать 0, в другом же варианте просто показываем разницу между текущим временем и временем проигранной транзакции
The text was updated successfully, but these errors were encountered: