Что учитывается в JettyConnectionMetrics?

#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 соединений и всегда требовать, чтобы соединения закрывались (убедитесь, что вы понимаете компромиссы этого изменения).