Modified prometehus opts in stats

This commit is contained in:
porosnicuadrian
2022-01-05 08:29:51 +02:00
committed by Dan Christian Bogos
parent 58acd2ee30
commit 40c6b6ac29
6 changed files with 20 additions and 20 deletions

View File

@@ -187,7 +187,7 @@ func newCGRConfig(config []byte) (cfg *CGRConfig, err error) {
ProfileIDs: []*utils.DynamicStringSliceOpt{},
ProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
RoundingDecimals: []*utils.DynamicIntOpt{},
PrometheusMetrics: []*utils.DynamicStringSliceOpt{},
PrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
}},
thresholdSCfg: &ThresholdSCfg{Opts: &ThresholdsOpts{
ProfileIDs: []*utils.DynamicStringSliceOpt{},

View File

@@ -1070,7 +1070,7 @@ const CGRATES_CFG_JSON = `
// "Value": 5,
// },
],
"*prometheusMetrics": [
"*prometheusStatIDs": [
// {
// "Tenant": "*any",
// "FilterIDs": [],

View File

@@ -1060,7 +1060,7 @@ func TestDfStatServiceJsonCfg(t *testing.T) {
ProfileIDs: []*utils.DynamicStringSliceOpt{},
ProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
RoundingDecimals: []*utils.DynamicIntOpt{},
PrometheusMetrics: []*utils.DynamicStringSliceOpt{},
PrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
},
}
dfCgrJSONCfg, err := NewCgrJsonCfgFromBytes([]byte(CGRATES_CFG_JSON))

View File

@@ -701,7 +701,7 @@ func TestCgrCfgJSONDefaultStatsCfg(t *testing.T) {
ProfileIDs: []*utils.DynamicStringSliceOpt{},
ProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
RoundingDecimals: []*utils.DynamicIntOpt{},
PrometheusMetrics: []*utils.DynamicStringSliceOpt{},
PrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
},
}
if !reflect.DeepEqual(cgrCfg.statsCfg, eStatsCfg) {
@@ -1925,7 +1925,7 @@ func TestStatSConfig(t *testing.T) {
ProfileIDs: []*utils.DynamicStringSliceOpt{},
ProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
RoundingDecimals: []*utils.DynamicIntOpt{},
PrometheusMetrics: []*utils.DynamicStringSliceOpt{},
PrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
},
}
cgrConfig := NewDefaultCGRConfig()
@@ -4417,7 +4417,7 @@ func TestV1GetConfigStats(t *testing.T) {
utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{},
utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
utils.OptsRoundingDecimals: []*utils.DynamicIntOpt{},
utils.OptsPrometheusMetrics: []*utils.DynamicStringSliceOpt{},
utils.OptsPrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
},
},
}
@@ -5292,7 +5292,7 @@ func TestV1GetConfigAsJSONResourceS(t *testing.T) {
func TestV1GetConfigAsJSONStatS(t *testing.T) {
var reply string
expected := `{"stats":{"enabled":false,"exists_indexed_fields":[],"indexed_selects":true,"nested_fields":false,"notexists_indexed_fields":[],"opts":{"*profileIDs":[],"*profileIgnoreFilters":[],"*prometheusMetrics":[],"*roundingDecimals":[]},"prefix_indexed_fields":[],"store_interval":"","store_uncompressed_limit":0,"suffix_indexed_fields":[],"thresholds_conns":[]}}`
expected := `{"stats":{"enabled":false,"exists_indexed_fields":[],"indexed_selects":true,"nested_fields":false,"notexists_indexed_fields":[],"opts":{"*profileIDs":[],"*profileIgnoreFilters":[],"*prometheusStatIDs":[],"*roundingDecimals":[]},"prefix_indexed_fields":[],"store_interval":"","store_uncompressed_limit":0,"suffix_indexed_fields":[],"thresholds_conns":[]}}`
cgrCfg := NewDefaultCGRConfig()
if err := cgrCfg.V1GetConfigAsJSON(context.Background(), &SectionWithAPIOpts{Sections: []string{StatSJSON}}, &reply); err != nil {
t.Error(err)

View File

@@ -33,7 +33,7 @@ type StatsOpts struct {
ProfileIDs []*utils.DynamicStringSliceOpt
ProfileIgnoreFilters []*utils.DynamicBoolOpt
RoundingDecimals []*utils.DynamicIntOpt
PrometheusMetrics []*utils.DynamicStringSliceOpt
PrometheusStatIDs []*utils.DynamicStringSliceOpt
}
// StatSCfg the stats config section
@@ -74,8 +74,8 @@ func (sqOpts *StatsOpts) loadFromJSONCfg(jsnCfg *StatsOptsJson) {
if jsnCfg.RoundingDecimals != nil {
sqOpts.RoundingDecimals = append(sqOpts.RoundingDecimals, jsnCfg.RoundingDecimals...)
}
if jsnCfg.PrometheusMetrics != nil {
sqOpts.PrometheusMetrics = append(sqOpts.PrometheusMetrics, jsnCfg.PrometheusMetrics...)
if jsnCfg.PrometheusStatIDs != nil {
sqOpts.PrometheusStatIDs = append(sqOpts.PrometheusStatIDs, jsnCfg.PrometheusStatIDs...)
}
}
@@ -130,7 +130,7 @@ func (st StatSCfg) AsMapInterface(string) interface{} {
utils.MetaProfileIDs: st.Opts.ProfileIDs,
utils.MetaProfileIgnoreFilters: st.Opts.ProfileIgnoreFilters,
utils.OptsRoundingDecimals: st.Opts.RoundingDecimals,
utils.OptsPrometheusMetrics: st.Opts.PrometheusMetrics,
utils.OptsPrometheusStatIDs: st.Opts.PrometheusStatIDs,
}
mp := map[string]interface{}{
utils.EnabledCfg: st.Enabled,
@@ -181,14 +181,14 @@ func (sqOpts *StatsOpts) Clone() *StatsOpts {
rounding = utils.CloneDynamicIntOpt(sqOpts.RoundingDecimals)
}
var promMtrcs []*utils.DynamicStringSliceOpt
if sqOpts.PrometheusMetrics != nil {
promMtrcs = utils.CloneDynamicStringSliceOpt(sqOpts.PrometheusMetrics)
if sqOpts.PrometheusStatIDs != nil {
promMtrcs = utils.CloneDynamicStringSliceOpt(sqOpts.PrometheusStatIDs)
}
return &StatsOpts{
ProfileIDs: sqIDs,
ProfileIgnoreFilters: profileIgnoreFilters,
RoundingDecimals: rounding,
PrometheusMetrics: promMtrcs,
PrometheusStatIDs: promMtrcs,
}
}
@@ -227,7 +227,7 @@ type StatsOptsJson struct {
ProfileIDs []*utils.DynamicStringSliceOpt `json:"*profileIDs"`
ProfileIgnoreFilters []*utils.DynamicBoolOpt `json:"*profileIgnoreFilters"`
RoundingDecimals []*utils.DynamicIntOpt `json:"*roundingDecimals"`
PrometheusMetrics []*utils.DynamicStringSliceOpt `json:"*prometheusMetrics"`
PrometheusStatIDs []*utils.DynamicStringSliceOpt `json:"*prometheusStatIDs"`
}
// Stat service config section
@@ -259,8 +259,8 @@ func diffStatsOptsJsonCfg(d *StatsOptsJson, v1, v2 *StatsOpts) *StatsOptsJson {
if !utils.DynamicIntOptEqual(v1.RoundingDecimals, v2.RoundingDecimals) {
d.RoundingDecimals = v2.RoundingDecimals
}
if !utils.DynamicStringSliceOptEqual(v1.PrometheusMetrics, v2.PrometheusMetrics) {
d.PrometheusMetrics = v2.PrometheusMetrics
if !utils.DynamicStringSliceOptEqual(v1.PrometheusStatIDs, v2.PrometheusStatIDs) {
d.PrometheusStatIDs = v2.PrometheusStatIDs
}
return d
}

View File

@@ -55,7 +55,7 @@ func TestStatSCfgloadFromJsonCfgCase1(t *testing.T) {
ProfileIDs: []*utils.DynamicStringSliceOpt{},
ProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
RoundingDecimals: []*utils.DynamicIntOpt{},
PrometheusMetrics: []*utils.DynamicStringSliceOpt{},
PrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
},
}
jsonCfg := NewDefaultCGRConfig()
@@ -133,7 +133,7 @@ func TestStatSCfgAsMapInterface(t *testing.T) {
utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{},
utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
utils.OptsRoundingDecimals: []*utils.DynamicIntOpt{},
utils.OptsPrometheusMetrics: []*utils.DynamicStringSliceOpt{},
utils.OptsPrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
},
}
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
@@ -175,7 +175,7 @@ func TestStatSCfgAsMapInterface1(t *testing.T) {
utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{},
utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{},
utils.OptsRoundingDecimals: []*utils.DynamicIntOpt{},
utils.OptsPrometheusMetrics: []*utils.DynamicStringSliceOpt{},
utils.OptsPrometheusStatIDs: []*utils.DynamicStringSliceOpt{},
},
}
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {