From c9c2b39601f3ebcc6b320e4df7b5502c710bb225 Mon Sep 17 00:00:00 2001 From: Vivek Singh Date: Wed, 29 Jul 2020 16:27:19 +0530 Subject: [PATCH] Use namespace while filtering metric result Signed-off-by: Vivek Singh --- gateway/metrics/add_metrics.go | 2 +- gateway/metrics/add_metrics_test.go | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gateway/metrics/add_metrics.go b/gateway/metrics/add_metrics.go index 4490cd2a..2171db23 100644 --- a/gateway/metrics/add_metrics.go +++ b/gateway/metrics/add_metrics.go @@ -88,7 +88,7 @@ func mixIn(functions *[]types.FunctionStatus, metrics *VectorQueryResponse) { for i, function := range *functions { for _, v := range metrics.Data.Result { - if v.Metric.FunctionName == function.Name { + if v.Metric.FunctionName == fmt.Sprintf("%s.%s", function.Name, function.Namespace) { metricValue := v.Value[1] switch metricValue.(type) { case string: diff --git a/gateway/metrics/add_metrics_test.go b/gateway/metrics/add_metrics_test.go index 3389565f..a3ebff56 100644 --- a/gateway/metrics/add_metrics_test.go +++ b/gateway/metrics/add_metrics_test.go @@ -14,7 +14,7 @@ type FakePrometheusQueryFetcher struct { } func (q FakePrometheusQueryFetcher) Fetch(query string) (*VectorQueryResponse, error) { - val := []byte(`{"status":"success","data":{"resultType":"vector","result":[{"metric":{"code":"200","function_name":"func_echoit"},"value":[1509267827.752,"1"]}]}}`) + val := []byte(`{"status":"success","data":{"resultType":"vector","result":[{"metric":{"code":"200","function_name":"func_echoit.openfaas-fn"},"value":[1509267827.752,"1"]}]}}`) queryRes := VectorQueryResponse{} err := json.Unmarshal(val, &queryRes) return &queryRes, err @@ -84,8 +84,9 @@ func makeFunctionsHandler() http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { functions := []types.FunctionStatus{ types.FunctionStatus{ - Name: "func_echoit", - Replicas: 0, + Name: "func_echoit", + Replicas: 0, + Namespace: "openfaas-fn", }, } bytesOut, marshalErr := json.Marshal(&functions)