From 8696d2c85810c022bb7b9d2ddb5d83405d89c1b0 Mon Sep 17 00:00:00 2001 From: Alex K <8418476+fearful-symmetry@users.noreply.github.com> Date: Thu, 21 Mar 2019 08:10:38 -0500 Subject: [PATCH] [Metricbeat] Migrate mysql/galera_status to ReporterV2 (#11324) * Migrate mysql/galera_status to ReporterV2 --- .../module/mysql/galera_status/status.go | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/metricbeat/module/mysql/galera_status/status.go b/metricbeat/module/mysql/galera_status/status.go index babe8b48ecc7..ba95a43f3a10 100644 --- a/metricbeat/module/mysql/galera_status/status.go +++ b/metricbeat/module/mysql/galera_status/status.go @@ -27,18 +27,13 @@ package galera_status import ( "database/sql" - "github.com/elastic/beats/libbeat/common" - "github.com/elastic/beats/libbeat/logp" + "github.com/elastic/beats/libbeat/common/cfgwarn" "github.com/elastic/beats/metricbeat/mb" "github.com/elastic/beats/metricbeat/module/mysql" "github.com/pkg/errors" ) -var ( - debugf = logp.MakeDebug("mysql-galera-status") -) - // init registers the MetricSet with the central registry. func init() { mb.Registry.MustAddMetricSet("mysql", "galera_status", New, @@ -55,23 +50,24 @@ type MetricSet struct { // New create a new instance of the MetricSet // Loads query_mode config setting from the config file func New(base mb.BaseMetricSet) (mb.MetricSet, error) { + cfgwarn.Experimental("The galera_status metricset is experimental.") return &MetricSet{BaseMetricSet: base}, nil } // Fetch methods implements the data gathering and data conversion to the right format // It returns the event which is then forward to the output. -func (m *MetricSet) Fetch() (common.MapStr, error) { +func (m *MetricSet) Fetch(reporter mb.ReporterV2) error { if m.db == nil { var err error m.db, err = mysql.NewDB(m.HostData().URI) if err != nil { - return nil, errors.Wrap(err, "Galera-status fetch failed") + return errors.Wrap(err, "Galera-status fetch failed") } } status, err := m.loadStatus(m.db) if err != nil { - return nil, err + return err } event := eventMapping(status) @@ -79,7 +75,12 @@ func (m *MetricSet) Fetch() (common.MapStr, error) { if m.Module().Config().Raw { event["raw"] = rawEventMapping(status) } - return event, nil + + reporter.Event(mb.Event{ + MetricSetFields: event, + }) + + return nil } // loadStatus loads all status entries from the given database into an array.