Skip to content

Commit fdc8624

Browse files
committed
Move scraper helpers to its own package scraperhelper
Signed-off-by: Bogdan Drutu <[email protected]>
1 parent 29859f2 commit fdc8624

File tree

24 files changed

+103
-102
lines changed

24 files changed

+103
-102
lines changed

receiver/hostmetricsreceiver/config.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ package hostmetricsreceiver
1616

1717
import (
1818
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal"
19-
"go.opentelemetry.io/collector/receiver/receiverhelper"
19+
"go.opentelemetry.io/collector/receiver/scraperhelper"
2020
)
2121

2222
// Config defines configuration for HostMetrics receiver.
2323
type Config struct {
24-
receiverhelper.ScraperControllerSettings `mapstructure:",squash"`
25-
Scrapers map[string]internal.Config `mapstructure:"-"`
24+
scraperhelper.ScraperControllerSettings `mapstructure:",squash"`
25+
Scrapers map[string]internal.Config `mapstructure:"-"`
2626
}

receiver/hostmetricsreceiver/config_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import (
3636
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/processesscraper"
3737
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/processscraper"
3838
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/swapscraper"
39-
"go.opentelemetry.io/collector/receiver/receiverhelper"
39+
"go.opentelemetry.io/collector/receiver/scraperhelper"
4040
)
4141

4242
func TestLoadConfig(t *testing.T) {
@@ -62,7 +62,7 @@ func TestLoadConfig(t *testing.T) {
6262

6363
r1 := cfg.Receivers["hostmetrics/customname"].(*Config)
6464
expectedConfig := &Config{
65-
ScraperControllerSettings: receiverhelper.ScraperControllerSettings{
65+
ScraperControllerSettings: scraperhelper.ScraperControllerSettings{
6666
ReceiverSettings: configmodels.ReceiverSettings{
6767
TypeVal: typeStr,
6868
NameVal: "hostmetrics/customname",

receiver/hostmetricsreceiver/factory.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/processscraper"
3838
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/swapscraper"
3939
"go.opentelemetry.io/collector/receiver/receiverhelper"
40+
"go.opentelemetry.io/collector/receiver/scraperhelper"
4041
)
4142

4243
// This file implements Factory for HostMetrics receiver.
@@ -136,7 +137,7 @@ func getScraperFactory(key string) (internal.BaseFactory, bool) {
136137

137138
// createDefaultConfig creates the default configuration for receiver.
138139
func createDefaultConfig() configmodels.Receiver {
139-
return &Config{ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(typeStr)}
140+
return &Config{ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(typeStr)}
140141
}
141142

142143
// createMetricsReceiver creates a metrics receiver based on provided config.
@@ -153,7 +154,7 @@ func createMetricsReceiver(
153154
return nil, err
154155
}
155156

156-
return receiverhelper.NewScraperControllerReceiver(
157+
return scraperhelper.NewScraperControllerReceiver(
157158
&oCfg.ScraperControllerSettings,
158159
params.Logger,
159160
consumer,
@@ -167,8 +168,8 @@ func createAddScraperOptions(
167168
config *Config,
168169
factories map[string]internal.ScraperFactory,
169170
resourceFactories map[string]internal.ResourceScraperFactory,
170-
) ([]receiverhelper.ScraperControllerOption, error) {
171-
scraperControllerOptions := make([]receiverhelper.ScraperControllerOption, 0, len(config.Scrapers))
171+
) ([]scraperhelper.ScraperControllerOption, error) {
172+
scraperControllerOptions := make([]scraperhelper.ScraperControllerOption, 0, len(config.Scrapers))
172173

173174
for key, cfg := range config.Scrapers {
174175
hostMetricsScraper, ok, err := createHostMetricsScraper(ctx, logger, key, cfg, factories)
@@ -177,7 +178,7 @@ func createAddScraperOptions(
177178
}
178179

179180
if ok {
180-
scraperControllerOptions = append(scraperControllerOptions, receiverhelper.AddMetricsScraper(hostMetricsScraper))
181+
scraperControllerOptions = append(scraperControllerOptions, scraperhelper.AddMetricsScraper(hostMetricsScraper))
181182
continue
182183
}
183184

@@ -187,7 +188,7 @@ func createAddScraperOptions(
187188
}
188189

189190
if ok {
190-
scraperControllerOptions = append(scraperControllerOptions, receiverhelper.AddResourceMetricsScraper(resourceMetricsScraper))
191+
scraperControllerOptions = append(scraperControllerOptions, scraperhelper.AddResourceMetricsScraper(resourceMetricsScraper))
191192
continue
192193
}
193194

@@ -197,7 +198,7 @@ func createAddScraperOptions(
197198
return scraperControllerOptions, nil
198199
}
199200

200-
func createHostMetricsScraper(ctx context.Context, logger *zap.Logger, key string, cfg internal.Config, factories map[string]internal.ScraperFactory) (scraper receiverhelper.MetricsScraper, ok bool, err error) {
201+
func createHostMetricsScraper(ctx context.Context, logger *zap.Logger, key string, cfg internal.Config, factories map[string]internal.ScraperFactory) (scraper scraperhelper.MetricsScraper, ok bool, err error) {
201202
factory := factories[key]
202203
if factory == nil {
203204
ok = false
@@ -209,7 +210,7 @@ func createHostMetricsScraper(ctx context.Context, logger *zap.Logger, key strin
209210
return
210211
}
211212

212-
func createResourceMetricsScraper(ctx context.Context, logger *zap.Logger, key string, cfg internal.Config, factories map[string]internal.ResourceScraperFactory) (scraper receiverhelper.ResourceMetricsScraper, ok bool, err error) {
213+
func createResourceMetricsScraper(ctx context.Context, logger *zap.Logger, key string, cfg internal.Config, factories map[string]internal.ResourceScraperFactory) (scraper scraperhelper.ResourceMetricsScraper, ok bool, err error) {
213214
factory := factories[key]
214215
if factory == nil {
215216
ok = false

receiver/hostmetricsreceiver/hostmetrics_receiver_test.go

+19-19
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import (
3939
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/processesscraper"
4040
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/processscraper"
4141
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal/scraper/swapscraper"
42-
"go.opentelemetry.io/collector/receiver/receiverhelper"
42+
"go.opentelemetry.io/collector/receiver/scraperhelper"
4343
)
4444

4545
var standardMetrics = []string{
@@ -100,7 +100,7 @@ func TestGatherMetrics_EndToEnd(t *testing.T) {
100100
sink := new(consumertest.MetricsSink)
101101

102102
config := &Config{
103-
ScraperControllerSettings: receiverhelper.ScraperControllerSettings{
103+
ScraperControllerSettings: scraperhelper.ScraperControllerSettings{
104104
CollectionInterval: 100 * time.Millisecond,
105105
},
106106
Scrapers: map[string]internal.Config{
@@ -207,9 +207,9 @@ type mockFactory struct{ mock.Mock }
207207
type mockScraper struct{ mock.Mock }
208208

209209
func (m *mockFactory) CreateDefaultConfig() internal.Config { return &mockConfig{} }
210-
func (m *mockFactory) CreateMetricsScraper(context.Context, *zap.Logger, internal.Config) (receiverhelper.MetricsScraper, error) {
210+
func (m *mockFactory) CreateMetricsScraper(context.Context, *zap.Logger, internal.Config) (scraperhelper.MetricsScraper, error) {
211211
args := m.MethodCalled("CreateMetricsScraper")
212-
return args.Get(0).(receiverhelper.MetricsScraper), args.Error(1)
212+
return args.Get(0).(scraperhelper.MetricsScraper), args.Error(1)
213213
}
214214

215215
func (m *mockScraper) Name() string { return "" }
@@ -223,9 +223,9 @@ type mockResourceFactory struct{ mock.Mock }
223223
type mockResourceScraper struct{ mock.Mock }
224224

225225
func (m *mockResourceFactory) CreateDefaultConfig() internal.Config { return &mockConfig{} }
226-
func (m *mockResourceFactory) CreateResourceMetricsScraper(context.Context, *zap.Logger, internal.Config) (receiverhelper.ResourceMetricsScraper, error) {
226+
func (m *mockResourceFactory) CreateResourceMetricsScraper(context.Context, *zap.Logger, internal.Config) (scraperhelper.ResourceMetricsScraper, error) {
227227
args := m.MethodCalled("CreateResourceMetricsScraper")
228-
return args.Get(0).(receiverhelper.ResourceMetricsScraper), args.Error(1)
228+
return args.Get(0).(scraperhelper.ResourceMetricsScraper), args.Error(1)
229229
}
230230

231231
func (m *mockResourceScraper) Name() string { return "" }
@@ -294,9 +294,9 @@ func benchmarkScrapeMetrics(b *testing.B, cfg *Config) {
294294

295295
options, err := createAddScraperOptions(context.Background(), zap.NewNop(), cfg, scraperFactories, resourceScraperFactories)
296296
require.NoError(b, err)
297-
options = append(options, receiverhelper.WithTickerChannel(tickerCh))
297+
options = append(options, scraperhelper.WithTickerChannel(tickerCh))
298298

299-
receiver, err := receiverhelper.NewScraperControllerReceiver(&cfg.ScraperControllerSettings, zap.NewNop(), sink, options...)
299+
receiver, err := scraperhelper.NewScraperControllerReceiver(&cfg.ScraperControllerSettings, zap.NewNop(), sink, options...)
300300
require.NoError(b, err)
301301

302302
require.NoError(b, receiver.Start(context.Background(), componenttest.NewNopHost()))
@@ -314,7 +314,7 @@ func benchmarkScrapeMetrics(b *testing.B, cfg *Config) {
314314

315315
func Benchmark_ScrapeCpuMetrics(b *testing.B) {
316316
cfg := &Config{
317-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
317+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
318318
Scrapers: map[string]internal.Config{cpuscraper.TypeStr: (&cpuscraper.Factory{}).CreateDefaultConfig()},
319319
}
320320

@@ -323,7 +323,7 @@ func Benchmark_ScrapeCpuMetrics(b *testing.B) {
323323

324324
func Benchmark_ScrapeDiskMetrics(b *testing.B) {
325325
cfg := &Config{
326-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
326+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
327327
Scrapers: map[string]internal.Config{diskscraper.TypeStr: (&diskscraper.Factory{}).CreateDefaultConfig()},
328328
}
329329

@@ -332,7 +332,7 @@ func Benchmark_ScrapeDiskMetrics(b *testing.B) {
332332

333333
func Benchmark_ScrapeFileSystemMetrics(b *testing.B) {
334334
cfg := &Config{
335-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
335+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
336336
Scrapers: map[string]internal.Config{filesystemscraper.TypeStr: (&filesystemscraper.Factory{}).CreateDefaultConfig()},
337337
}
338338

@@ -341,7 +341,7 @@ func Benchmark_ScrapeFileSystemMetrics(b *testing.B) {
341341

342342
func Benchmark_ScrapeLoadMetrics(b *testing.B) {
343343
cfg := &Config{
344-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
344+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
345345
Scrapers: map[string]internal.Config{loadscraper.TypeStr: (&loadscraper.Factory{}).CreateDefaultConfig()},
346346
}
347347

@@ -350,7 +350,7 @@ func Benchmark_ScrapeLoadMetrics(b *testing.B) {
350350

351351
func Benchmark_ScrapeMemoryMetrics(b *testing.B) {
352352
cfg := &Config{
353-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
353+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
354354
Scrapers: map[string]internal.Config{memoryscraper.TypeStr: (&memoryscraper.Factory{}).CreateDefaultConfig()},
355355
}
356356

@@ -359,7 +359,7 @@ func Benchmark_ScrapeMemoryMetrics(b *testing.B) {
359359

360360
func Benchmark_ScrapeNetworkMetrics(b *testing.B) {
361361
cfg := &Config{
362-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
362+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
363363
Scrapers: map[string]internal.Config{networkscraper.TypeStr: (&networkscraper.Factory{}).CreateDefaultConfig()},
364364
}
365365

@@ -368,7 +368,7 @@ func Benchmark_ScrapeNetworkMetrics(b *testing.B) {
368368

369369
func Benchmark_ScrapeProcessesMetrics(b *testing.B) {
370370
cfg := &Config{
371-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
371+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
372372
Scrapers: map[string]internal.Config{processesscraper.TypeStr: (&processesscraper.Factory{}).CreateDefaultConfig()},
373373
}
374374

@@ -377,7 +377,7 @@ func Benchmark_ScrapeProcessesMetrics(b *testing.B) {
377377

378378
func Benchmark_ScrapeSwapMetrics(b *testing.B) {
379379
cfg := &Config{
380-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
380+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
381381
Scrapers: map[string]internal.Config{swapscraper.TypeStr: (&swapscraper.Factory{}).CreateDefaultConfig()},
382382
}
383383

@@ -390,7 +390,7 @@ func Benchmark_ScrapeProcessMetrics(b *testing.B) {
390390
}
391391

392392
cfg := &Config{
393-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
393+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
394394
Scrapers: map[string]internal.Config{processscraper.TypeStr: (&processscraper.Factory{}).CreateDefaultConfig()},
395395
}
396396

@@ -399,7 +399,7 @@ func Benchmark_ScrapeProcessMetrics(b *testing.B) {
399399

400400
func Benchmark_ScrapeSystemMetrics(b *testing.B) {
401401
cfg := &Config{
402-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
402+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
403403
Scrapers: map[string]internal.Config{
404404
cpuscraper.TypeStr: (&cpuscraper.Factory{}).CreateDefaultConfig(),
405405
diskscraper.TypeStr: (&diskscraper.Factory{}).CreateDefaultConfig(),
@@ -417,7 +417,7 @@ func Benchmark_ScrapeSystemMetrics(b *testing.B) {
417417

418418
func Benchmark_ScrapeSystemAndProcessMetrics(b *testing.B) {
419419
cfg := &Config{
420-
ScraperControllerSettings: receiverhelper.DefaultScraperControllerSettings(""),
420+
ScraperControllerSettings: scraperhelper.DefaultScraperControllerSettings(""),
421421
Scrapers: map[string]internal.Config{
422422
cpuscraper.TypeStr: &cpuscraper.Config{},
423423
diskscraper.TypeStr: &diskscraper.Config{},

receiver/hostmetricsreceiver/internal/scraper.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"go.uber.org/zap"
2121

22-
"go.opentelemetry.io/collector/receiver/receiverhelper"
22+
"go.opentelemetry.io/collector/receiver/scraperhelper"
2323
)
2424

2525
// BaseFactory for creating Scrapers.
@@ -34,7 +34,7 @@ type ScraperFactory interface {
3434

3535
// CreateMetricsScraper creates a scraper based on this config.
3636
// If the config is not valid, error will be returned instead.
37-
CreateMetricsScraper(ctx context.Context, logger *zap.Logger, cfg Config) (receiverhelper.MetricsScraper, error)
37+
CreateMetricsScraper(ctx context.Context, logger *zap.Logger, cfg Config) (scraperhelper.MetricsScraper, error)
3838
}
3939

4040
// ResourceScraperFactory can create a ResourceScraper.
@@ -43,7 +43,7 @@ type ResourceScraperFactory interface {
4343

4444
// CreateResourceMetricsScraper creates a resource scraper based on this
4545
// config. If the config is not valid, error will be returned instead.
46-
CreateResourceMetricsScraper(ctx context.Context, logger *zap.Logger, cfg Config) (receiverhelper.ResourceMetricsScraper, error)
46+
CreateResourceMetricsScraper(ctx context.Context, logger *zap.Logger, cfg Config) (scraperhelper.ResourceMetricsScraper, error)
4747
}
4848

4949
// Config is the configuration of a scraper.

receiver/hostmetricsreceiver/internal/scraper/cpuscraper/factory.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"go.uber.org/zap"
2121

2222
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal"
23-
"go.opentelemetry.io/collector/receiver/receiverhelper"
23+
"go.opentelemetry.io/collector/receiver/scraperhelper"
2424
)
2525

2626
// This file implements Factory for CPU scraper.
@@ -44,14 +44,14 @@ func (f *Factory) CreateMetricsScraper(
4444
ctx context.Context,
4545
_ *zap.Logger,
4646
config internal.Config,
47-
) (receiverhelper.MetricsScraper, error) {
47+
) (scraperhelper.MetricsScraper, error) {
4848
cfg := config.(*Config)
4949
s := newCPUScraper(ctx, cfg)
5050

51-
ms := receiverhelper.NewMetricsScraper(
51+
ms := scraperhelper.NewMetricsScraper(
5252
TypeStr,
5353
s.Scrape,
54-
receiverhelper.WithInitialize(s.Initialize),
54+
scraperhelper.WithInitialize(s.Initialize),
5555
)
5656

5757
return ms, nil

receiver/hostmetricsreceiver/internal/scraper/diskscraper/factory.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"go.uber.org/zap"
2121

2222
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal"
23-
"go.opentelemetry.io/collector/receiver/receiverhelper"
23+
"go.opentelemetry.io/collector/receiver/scraperhelper"
2424
)
2525

2626
// This file implements Factory for Disk scraper.
@@ -44,17 +44,17 @@ func (f *Factory) CreateMetricsScraper(
4444
ctx context.Context,
4545
_ *zap.Logger,
4646
config internal.Config,
47-
) (receiverhelper.MetricsScraper, error) {
47+
) (scraperhelper.MetricsScraper, error) {
4848
cfg := config.(*Config)
4949
s, err := newDiskScraper(ctx, cfg)
5050
if err != nil {
5151
return nil, err
5252
}
5353

54-
ms := receiverhelper.NewMetricsScraper(
54+
ms := scraperhelper.NewMetricsScraper(
5555
TypeStr,
5656
s.Scrape,
57-
receiverhelper.WithInitialize(s.Initialize),
57+
scraperhelper.WithInitialize(s.Initialize),
5858
)
5959

6060
return ms, nil

receiver/hostmetricsreceiver/internal/scraper/filesystemscraper/factory.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"go.uber.org/zap"
2121

2222
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal"
23-
"go.opentelemetry.io/collector/receiver/receiverhelper"
23+
"go.opentelemetry.io/collector/receiver/scraperhelper"
2424
)
2525

2626
// This file implements Factory for FileSystem scraper.
@@ -49,14 +49,14 @@ func (f *Factory) CreateMetricsScraper(
4949
ctx context.Context,
5050
_ *zap.Logger,
5151
config internal.Config,
52-
) (receiverhelper.MetricsScraper, error) {
52+
) (scraperhelper.MetricsScraper, error) {
5353
cfg := config.(*Config)
5454
s, err := newFileSystemScraper(ctx, cfg)
5555
if err != nil {
5656
return nil, err
5757
}
5858

59-
ms := receiverhelper.NewMetricsScraper(TypeStr, s.Scrape)
59+
ms := scraperhelper.NewMetricsScraper(TypeStr, s.Scrape)
6060

6161
return ms, nil
6262
}

receiver/hostmetricsreceiver/internal/scraper/filesystemscraper/filesystem_scraper.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"go.opentelemetry.io/collector/consumer/consumererror"
2525
"go.opentelemetry.io/collector/consumer/pdata"
2626
"go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal"
27-
"go.opentelemetry.io/collector/receiver/receiverhelper"
27+
"go.opentelemetry.io/collector/receiver/scraperhelper"
2828
)
2929

3030
const (
@@ -91,7 +91,7 @@ func (s *scraper) Scrape(_ context.Context) (pdata.MetricSlice, error) {
9191
appendSystemSpecificMetrics(metrics, 1, now, usages)
9292
}
9393

94-
err = receiverhelper.CombineScrapeErrors(errors)
94+
err = scraperhelper.CombineScrapeErrors(errors)
9595
if err != nil && len(usages) == 0 {
9696
partialErr := err.(consumererror.PartialScrapeError)
9797
partialErr.Failed = metricsLen

0 commit comments

Comments
 (0)