diff --git a/api/metrics_test.go b/api/metrics_test.go index f803454b4..1d486188a 100644 --- a/api/metrics_test.go +++ b/api/metrics_test.go @@ -54,49 +54,48 @@ func TestMetricsMiddleware(t *testing.T) { router.Use(metricsMiddleware) ts := httptest.NewServer(router) - // httpGet(t, ts.URL+"/accounts/0x") - // httpGet(t, ts.URL+"/accounts/"+thor.Address{}.String()) - - // _, code := httpGet(t, ts.URL+"/accounts/"+thor.Address{}.String()+"?revision="+blkID.String()) - // assert.Equal(t, 500, code) - - // body, _ := httpGet(t, ts.URL+"/metrics") - // parser := expfmt.TextParser{} - // metrics, err := parser.TextToMetricFamilies(bytes.NewReader(body)) - // assert.Nil(t, err) - - // m := metrics["thor_metrics_api_request_count"].GetMetric() - // assert.Equal(t, 3, len(m), "should be 3 metric entries") - // assert.Equal(t, float64(1), m[0].GetCounter().GetValue()) - // assert.Equal(t, float64(1), m[1].GetCounter().GetValue()) - - // labels := m[0].GetLabel() - // assert.Equal(t, 3, len(labels)) - // assert.Equal(t, "code", labels[0].GetName()) - // assert.Equal(t, "200", labels[0].GetValue()) - // assert.Equal(t, "method", labels[1].GetName()) - // assert.Equal(t, "GET", labels[1].GetValue()) - // assert.Equal(t, "name", labels[2].GetName()) - // assert.Equal(t, "accounts_get_account", labels[2].GetValue()) - - // labels = m[1].GetLabel() - // assert.Equal(t, 3, len(labels)) - // assert.Equal(t, "code", labels[0].GetName()) - // assert.Equal(t, "400", labels[0].GetValue()) - // assert.Equal(t, "method", labels[1].GetName()) - // assert.Equal(t, "GET", labels[1].GetValue()) - // assert.Equal(t, "name", labels[2].GetName()) - // assert.Equal(t, "accounts_get_account", labels[2].GetValue()) - - // labels = m[2].GetLabel() - // assert.Equal(t, 3, len(labels)) - // assert.Equal(t, "code", labels[0].GetName()) - // assert.Equal(t, "500", labels[0].GetValue()) - // assert.Equal(t, "method", labels[1].GetName()) - // assert.Equal(t, "GET", labels[1].GetValue()) - // assert.Equal(t, "name", labels[2].GetName()) - // assert.Equal(t, "accounts_get_account", labels[2].GetValue()) - // } + httpGet(t, ts.URL+"/accounts/0x") + httpGet(t, ts.URL+"/accounts/"+thor.Address{}.String()) + + _, code := httpGet(t, ts.URL+"/accounts/"+thor.Address{}.String()+"?revision="+blkID.String()) + assert.Equal(t, 500, code) + + body, _ := httpGet(t, ts.URL+"/metrics") + parser := expfmt.TextParser{} + metrics, err := parser.TextToMetricFamilies(bytes.NewReader(body)) + assert.Nil(t, err) + + m := metrics["thor_metrics_api_request_count"].GetMetric() + assert.Equal(t, 3, len(m), "should be 3 metric entries") + assert.Equal(t, float64(1), m[0].GetCounter().GetValue()) + assert.Equal(t, float64(1), m[1].GetCounter().GetValue()) + + labels := m[0].GetLabel() + assert.Equal(t, 3, len(labels)) + assert.Equal(t, "code", labels[0].GetName()) + assert.Equal(t, "200", labels[0].GetValue()) + assert.Equal(t, "method", labels[1].GetName()) + assert.Equal(t, "GET", labels[1].GetValue()) + assert.Equal(t, "name", labels[2].GetName()) + assert.Equal(t, "accounts_get_account", labels[2].GetValue()) + + labels = m[1].GetLabel() + assert.Equal(t, 3, len(labels)) + assert.Equal(t, "code", labels[0].GetName()) + assert.Equal(t, "400", labels[0].GetValue()) + assert.Equal(t, "method", labels[1].GetName()) + assert.Equal(t, "GET", labels[1].GetValue()) + assert.Equal(t, "name", labels[2].GetName()) + assert.Equal(t, "accounts_get_account", labels[2].GetValue()) + + labels = m[2].GetLabel() + assert.Equal(t, 3, len(labels)) + assert.Equal(t, "code", labels[0].GetName()) + assert.Equal(t, "500", labels[0].GetValue()) + assert.Equal(t, "method", labels[1].GetName()) + assert.Equal(t, "GET", labels[1].GetValue()) + assert.Equal(t, "name", labels[2].GetName()) + assert.Equal(t, "accounts_get_account", labels[2].GetValue()) } func TestWebsocketMetrics(t *testing.T) {