mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-12 02:26:26 +05:00
Modified prometehus opts in stats
This commit is contained in:
committed by
Dan Christian Bogos
parent
58acd2ee30
commit
40c6b6ac29
@@ -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{},
|
||||
|
||||
@@ -1070,7 +1070,7 @@ const CGRATES_CFG_JSON = `
|
||||
// "Value": 5,
|
||||
// },
|
||||
],
|
||||
"*prometheusMetrics": [
|
||||
"*prometheusStatIDs": [
|
||||
// {
|
||||
// "Tenant": "*any",
|
||||
// "FilterIDs": [],
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user