Add _total counter for path metrics
mgumz opened this issue · comments
Path metrics exposed in the prometheus format are counted per peer IP (see 1). However, we also need a total counter. Usually this would be done via labels or tags. Since that would require a substantial effort: Please add a simple _total counter to the path metrics.
Example given:
path.<SocketName>.<PeerIP>.contexts
In addition, provide path.<SocketName>.contexts.total
(so it yields path_<SocketName>_contexts_total
in prometheus)
Also, path.<SocketName>.<PeerIP>.rx.v1.create_pdp_context_request
and friends exists. In addition, path.<SocketName>.rx.v1.create_pdp_context_requests.total
etc.
Required branches: master and stable/1.x
@mgumz Just for my understanding and curiosity, can you explain what's the big deal breaker here with labels/tags and what's meant with substantial effort?
ho much such peers exists? Do we speak about peers between i.e. SGW and PGW. This should be in the range of max. hundreds. This is a range a label would still scale? If we speak about ClientIP or PDP Contexts which easily become hundreds of thousands or millions labels not scale anymore IMHO.
@GalaxyGorilla "substantial effort" is to create a mapping system, which transforms the "name" of an exometer-metric (which consists of "path"-elements) to something which contains labels .. eg, towards Prometheus. The actual use case for this "enhancement" was to sum up existing metrics into one aggregate and expose that as an "all" metric. By looking at the code one could achieve this by just adding 2-3 lines of code and counting a dedicated "all" metric. This is really a minor way to achieve the short term goal compared to providing a mapping system.
As a workaround, https://www.robustperception.io/extracting-labels-from-legacy-metric-names/ comes in handy.
@hwinkel context is peerings between SGW / PGW.