========= 39/3639/4
authorJuha Hyttinen <juha.hyttinen@nokia.com>
Fri, 8 May 2020 09:17:05 +0000 (12:17 +0300)
committerJuha Hyttinen <juha.hyttinen@nokia.com>
Fri, 8 May 2020 11:09:48 +0000 (14:09 +0300)
commit90f6dd45c9874dbfa8673fc1c0e12a3595951241
treef1d0736091581f36321da5e1b4810ba785f4059e
parentf619d03fbe1a5f4711f56bc973139a2094044066
=========
Added support for name prefix when creating group from vector

Example:
vect:=RegisterCounterVecGroup(
[]CounterOpts{{Name: "counter", Help: "counter"},},
[]string{"name", "event"},
"SUBSSYSTEM")

grp1:=GetCounterGroupFromVectsWithPrefix("event1_", []string{"name1", "event1"}, vect)
grp2:=GetCounterGroupFromVectsWithPrefix("event2_", []string{"name1", "event2"}, vect)
grp:=CombineCounterGroups(grp1,grp2)

grp["event1_counter"].Inc() -> increments "counter" (NAMESPACE_SUBSYSTEM_counter) with labels: "name=name1", "event=event1"
grp["event2_counter"].Inc() -> increments "counter" (NAMESPACE_SUBSYSTEM_counter) with labels: "name=name1", "event=event2"

=========
Added cache support for created metric groups

Example (uses prev example groups):

cacheid := "CACHEID"
entry := xapp.Metric.GroupCacheGet(cacheid)
if entry == nil {
xapp.Metric.GroupCacheAddCounters(cacheid, grp1)
xapp.Metric.GroupCacheAddCounters(cacheid, grp2)
entry = xapp.Metric.GroupCacheGet(cacheid)
}
entry.Counters["event1_counter"].Inc() -> increments "counter" (NAMESPACE_SUBSYSTEM_counter) with labels: "name=name1", "event=event1"
entry.Counters["event2_counter"].Inc() -> increments "counter" (NAMESPACE_SUBSYSTEM_counter) with labels: "name=name1", "event=event2"

Change-Id: Ic9b827d1dbf32a344302d7974457edf9411d2b78
Signed-off-by: Juha Hyttinen <juha.hyttinen@nokia.com>
pkg/xapp/metrics.go
pkg/xapp/metrics_test.go [new file with mode: 0644]