diff --git a/metricbeat/module/couchdb/server/server.go b/metricbeat/module/couchdb/server/server.go index a3f4200493e..216bbee3f35 100644 --- a/metricbeat/module/couchdb/server/server.go +++ b/metricbeat/module/couchdb/server/server.go @@ -18,8 +18,9 @@ package server import ( + "github.com/pkg/errors" + "github.com/elastic/beats/libbeat/common/cfgwarn" - "github.com/elastic/beats/libbeat/logp" "github.com/elastic/beats/metricbeat/helper" "github.com/elastic/beats/metricbeat/mb" "github.com/elastic/beats/metricbeat/mb/parse" @@ -37,8 +38,6 @@ var ( }.Build() ) -var logger = logp.NewLogger("couchdb.server") - func init() { mb.Registry.MustAddMetricSet("couchdb", "server", New, mb.WithHostParser(hostParser), @@ -74,16 +73,14 @@ func New(base mb.BaseMetricSet) (mb.MetricSet, error) { // Fetch methods implements the data gathering and data conversion to the right // format. It publishes the event which is then forwarded to the output. In case // of an error set the Error field of mb.Event or simply call report.Error(). -func (m *MetricSet) Fetch(reporter mb.ReporterV2) { +func (m *MetricSet) Fetch(reporter mb.ReporterV2) error { content, err := m.http.FetchContent() if err != nil { - logger.Error(err) - reporter.Error(err) - return + return errors.Wrap(err, "error in http fetch") } event, _ := eventMapping(content) reporter.Event(mb.Event{MetricSetFields: event}) - return + return nil } diff --git a/metricbeat/module/couchdb/server/server_integration_test.go b/metricbeat/module/couchdb/server/server_integration_test.go index d1b806ea17f..bb00bdb87e7 100644 --- a/metricbeat/module/couchdb/server/server_integration_test.go +++ b/metricbeat/module/couchdb/server/server_integration_test.go @@ -32,8 +32,8 @@ import ( func TestFetch(t *testing.T) { compose.EnsureUp(t, "couchdb") - f := mbtest.NewReportingMetricSetV2(t, getConfig()) - events, errs := mbtest.ReportingFetchV2(f) + f := mbtest.NewReportingMetricSetV2Error(t, getConfig()) + events, errs := mbtest.ReportingFetchV2Error(f) if len(errs) > 0 { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } @@ -45,14 +45,14 @@ func TestFetch(t *testing.T) { func TestData(t *testing.T) { compose.EnsureUp(t, "couchdb") - f := mbtest.NewReportingMetricSetV2(t, getConfig()) - events, errs := mbtest.ReportingFetchV2(f) + f := mbtest.NewReportingMetricSetV2Error(t, getConfig()) + events, errs := mbtest.ReportingFetchV2Error(f) if len(errs) > 0 { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) - if err := mbtest.WriteEventsReporterV2(f, t, ""); err != nil { + if err := mbtest.WriteEventsReporterV2Error(f, t, ""); err != nil { t.Fatal("write", err) } } diff --git a/metricbeat/module/couchdb/server/server_test.go b/metricbeat/module/couchdb/server/server_test.go index b012d09e3e9..dd13ee45bed 100644 --- a/metricbeat/module/couchdb/server/server_test.go +++ b/metricbeat/module/couchdb/server/server_test.go @@ -50,8 +50,8 @@ func TestFetchEventContent(t *testing.T) { "metricsets": []string{"server"}, "hosts": []string{server.URL}, } - f := mbtest.NewReportingMetricSetV2(t, config) - events, errs := mbtest.ReportingFetchV2(f) + f := mbtest.NewReportingMetricSetV2Error(t, config) + events, errs := mbtest.ReportingFetchV2Error(f) if len(errs) > 0 { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } @@ -81,10 +81,10 @@ func TestFetchTimeout(t *testing.T) { "timeout": "50ms", } - f := mbtest.NewReportingMetricSetV2(t, config) + f := mbtest.NewReportingMetricSetV2Error(t, config) start := time.Now() - events, errs := mbtest.ReportingFetchV2(f) + events, errs := mbtest.ReportingFetchV2Error(f) if len(errs) == 0 { t.Fatalf("Expected an error, had %d. %v\n", len(errs), errs) }