//
// Collect metrics
//
- if metrics, err := r.GetLocalMetrics(GetPortData("http").Port); err == nil {
+ if metrics, err := r.GetLocalMetrics(); err == nil {
if err := Util.WriteToFile(baseDir+"metrics.json", metrics); err != nil {
Logger.Error("writeToFile failed for metrics.json: %v", err)
}
http.Error(w, message, http.StatusInternalServerError)
}
-func (r *Router) GetLocalMetrics(port int) (string, error) {
+func (r *Router) GetLocalMetrics() (string, error) {
buf := &bytes.Buffer{}
enc := expfmt.NewEncoder(buf, expfmt.FmtText)
vals, err := prometheus.DefaultGatherer.Gather()
return string(buf.Bytes()), nil
}
+//Resource.InjectRoute(url, metricsHandler, "GET")
+//func metricsHandler(w http.ResponseWriter, r *http.Request) {
+// w.Header().Set("Content-Type", "text/plain")
+// w.WriteHeader(http.StatusOK)
+// metrics, _ := Resource.GetLocalMetrics()
+// w.Write([]byte(metrics))
+//}
+
func IsHealthProbeReady() bool {
return healthReady
}
metadata.XappName = &name
metadata.ConfigType = &configtype
- configFile, err := os.Open("/opt/ric/config/config-file.json")
- if err != nil {
- Logger.Error("Cannot open config file: %v", err)
+ // Read config-files
+ cfiles := []string{viper.ConfigFileUsed(), "/opt/ric/config/config-file.json"}
+
+ var err error
+ var configFile *os.File
+ for _, cfile := range cfiles {
+ configFile, err = os.Open(cfile)
+ if err != nil {
+ configFile = nil
+ Logger.Error("Cannot open config file: %s err: %v", cfile, err)
+ }
+ }
+ if err != nil || configFile == nil {
+ Logger.Error("Cannot open any of listed config files: %v", cfiles)
respondWithJSON(w, http.StatusInternalServerError, nil)
- // return nil,errors.New("Could Not parse the config file")
+ return
}
body, err := ioutil.ReadAll(configFile)
-
defer configFile.Close()
xappconfig.Metadata = &metadata
appconfig = append(appconfig, &xappconfig)
respondWithJSON(w, http.StatusOK, appconfig)
-
- //return appconfig,nil
}