Skip to content

Commit 9b02bed

Browse files
authored
Update OTel dependencies (#1061)
1 parent c6a51d5 commit 9b02bed

30 files changed

+1434
-1061
lines changed

go.mod

Lines changed: 186 additions & 181 deletions
Large diffs are not rendered by default.

go.sum

Lines changed: 527 additions & 428 deletions
Large diffs are not rendered by default.

internal/collector/factories.go

Lines changed: 36 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
package collector
66

77
import (
8-
"errors"
9-
108
nginxreceiver "github.com/nginx/agent/v3/internal/collector/nginxossreceiver"
119
"github.com/nginx/agent/v3/internal/collector/nginxplusreceiver"
1210
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter"
@@ -39,32 +37,11 @@ import (
3937
// OTelComponentFactories returns all the OTel collector components supported
4038
// based on https://github.com/DataDog/datadog-agent/blob/main/comp/otelcol/collector-contrib/impl/collectorcontrib.go
4139
func OTelComponentFactories() (otelcol.Factories, error) {
42-
var errs error
43-
44-
connectors, err := createConnectorFactories()
45-
if err != nil {
46-
errs = errors.Join(errs, err)
47-
}
48-
49-
extensions, err := createExtensionFactories()
50-
if err != nil {
51-
errs = errors.Join(errs, err)
52-
}
53-
54-
receivers, err := createReceiverFactories()
55-
if err != nil {
56-
errs = errors.Join(errs, err)
57-
}
58-
59-
processors, err := createProcessorFactories()
60-
if err != nil {
61-
errs = errors.Join(errs, err)
62-
}
63-
64-
exporters, err := createExporterFactories()
65-
if err != nil {
66-
errs = errors.Join(errs, err)
67-
}
40+
connectors := createConnectorFactories()
41+
extensions := createExtensionFactories()
42+
receivers := createReceiverFactories()
43+
processors := createProcessorFactories()
44+
exporters := createExporterFactories()
6845

6946
factories := otelcol.Factories{
7047
Connectors: connectors,
@@ -74,26 +51,29 @@ func OTelComponentFactories() (otelcol.Factories, error) {
7451
Exporters: exporters,
7552
}
7653

77-
return factories, errs
54+
return factories, nil
7855
}
7956

80-
func createConnectorFactories() (map[component.Type]connector.Factory, error) {
81-
var connectorsList []connector.Factory
82-
83-
return connector.MakeFactoryMap(connectorsList...)
57+
func createConnectorFactories() map[component.Type]connector.Factory {
58+
return make(map[component.Type]connector.Factory)
8459
}
8560

86-
func createExtensionFactories() (map[component.Type]extension.Factory, error) {
61+
func createExtensionFactories() map[component.Type]extension.Factory {
8762
extensionsList := []extension.Factory{
8863
headerssetterextension.NewFactory(),
8964
healthcheckextension.NewFactory(),
9065
pprofextension.NewFactory(),
9166
}
9267

93-
return extension.MakeFactoryMap(extensionsList...)
68+
extensions := make(map[component.Type]extension.Factory)
69+
for _, extensionFactory := range extensionsList {
70+
extensions[extensionFactory.Type()] = extensionFactory
71+
}
72+
73+
return extensions
9474
}
9575

96-
func createReceiverFactories() (map[component.Type]receiver.Factory, error) {
76+
func createReceiverFactories() map[component.Type]receiver.Factory {
9777
receiverList := []receiver.Factory{
9878
otlpreceiver.NewFactory(),
9979
hostmetricsreceiver.NewFactory(),
@@ -102,10 +82,15 @@ func createReceiverFactories() (map[component.Type]receiver.Factory, error) {
10282
tcplogreceiver.NewFactory(),
10383
}
10484

105-
return receiver.MakeFactoryMap(receiverList...)
85+
receivers := make(map[component.Type]receiver.Factory)
86+
for _, receiverFactory := range receiverList {
87+
receivers[receiverFactory.Type()] = receiverFactory
88+
}
89+
90+
return receivers
10691
}
10792

108-
func createProcessorFactories() (map[component.Type]processor.Factory, error) {
93+
func createProcessorFactories() map[component.Type]processor.Factory {
10994
processorList := []processor.Factory{
11095
attributesprocessor.NewFactory(),
11196
batchprocessor.NewFactory(),
@@ -117,16 +102,26 @@ func createProcessorFactories() (map[component.Type]processor.Factory, error) {
117102
transformprocessor.NewFactory(),
118103
}
119104

120-
return processor.MakeFactoryMap(processorList...)
105+
processors := make(map[component.Type]processor.Factory)
106+
for _, processorFactory := range processorList {
107+
processors[processorFactory.Type()] = processorFactory
108+
}
109+
110+
return processors
121111
}
122112

123-
func createExporterFactories() (map[component.Type]exporter.Factory, error) {
113+
func createExporterFactories() map[component.Type]exporter.Factory {
124114
exporterList := []exporter.Factory{
125115
debugexporter.NewFactory(),
126116
prometheusexporter.NewFactory(),
127117
otlpexporter.NewFactory(),
128118
otlphttpexporter.NewFactory(),
129119
}
130120

131-
return exporter.MakeFactoryMap(exporterList...)
121+
exporters := make(map[component.Type]exporter.Factory)
122+
for _, exporterFactory := range exporterList {
123+
exporters[exporterFactory.Type()] = exporterFactory
124+
}
125+
126+
return exporters
132127
}

internal/collector/nginxossreceiver/factory.go

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,29 @@ import (
99
"context"
1010
"errors"
1111

12-
"go.opentelemetry.io/collector/component"
13-
"go.opentelemetry.io/collector/consumer"
14-
"go.opentelemetry.io/collector/receiver"
15-
"go.opentelemetry.io/collector/receiver/scraperhelper"
12+
"go.opentelemetry.io/collector/scraper"
1613

1714
"github.com/nginx/agent/v3/internal/collector/nginxossreceiver/internal/config"
1815
"github.com/nginx/agent/v3/internal/collector/nginxossreceiver/internal/metadata"
1916
"github.com/nginx/agent/v3/internal/collector/nginxossreceiver/internal/scraper/accesslog"
2017
"github.com/nginx/agent/v3/internal/collector/nginxossreceiver/internal/scraper/stubstatus"
18+
"go.opentelemetry.io/collector/component"
19+
"go.opentelemetry.io/collector/consumer"
20+
"go.opentelemetry.io/collector/receiver"
21+
"go.opentelemetry.io/collector/scraper/scraperhelper"
2122
)
2223

2324
// nolint: ireturn
2425
func NewFactory() receiver.Factory {
2526
return receiver.NewFactory(
2627
metadata.Type,
2728
config.CreateDefaultConfig,
28-
receiver.WithMetrics(createMetricsReceiver, metadata.MetricsStability))
29+
receiver.WithMetrics(createMetrics, metadata.MetricsStability),
30+
)
2931
}
3032

3133
// nolint: ireturn
32-
func createMetricsReceiver(
34+
func createMetrics(
3335
_ context.Context,
3436
params receiver.Settings,
3537
rConf component.Config,
@@ -40,24 +42,39 @@ func createMetricsReceiver(
4042
return nil, errors.New("cast to metrics receiver config")
4143
}
4244

43-
logger := params.Logger.Sugar()
45+
var controllers []scraperhelper.ControllerOption
4446

45-
ns := stubstatus.NewScraper(params, cfg)
46-
scraperOpts := []scraperhelper.ScraperControllerOption{
47-
scraperhelper.AddScraperWithType(metadata.Type, ns),
47+
stubStatusScraper := stubstatus.NewScraper(params, cfg)
48+
stubStatusMetrics, stubStatusMetricsError := scraper.NewMetrics(
49+
stubStatusScraper.Scrape,
50+
scraper.WithStart(stubStatusScraper.Start),
51+
scraper.WithShutdown(stubStatusScraper.Shutdown),
52+
)
53+
if stubStatusMetricsError != nil {
54+
return nil, stubStatusMetricsError
4855
}
4956

57+
controllers = append(controllers, scraperhelper.AddScraper(metadata.Type, stubStatusMetrics))
58+
5059
if len(cfg.AccessLogs) > 0 {
51-
nals, err := accesslog.NewScraper(params, cfg)
52-
if err != nil {
53-
logger.Errorf("Failed to initialize NGINX Access Log scraper: %s", err.Error())
54-
} else {
55-
scraperOpts = append(scraperOpts, scraperhelper.AddScraperWithType(metadata.Type, nals))
60+
accessLogScraper := accesslog.NewScraper(params, cfg)
61+
62+
accessLogMetrics, accessLogMetricsError := scraper.NewMetrics(
63+
accessLogScraper.Scrape,
64+
scraper.WithStart(accessLogScraper.Start),
65+
scraper.WithShutdown(accessLogScraper.Shutdown),
66+
)
67+
if accessLogMetricsError != nil {
68+
return nil, accessLogMetricsError
5669
}
70+
71+
controllers = append(controllers, scraperhelper.AddScraper(metadata.Type, accessLogMetrics))
5772
}
5873

59-
return scraperhelper.NewScraperControllerReceiver(
60-
&cfg.ControllerConfig, params, cons,
61-
scraperOpts...,
74+
return scraperhelper.NewMetricsController(
75+
&cfg.ControllerConfig,
76+
params,
77+
cons,
78+
controllers...,
6279
)
6380
}

internal/collector/nginxossreceiver/factory_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"go.opentelemetry.io/collector/component/componenttest"
1515
"go.opentelemetry.io/collector/consumer/consumertest"
1616
"go.opentelemetry.io/collector/receiver/receivertest"
17-
"go.opentelemetry.io/collector/receiver/scraperhelper"
17+
"go.opentelemetry.io/collector/scraper/scraperhelper"
1818

1919
"github.com/nginx/agent/v3/internal/collector/nginxossreceiver/internal/config"
2020
"github.com/nginx/agent/v3/internal/collector/nginxossreceiver/internal/metadata"
@@ -36,7 +36,7 @@ func TestCreateMetricsReceiver(t *testing.T) {
3636
factory := NewFactory()
3737
metricsReceiver, err := factory.CreateMetrics(
3838
context.Background(),
39-
receivertest.NewNopSettings(),
39+
receivertest.NewNopSettings(metadata.Type),
4040
&config.Config{
4141
ControllerConfig: scraperhelper.ControllerConfig{
4242
CollectionInterval: 10 * time.Second,

internal/collector/nginxossreceiver/generated_component_test.go

Lines changed: 7 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/collector/nginxossreceiver/internal/config/config.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ package config // import "github.com/open-telemetry/opentelemetry-collector-cont
88
import (
99
"time"
1010

11+
"go.opentelemetry.io/collector/scraper/scraperhelper"
12+
1113
"go.opentelemetry.io/collector/component"
1214
"go.opentelemetry.io/collector/config/confighttp"
13-
"go.opentelemetry.io/collector/receiver/scraperhelper"
1415

1516
"github.com/nginx/agent/v3/internal/collector/nginxossreceiver/internal/metadata"
1617
)

internal/collector/nginxossreceiver/internal/metadata/generated_metrics.go

Lines changed: 33 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)