- config, config_ok := app["config"]
- if config_ok {
- metrics, metrics_ok := config.(map[string]interface{})["metrics"]
- if metrics_ok {
- parseMetricsRules(metrics.([]interface{}), appMetrics)
+ config, configOk := app["config"]
+ if !configOk {
+ logger.Info("No xApp config found!")
+ continue
+ }
+ measurements, measurementsOk := config.(map[string]interface{})["measurements"]
+ if !measurementsOk {
+ logger.Info("No xApp metrics found!")
+ continue
+ }
+
+ for _, m := range measurements.([]interface{}) {
+ moId, moIdOk := m.(map[string]interface{})["moId"].(string)
+ measType, measTypeOk := m.(map[string]interface{})["measType"].(string)
+ measId, measIdOk := m.(map[string]interface{})["measId"].(string)
+ measInterval, measIntervalOk := m.(map[string]interface{})["measInterval"].(string)
+ metrics, metricsOk := m.(map[string]interface{})["metrics"]
+ if !metricsOk || !measTypeOk || !measIdOk || !moIdOk || !measIntervalOk {
+ logger.Info("No metrics found for moId=%s measType=%s measId=%s measInterval=%s", moId, measId, measType, measInterval)
+ continue