travelping / ergw

erGW - Erlang implementations of GGSN or P-GW

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

I'm very much against this. I don't see why we need to change the metrics just because you insist on using a broken system to aggregate the metrics.

REJECTED

@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.