Browse Source

fix(go.d/prometheus): correct unsupported protocol scheme "file" error (#18938)

Ilya Mashchenko 4 months ago
parent
commit
35cd0ee1cd

+ 1 - 5
src/go/plugin/go.d/pkg/prometheus/client.go

@@ -47,11 +47,7 @@ const (
 
 // New creates a Prometheus instance.
 func New(client *http.Client, request web.RequestConfig) Prometheus {
-	return &prometheus{
-		client:  client,
-		request: request,
-		buf:     bytes.NewBuffer(make([]byte, 0, 16000)),
-	}
+	return NewWithSelector(client, request, nil)
 }
 
 // NewWithSelector creates a Prometheus instance with the selector.

+ 9 - 0
src/go/plugin/go.d/pkg/prometheus/client_test.go

@@ -113,6 +113,7 @@ func TestPrometheusGzip(t *testing.T) {
 
 func TestPrometheusReadFromFile(t *testing.T) {
 	req := web.RequestConfig{URL: "file://testdata/testdata.txt"}
+
 	prom := NewWithSelector(http.DefaultClient, req, nil)
 
 	for i := 0; i < 2; i++ {
@@ -120,6 +121,14 @@ func TestPrometheusReadFromFile(t *testing.T) {
 		assert.NoError(t, err)
 		verifyTestData(t, res)
 	}
+
+	prom = New(http.DefaultClient, req)
+
+	for i := 0; i < 2; i++ {
+		res, err := prom.ScrapeSeries()
+		assert.NoError(t, err)
+		verifyTestData(t, res)
+	}
 }
 
 func verifyTestData(t *testing.T, ms Series) {