From e82c2af160833c9f5639f99873f73a8c69f9a9b8 Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Mon, 1 Feb 2021 13:05:37 +0800 Subject: [PATCH 1/2] fix metrics handler error --- pulsar-function-go/pf/stats.go | 6 ++++-- pulsar-function-go/pf/stats_test.go | 10 +++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pulsar-function-go/pf/stats.go b/pulsar-function-go/pf/stats.go index 3aac194228263..8159cac075c70 100644 --- a/pulsar-function-go/pf/stats.go +++ b/pulsar-function-go/pf/stats.go @@ -316,12 +316,14 @@ func (stat *StatWithLabelValues) reset() { func NewMetricsServicer(goInstance *goInstance) *MetricsServicer { serveMux := http.NewServeMux() - serveMux.Handle("/metrics", promhttp.HandlerFor( + pHandler := promhttp.HandlerFor( reg, promhttp.HandlerOpts{ EnableOpenMetrics: true, }, - )) + ) + serveMux.Handle("/", pHandler) + serveMux.Handle("/metrics", pHandler) server := &http.Server{ Addr: fmt.Sprintf(":%d", goInstance.context.GetMetricsPort()), Handler: serveMux, diff --git a/pulsar-function-go/pf/stats_test.go b/pulsar-function-go/pf/stats_test.go index 09b93b9c5452b..171c245d84aaf 100644 --- a/pulsar-function-go/pf/stats_test.go +++ b/pulsar-function-go/pf/stats_test.go @@ -194,11 +194,19 @@ func TestMetricsServer(t *testing.T) { metricsServicer.serve() gi.stats.incrTotalReceived() - resp, err := http.Get(fmt.Sprintf("http://localhost:%d/metrics", gi.context.GetMetricsPort())) + resp, err := http.Get(fmt.Sprintf("http://localhost:%d/", gi.context.GetMetricsPort())) assert.Equal(t, nil, err) assert.Equal(t, 200, resp.StatusCode) body, err := ioutil.ReadAll(resp.Body) assert.Equal(t, nil, err) assert.NotEmpty(t, body) resp.Body.Close() + + resp, err = http.Get(fmt.Sprintf("http://localhost:%d/metrics", gi.context.GetMetricsPort())) + assert.Equal(t, nil, err) + assert.Equal(t, 200, resp.StatusCode) + body, err = ioutil.ReadAll(resp.Body) + assert.Equal(t, nil, err) + assert.NotEmpty(t, body) + resp.Body.Close() } From b04f549e57979249953e615e3a507770497a857e Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Mon, 1 Feb 2021 14:24:13 +0800 Subject: [PATCH 2/2] fix ci --- pulsar-function-go/pf/stats_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pulsar-function-go/pf/stats_test.go b/pulsar-function-go/pf/stats_test.go index 171c245d84aaf..3e38d1060f088 100644 --- a/pulsar-function-go/pf/stats_test.go +++ b/pulsar-function-go/pf/stats_test.go @@ -25,6 +25,7 @@ import ( "math" "net/http" "testing" + "time" "github.com/golang/protobuf/proto" "github.com/prometheus/client_golang/prometheus" @@ -193,9 +194,11 @@ func TestMetricsServer(t *testing.T) { metricsServicer := NewMetricsServicer(gi) metricsServicer.serve() gi.stats.incrTotalReceived() + time.Sleep(time.Second * 1) resp, err := http.Get(fmt.Sprintf("http://localhost:%d/", gi.context.GetMetricsPort())) assert.Equal(t, nil, err) + assert.NotEqual(t, nil, resp) assert.Equal(t, 200, resp.StatusCode) body, err := ioutil.ReadAll(resp.Body) assert.Equal(t, nil, err) @@ -204,6 +207,7 @@ func TestMetricsServer(t *testing.T) { resp, err = http.Get(fmt.Sprintf("http://localhost:%d/metrics", gi.context.GetMetricsPort())) assert.Equal(t, nil, err) + assert.NotEqual(t, nil, resp) assert.Equal(t, 200, resp.StatusCode) body, err = ioutil.ReadAll(resp.Body) assert.Equal(t, nil, err)