You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge pull request #4520 from esl/simplify-element-metrics
The main goal is to simplify and unify events for XMPP (XML) elements. The main benefit is that unified metrics become easier to understand, maintain, test and document.
Before, there would be pairs of events like c2s_element_in and xmpp_element_size_in. After, there is only one event: xmpp_element_in. The complete list is shown below:
c2s_element_in (labels: host_type) and xmpp_element_size_in (labels: connection_type=c2s) are merged to xmpp_element_in (labels: host_type, connection_type=c2s).
c2s_element_out (labels: host_type) and xmpp_element_size_out (labels: connection_type=c2s) are merged to xmpp_element_out (labels: host_type, connection_type=c2s).
s2s_element_in and xmpp_element_size_in (labels: connection_type=s2s) are merged to xmpp_element_in (labels: host_type, connection_type=s2s).
s2s_element_out and xmpp_element_size_out (labels: connection_type=s2s) are merged to xmpp_element_out (labels: host_type, connection_type=s2s).
component_element_in and xmpp_element_size_in (labels: connection_type=component) are merged to xmpp_element_in (labels: host_type="", connection_type=component).
component_element_out and xmpp_element_size_out (labels: connection_type=component) are merged to xmpp_element_out (labels: host_type="", connection_type=component).
Notes:
Ad 1, 2: c2s_element_* were missing if host type was unknown (e.g. in case of early stream errors). Now it is no longer the case.
Size-related events and all s2s/component events didn't include host types. Now they do if host type is known.
If host type is unknown, it is set to an empty binary in the labels. Prometheus sees this as an empty label value, and allows to e.g. display graphs of all events without host types (useful for debugging; I tested this manually). For exometer, we just put global as the prefix in such cases.
Docs are updated to describe the new metrics. Some mistakes in the docs are corrected as well.
Tests are updated to check the new metrics. Some mistakes in the tests are corrected as well.
0 commit comments