Skip to content

Commit 232ce85

Browse files
authored
add resource_to_telemetry_conversion support in prometheusremotewriterexporter (#3031)
1 parent 1d40a12 commit 232ce85

File tree

5 files changed

+10
-0
lines changed

5 files changed

+10
-0
lines changed

exporter/prometheusremotewriteexporter/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,4 @@ Several helper files are leveraged to provide additional capabilities automatica
5252
- [HTTP settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/confighttp/README.md)
5353
- [TLS and mTLS settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md)
5454
- [Retry and timeout settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md), note that the exporter doesn't support `sending_queue`.
55+
- [Resource attributes to Metric labels](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md),

exporter/prometheusremotewriteexporter/config.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ type Config struct {
3535
ExternalLabels map[string]string `mapstructure:"external_labels"`
3636

3737
HTTPClientSettings confighttp.HTTPClientSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct.
38+
39+
// ResourceToTelemetrySettings is the option for converting resource attributes to telemetry attributes.
40+
// "Enabled" - A boolean field to enable/disable this option. Default is `false`.
41+
// If enabled, all the resource attributes will be converted to metric labels by default.
42+
exporterhelper.ResourceToTelemetrySettings `mapstructure:"resource_to_telemetry_conversion"`
3843
}
3944

4045
var _ config.Exporter = (*Config)(nil)

exporter/prometheusremotewriteexporter/config_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,6 @@ func Test_loadConfig(t *testing.T) {
8383
"prometheus-remote-write-version": "0.1.0",
8484
"x-scope-orgid": "234"},
8585
},
86+
ResourceToTelemetrySettings: exporterhelper.ResourceToTelemetrySettings{Enabled: true},
8687
})
8788
}

exporter/prometheusremotewriteexporter/factory.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ func createMetricsExporter(_ context.Context, params component.ExporterCreatePar
7474
// and allow users to modify the queue size.
7575
}),
7676
exporterhelper.WithRetry(prwCfg.RetrySettings),
77+
exporterhelper.WithResourceToTelemetryConversion(prwCfg.ResourceToTelemetrySettings),
7778
exporterhelper.WithShutdown(prwe.Shutdown),
7879
)
7980

exporter/prometheusremotewriteexporter/testdata/config.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ exporters:
2626
external_labels:
2727
key1: value1
2828
key2: value2
29+
resource_to_telemetry_conversion:
30+
enabled: true
2931

3032
service:
3133
pipelines:

0 commit comments

Comments
 (0)