From 6f255273cf2051a374b3f99ed85bbad935808f69 Mon Sep 17 00:00:00 2001 From: Curtis Robert Date: Wed, 17 Apr 2024 10:59:08 -0700 Subject: [PATCH] [chore][receiver/sqlserver] Rename and move Windows-specific logic (#32471) **Description:** A major part of https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/31915 is adding support for other operating systems than Windows. This change moves Windows-specific logic into files named as such, and renames some specific functionality to match purpose, instead of generic names. `newSQLServerScraper` -> `newSQLServerPCScraper` (PC in this context stands for performance counters) `sqlServerScraper` -> `sqlServerPCScraper`` This only renames internal functions and files, there's no user-facing impact of this. **Link to tracking Issue:** https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/31915 https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30297 **Testing:** Existing tests are passing. --- receiver/sqlserverreceiver/factory_windows.go | 2 +- .../{scraper.go => scraper_windows.go} | 17 +++++++++-------- ...{scraper_test.go => scraper_windows_test.go} | 6 +++--- 3 files changed, 13 insertions(+), 12 deletions(-) rename receiver/sqlserverreceiver/{scraper.go => scraper_windows.go} (86%) rename receiver/sqlserverreceiver/{scraper_test.go => scraper_windows_test.go} (97%) diff --git a/receiver/sqlserverreceiver/factory_windows.go b/receiver/sqlserverreceiver/factory_windows.go index 5b74fd94039e..9ce9734ab86f 100644 --- a/receiver/sqlserverreceiver/factory_windows.go +++ b/receiver/sqlserverreceiver/factory_windows.go @@ -30,7 +30,7 @@ func createMetricsReceiver( if !ok { return nil, errConfigNotSQLServer } - sqlServerScraper := newSQLServerScraper(params, cfg) + sqlServerScraper := newSQLServerPCScraper(params, cfg) scraper, err := scraperhelper.NewScraper(metadata.Type.String(), sqlServerScraper.scrape, scraperhelper.WithStart(sqlServerScraper.start), diff --git a/receiver/sqlserverreceiver/scraper.go b/receiver/sqlserverreceiver/scraper_windows.go similarity index 86% rename from receiver/sqlserverreceiver/scraper.go rename to receiver/sqlserverreceiver/scraper_windows.go index 46db2679dfcf..585cd86742d0 100644 --- a/receiver/sqlserverreceiver/scraper.go +++ b/receiver/sqlserverreceiver/scraper_windows.go @@ -20,7 +20,8 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver/internal/metadata" ) -type sqlServerScraper struct { +// SQL Server Perf Counter (PC) Scraper. This is used to scrape metrics from Windows Perf Counters. +type sqlServerPCScraper struct { logger *zap.Logger config *Config watcherRecorders []watcherRecorder @@ -37,9 +38,9 @@ type watcherRecorder struct { // it needs metadata.MetricsBuilder and timestamp as arguments. type curriedRecorder func(*metadata.MetricsBuilder, pcommon.Timestamp) -// newSQLServerScraper returns a new sqlServerScraper. -func newSQLServerScraper(params receiver.CreateSettings, cfg *Config) *sqlServerScraper { - return &sqlServerScraper{ +// newSQLServerPCScraper returns a new sqlServerPCScraper. +func newSQLServerPCScraper(params receiver.CreateSettings, cfg *Config) *sqlServerPCScraper { + return &sqlServerPCScraper{ logger: params.Logger, config: cfg, mb: metadata.NewMetricsBuilder(cfg.MetricsBuilderConfig, params), @@ -47,7 +48,7 @@ func newSQLServerScraper(params receiver.CreateSettings, cfg *Config) *sqlServer } // start creates and sets the watchers for the scraper. -func (s *sqlServerScraper) start(_ context.Context, _ component.Host) error { +func (s *sqlServerPCScraper) start(_ context.Context, _ component.Host) error { s.watcherRecorders = []watcherRecorder{} for _, pcr := range perfCounterRecorders { @@ -71,7 +72,7 @@ func (s *sqlServerScraper) start(_ context.Context, _ component.Host) error { } // scrape collects windows performance counter data from all watchers and then records/emits it using the metricBuilder -func (s *sqlServerScraper) scrape(_ context.Context) (pmetric.Metrics, error) { +func (s *sqlServerPCScraper) scrape(_ context.Context) (pmetric.Metrics, error) { recordersByDatabase, errs := recordersPerDatabase(s.watcherRecorders) for dbName, recorders := range recordersByDatabase { @@ -113,7 +114,7 @@ func recordersPerDatabase(watcherRecorders []watcherRecorder) (map[string][]curr return dbToRecorders, errs } -func (s *sqlServerScraper) emitMetricGroup(recorders []curriedRecorder, databaseName string) { +func (s *sqlServerPCScraper) emitMetricGroup(recorders []curriedRecorder, databaseName string) { now := pcommon.NewTimestampFromTime(time.Now()) for _, recorder := range recorders { @@ -132,7 +133,7 @@ func (s *sqlServerScraper) emitMetricGroup(recorders []curriedRecorder, database } // shutdown stops all of the watchers for the scraper. -func (s sqlServerScraper) shutdown(_ context.Context) error { +func (s sqlServerPCScraper) shutdown(_ context.Context) error { var errs error for _, wr := range s.watcherRecorders { err := wr.watcher.Close() diff --git a/receiver/sqlserverreceiver/scraper_test.go b/receiver/sqlserverreceiver/scraper_windows_test.go similarity index 97% rename from receiver/sqlserverreceiver/scraper_test.go rename to receiver/sqlserverreceiver/scraper_windows_test.go index c5fbac7ee32f..6fdfa4f1c652 100644 --- a/receiver/sqlserverreceiver/scraper_test.go +++ b/receiver/sqlserverreceiver/scraper_windows_test.go @@ -83,7 +83,7 @@ func TestSqlServerScraper(t *testing.T) { logger, obsLogs := observer.New(zap.WarnLevel) settings := receivertest.NewNopCreateSettings() settings.Logger = zap.New(logger) - s := newSQLServerScraper(settings, cfg) + s := newSQLServerPCScraper(settings, cfg) assert.NoError(t, s.start(context.Background(), nil)) assert.Equal(t, 0, len(s.watcherRecorders)) @@ -114,7 +114,7 @@ func TestScrape(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) settings := receivertest.NewNopCreateSettings() - scraper := newSQLServerScraper(settings, cfg) + scraper := newSQLServerPCScraper(settings, cfg) for i, rec := range perfCounterRecorders { perfCounterWatcher := &mockPerfCounterWatcher{} @@ -158,7 +158,7 @@ func TestScrape(t *testing.T) { cfg.InstanceName = "CustomInstance" settings := receivertest.NewNopCreateSettings() - scraper := newSQLServerScraper(settings, cfg) + scraper := newSQLServerPCScraper(settings, cfg) for i, rec := range perfCounterRecorders { perfCounterWatcher := &mockPerfCounterWatcher{}