//
// 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
}