Skip to content

Commit 7374de3

Browse files
authored
[receiver/lightprometheus] Change configurable resource_attribute names (#6257)
* [receiver/lightprometheus] Change configurable resource_attribute names
1 parent b24455f commit 7374de3

File tree

7 files changed

+67
-9
lines changed

7 files changed

+67
-9
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
## Unreleased
44

5+
### 🚩 Deprecations 🚩
6+
7+
- (Splunk) `receiver/lightprometheus`: The following configurable `resource_attributes` are being renamed to match semantic conventions. ([#6257](https://github.com/signalfx/splunk-otel-collector/pull/6257))
8+
- `net.host.name` -> `server.address`
9+
- `net.host.port` -> `server.port`
10+
- `http.scheme` -> `url.scheme`
11+
12+
`net.host.name`, `net.host.port`, and `http.scheme` are now considered to be deprecated and will be removed in a future release.
13+
514
### 💡 Enhancements 💡
615

716
- (Splunk) `deployments/nomad`: Add official support for `v1.9.7` ([#6248](https://github.com/signalfx/splunk-otel-collector/pull/6248))

internal/receiver/lightprometheusreceiver/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ The following settings can be optionally configured:
3535
- `enabled`: (default: true)
3636
- `service.instance.id`:
3737
- `enabled`: (default: true)
38-
- `net.host.name`:
38+
- `server.address`:
3939
- `enabled`: (default: false)
40-
- `net.host.port`:
40+
- `server.port`:
4141
- `enabled`: (default: false)
42-
- `http.scheme`:
42+
- `url.scheme`:
4343
- `enabled`: (default: false)
4444
- [HTTP Client Configuration options](https://github.com/open-telemetry/opentelemetry-collector/tree/main/config/confighttp#client-configuration)
4545

internal/receiver/lightprometheusreceiver/config.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ func createDefaultConfig() component.Config {
2828
// set the default collection interval to 30 seconds which is half of the
2929
// lowest job frequency of 1 minute
3030
scs.CollectionInterval = time.Second * 30
31+
3132
return &Config{
3233
ControllerConfig: scs,
3334
ClientConfig: confighttp.NewDefaultClientConfig(),
@@ -37,8 +38,12 @@ func createDefaultConfig() component.Config {
3738
NetHostName: ResourceAttributeConfig{Enabled: false},
3839
NetHostPort: ResourceAttributeConfig{Enabled: false},
3940
HTTPScheme: ResourceAttributeConfig{Enabled: false},
41+
ServerAddress: ResourceAttributeConfig{Enabled: false},
42+
ServerPort: ResourceAttributeConfig{Enabled: false},
43+
URLScheme: ResourceAttributeConfig{Enabled: false},
4044
},
4145
}
46+
4247
}
4348

4449
// ResourceAttributeConfig provides configuration for a resource attribute.
@@ -50,6 +55,9 @@ type ResourceAttributeConfig struct {
5055
type ResourceAttributesConfig struct {
5156
ServiceName ResourceAttributeConfig `mapstructure:"service.name"`
5257
ServiceInstanceID ResourceAttributeConfig `mapstructure:"service.instance.id"`
58+
ServerAddress ResourceAttributeConfig `mapstructure:"server.address"`
59+
ServerPort ResourceAttributeConfig `mapstructure:"server.port"`
60+
URLScheme ResourceAttributeConfig `mapstructure:"url.scheme"`
5361
NetHostName ResourceAttributeConfig `mapstructure:"net.host.name"`
5462
NetHostPort ResourceAttributeConfig `mapstructure:"net.host.port"`
5563
HTTPScheme ResourceAttributeConfig `mapstructure:"http.scheme"`

internal/receiver/lightprometheusreceiver/config_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ func TestValidConfig(t *testing.T) {
4747
ResourceAttributes: ResourceAttributesConfig{
4848
ServiceInstanceID: ResourceAttributeConfig{Enabled: false},
4949
ServiceName: ResourceAttributeConfig{Enabled: false},
50-
NetHostName: ResourceAttributeConfig{Enabled: true},
51-
NetHostPort: ResourceAttributeConfig{Enabled: false},
52-
HTTPScheme: ResourceAttributeConfig{Enabled: false},
50+
ServerAddress: ResourceAttributeConfig{Enabled: true},
51+
ServerPort: ResourceAttributeConfig{Enabled: false},
52+
URLScheme: ResourceAttributeConfig{Enabled: false},
5353
},
5454
}
5555
expectedCfg.ClientConfig.Endpoint = "http://localhost:9090/metrics"

internal/receiver/lightprometheusreceiver/scraper.go

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import (
2929
"go.opentelemetry.io/collector/pdata/pcommon"
3030
"go.opentelemetry.io/collector/pdata/pmetric"
3131
"go.opentelemetry.io/collector/receiver"
32-
conventions "go.opentelemetry.io/collector/semconv/v1.6.1"
32+
conventions "go.opentelemetry.io/collector/semconv/v1.25.0"
3333
"go.uber.org/zap"
3434
)
3535

@@ -55,6 +55,16 @@ func newScraper(
5555
}
5656

5757
func (s *scraper) start(ctx context.Context, host component.Host) error {
58+
if s.cfg.ResourceAttributes.NetHostName.Enabled {
59+
s.settings.Logger.Warn("[Deprecated] The resource attribute `net.host.name` has been renamed `server.address.name` to match semantic conventions in `v0.126.0`. Please update references. `net.host.name` will be removed in a future release.")
60+
}
61+
if s.cfg.ResourceAttributes.NetHostPort.Enabled {
62+
s.settings.Logger.Warn("[Deprecated] The resource attribute `net.host.port` has been renamed `server.port` to match semantic conventions in `v0.126.0`. Please update references. `net.host.port` will be removed in a future release.")
63+
}
64+
if s.cfg.ResourceAttributes.HTTPScheme.Enabled {
65+
s.settings.Logger.Warn("[Deprecated] The resource attribute `http.scheme` has been renamed `url.scheme` to match semantic conventions in `v0.126.0`. Please update references. `http.scheme` will be removed in a future release.")
66+
}
67+
5868
s.startTime = pcommon.NewTimestampFromTime(time.Now())
5969
var err error
6070
s.client, err = s.cfg.ClientConfig.ToClient(ctx, host, s.settings)
@@ -100,18 +110,31 @@ func (s *scraper) fetchPrometheusMetrics(fetch fetcher) (pmetric.Metrics, error)
100110
if s.cfg.ResourceAttributes.ServiceName.Enabled {
101111
res.Attributes().PutStr(conventions.AttributeServiceName, s.name)
102112
}
113+
103114
if s.cfg.ResourceAttributes.NetHostName.Enabled {
104115
res.Attributes().PutStr(conventions.AttributeNetHostName, u.Host)
105116
}
117+
if s.cfg.ResourceAttributes.ServerAddress.Enabled {
118+
res.Attributes().PutStr(conventions.AttributeServerAddress, u.Host)
119+
}
120+
106121
if s.cfg.ResourceAttributes.ServiceInstanceID.Enabled {
107122
res.Attributes().PutStr(conventions.AttributeServiceInstanceID, u.Host)
108123
}
124+
109125
if s.cfg.ResourceAttributes.NetHostPort.Enabled {
110126
res.Attributes().PutStr(conventions.AttributeNetHostPort, u.Port())
111127
}
128+
if s.cfg.ResourceAttributes.ServerPort.Enabled {
129+
res.Attributes().PutStr(conventions.AttributeServerPort, u.Port())
130+
}
131+
112132
if s.cfg.ResourceAttributes.HTTPScheme.Enabled {
113133
res.Attributes().PutStr(conventions.AttributeHTTPScheme, u.Scheme)
114134
}
135+
if s.cfg.ResourceAttributes.URLScheme.Enabled {
136+
res.Attributes().PutStr(conventions.AttributeURLScheme, u.Scheme)
137+
}
115138
s.convertMetricFamilies(metricFamilies, rm)
116139
return m, nil
117140
}

internal/receiver/lightprometheusreceiver/scraper_test.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030
"go.opentelemetry.io/collector/confmap/xconfmap"
3131
"go.opentelemetry.io/collector/pdata/pmetric"
3232
"go.opentelemetry.io/collector/receiver/receivertest"
33-
conventions "go.opentelemetry.io/collector/semconv/v1.6.1"
33+
conventions "go.opentelemetry.io/collector/semconv/v1.25.0"
3434
)
3535

3636
func TestScraper(t *testing.T) {
@@ -53,6 +53,24 @@ func TestScraper(t *testing.T) {
5353
},
5454
{
5555
name: "all_resource_attributes",
56+
cfg: func() *Config {
57+
cfg := createDefaultConfig().(*Config)
58+
cfg.ResourceAttributes.ServiceName.Enabled = true
59+
cfg.ResourceAttributes.URLScheme.Enabled = true
60+
cfg.ResourceAttributes.ServerPort.Enabled = true
61+
cfg.ResourceAttributes.ServerAddress.Enabled = true
62+
return cfg
63+
}(),
64+
expectedResourceAttributes: map[string]any{
65+
conventions.AttributeServiceName: "",
66+
conventions.AttributeServiceInstanceID: u.Host,
67+
conventions.AttributeServerAddress: u.Host,
68+
conventions.AttributeServerPort: u.Port(),
69+
conventions.AttributeURLScheme: "http",
70+
},
71+
},
72+
{
73+
name: "deprecated_resource_attributes",
5674
cfg: func() *Config {
5775
cfg := createDefaultConfig().(*Config)
5876
cfg.ResourceAttributes.ServiceName.Enabled = true

internal/receiver/lightprometheusreceiver/testdata/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ lightprometheus:
66
enabled: false
77
service.instance.id:
88
enabled: false
9-
net.host.name:
9+
server.address:
1010
enabled: true

0 commit comments

Comments
 (0)