#jetty #micrometer
#jetty #микрометр
Вопрос:
В библиотеке Micrometer есть JettyConnectionMetrics
класс, который производит эти показатели (среди прочих):
# HELP jetty_connections_bytes_in_bytes Bytes received by tracked connections
# TYPE jetty_connections_bytes_in_bytes summary
jetty_connections_bytes_in_bytes_count 125.0
jetty_connections_bytes_in_bytes_sum 186955.0
# HELP jetty_connections_bytes_in_bytes_max Bytes received by tracked connections
# TYPE jetty_connections_bytes_in_bytes_max gauge
jetty_connections_bytes_in_bytes_max 1681.0
Что это на самом деле учитывает? Что здесь означает tracked?
Если я добавлю его к нашему (только одному) соединителю, будет ли он содержать все байты, полученные TCP-соединением?
Я прав, что он обновляется только при закрытии соединения, что может привести к задержке данных при возникновении сбоя между реальными клиентами и Jetty (с поддерживающими подключениями)?
Ответ №1:
Что это на самом деле учитывает?
Согласно коду этого класса, он измеряет следующие точки:
- Сообщения, полученные отслеживаемыми соединениями
- Сообщения, отправленные отслеживаемыми соединениями
- Байты, полученные отслеживаемыми соединениями
- Байты, отправленные отслеживаемыми соединениями
- Максимальное количество наблюдаемых подключений за скользящий 2-минутный интервал
- Текущее количество открытых подключений к Jetty
Что здесь означает tracked?
Поскольку JettyConnectionMetrics
это Jetty’s Connection.Listener
, при регистрации в a Connector
он будет отслеживать все open
close
события и , т. Е. Всякий раз, Когда на этом соединителе происходит событие ввода-вывода.
Если я добавлю его к нашему (только одному) соединителю, будет ли он содержать все байты, полученные TCP-соединением?
Да, если вы используете ServerConnector
, это основной соединитель для сервера Jetty по протоколу TCP / IP.
Я прав, что он обновляется только при закрытии соединения, что может привести к задержке данных при возникновении сбоя между реальными клиентами и Jetty (с поддерживающими подключениями)?
Да, вы правы, это обновляется только при закрытии соединения. В зависимости от того, насколько это важно для ваших показателей, вы можете рассмотреть возможность отключения keep-alive
соединений и всегда требовать, чтобы соединения закрывались (убедитесь, что вы понимаете компромиссы этого изменения).