From a25309d3a899fa99a6f8f793187220ce8e209a2a Mon Sep 17 00:00:00 2001 From: Chao Date: Mon, 3 Mar 2025 00:14:12 +0800 Subject: [PATCH] [mdatagen] Add variable for metric name --- .chloggen/add-metric-name-variable.yaml | 25 +++++++++++++++++++ .../internal/metadata/generated_config.go | 8 +++++- .../metadata/generated_config_test.go | 20 +++++++-------- .../internal/metadata/generated_config.go | 8 +++++- .../metadata/generated_config_test.go | 20 +++++++-------- .../internal/templates/config.go.tmpl | 4 ++- .../internal/templates/config_test.go.tmpl | 4 +-- 7 files changed, 64 insertions(+), 25 deletions(-) create mode 100644 .chloggen/add-metric-name-variable.yaml diff --git a/.chloggen/add-metric-name-variable.yaml b/.chloggen/add-metric-name-variable.yaml new file mode 100644 index 00000000000..2b3fe7ab4da --- /dev/null +++ b/.chloggen/add-metric-name-variable.yaml @@ -0,0 +1,25 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver) +component: mdatagen + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add variable for metric name in mdatagen + +# One or more tracking issues or pull requests related to the change +issues: [12459] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [api] diff --git a/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config.go b/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config.go index 05ddc47ac40..a60c26cc043 100644 --- a/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config.go +++ b/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config.go @@ -9,7 +9,8 @@ import ( // MetricConfig provides common config for a particular metric. type MetricConfig struct { - Enabled bool `mapstructure:"enabled"` + Enabled bool `mapstructure:"enabled"` + Name string `mapstructure:"name"` enabledSetByUser bool } @@ -39,18 +40,23 @@ func DefaultMetricsConfig() MetricsConfig { return MetricsConfig{ DefaultMetric: MetricConfig{ Enabled: true, + Name: "default.metric", }, DefaultMetricToBeRemoved: MetricConfig{ Enabled: true, + Name: "default.metric.to_be_removed", }, MetricInputType: MetricConfig{ Enabled: true, + Name: "metric.input_type", }, OptionalMetric: MetricConfig{ Enabled: false, + Name: "optional.metric", }, OptionalMetricEmptyUnit: MetricConfig{ Enabled: false, + Name: "optional.metric.empty_unit", }, } } diff --git a/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config_test.go b/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config_test.go index 10e225b7211..63321456610 100644 --- a/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config_test.go +++ b/cmd/mdatagen/internal/samplereceiver/internal/metadata/generated_config_test.go @@ -26,11 +26,11 @@ func TestMetricsBuilderConfig(t *testing.T) { name: "all_set", want: MetricsBuilderConfig{ Metrics: MetricsConfig{ - DefaultMetric: MetricConfig{Enabled: true}, - DefaultMetricToBeRemoved: MetricConfig{Enabled: true}, - MetricInputType: MetricConfig{Enabled: true}, - OptionalMetric: MetricConfig{Enabled: true}, - OptionalMetricEmptyUnit: MetricConfig{Enabled: true}, + DefaultMetric: MetricConfig{Enabled: true, Name: "default.metric"}, + DefaultMetricToBeRemoved: MetricConfig{Enabled: true, Name: "default.metric.to_be_removed"}, + MetricInputType: MetricConfig{Enabled: true, Name: "metric.input_type"}, + OptionalMetric: MetricConfig{Enabled: true, Name: "optional.metric"}, + OptionalMetricEmptyUnit: MetricConfig{Enabled: true, Name: "optional.metric.empty_unit"}, }, ResourceAttributes: ResourceAttributesConfig{ MapResourceAttr: ResourceAttributeConfig{Enabled: true}, @@ -48,11 +48,11 @@ func TestMetricsBuilderConfig(t *testing.T) { name: "none_set", want: MetricsBuilderConfig{ Metrics: MetricsConfig{ - DefaultMetric: MetricConfig{Enabled: false}, - DefaultMetricToBeRemoved: MetricConfig{Enabled: false}, - MetricInputType: MetricConfig{Enabled: false}, - OptionalMetric: MetricConfig{Enabled: false}, - OptionalMetricEmptyUnit: MetricConfig{Enabled: false}, + DefaultMetric: MetricConfig{Enabled: false, Name: "default.metric"}, + DefaultMetricToBeRemoved: MetricConfig{Enabled: false, Name: "default.metric.to_be_removed"}, + MetricInputType: MetricConfig{Enabled: false, Name: "metric.input_type"}, + OptionalMetric: MetricConfig{Enabled: false, Name: "optional.metric"}, + OptionalMetricEmptyUnit: MetricConfig{Enabled: false, Name: "optional.metric.empty_unit"}, }, ResourceAttributes: ResourceAttributesConfig{ MapResourceAttr: ResourceAttributeConfig{Enabled: false}, diff --git a/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config.go b/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config.go index 05ddc47ac40..a60c26cc043 100644 --- a/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config.go +++ b/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config.go @@ -9,7 +9,8 @@ import ( // MetricConfig provides common config for a particular metric. type MetricConfig struct { - Enabled bool `mapstructure:"enabled"` + Enabled bool `mapstructure:"enabled"` + Name string `mapstructure:"name"` enabledSetByUser bool } @@ -39,18 +40,23 @@ func DefaultMetricsConfig() MetricsConfig { return MetricsConfig{ DefaultMetric: MetricConfig{ Enabled: true, + Name: "default.metric", }, DefaultMetricToBeRemoved: MetricConfig{ Enabled: true, + Name: "default.metric.to_be_removed", }, MetricInputType: MetricConfig{ Enabled: true, + Name: "metric.input_type", }, OptionalMetric: MetricConfig{ Enabled: false, + Name: "optional.metric", }, OptionalMetricEmptyUnit: MetricConfig{ Enabled: false, + Name: "optional.metric.empty_unit", }, } } diff --git a/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config_test.go b/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config_test.go index 10e225b7211..63321456610 100644 --- a/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config_test.go +++ b/cmd/mdatagen/internal/samplescraper/internal/metadata/generated_config_test.go @@ -26,11 +26,11 @@ func TestMetricsBuilderConfig(t *testing.T) { name: "all_set", want: MetricsBuilderConfig{ Metrics: MetricsConfig{ - DefaultMetric: MetricConfig{Enabled: true}, - DefaultMetricToBeRemoved: MetricConfig{Enabled: true}, - MetricInputType: MetricConfig{Enabled: true}, - OptionalMetric: MetricConfig{Enabled: true}, - OptionalMetricEmptyUnit: MetricConfig{Enabled: true}, + DefaultMetric: MetricConfig{Enabled: true, Name: "default.metric"}, + DefaultMetricToBeRemoved: MetricConfig{Enabled: true, Name: "default.metric.to_be_removed"}, + MetricInputType: MetricConfig{Enabled: true, Name: "metric.input_type"}, + OptionalMetric: MetricConfig{Enabled: true, Name: "optional.metric"}, + OptionalMetricEmptyUnit: MetricConfig{Enabled: true, Name: "optional.metric.empty_unit"}, }, ResourceAttributes: ResourceAttributesConfig{ MapResourceAttr: ResourceAttributeConfig{Enabled: true}, @@ -48,11 +48,11 @@ func TestMetricsBuilderConfig(t *testing.T) { name: "none_set", want: MetricsBuilderConfig{ Metrics: MetricsConfig{ - DefaultMetric: MetricConfig{Enabled: false}, - DefaultMetricToBeRemoved: MetricConfig{Enabled: false}, - MetricInputType: MetricConfig{Enabled: false}, - OptionalMetric: MetricConfig{Enabled: false}, - OptionalMetricEmptyUnit: MetricConfig{Enabled: false}, + DefaultMetric: MetricConfig{Enabled: false, Name: "default.metric"}, + DefaultMetricToBeRemoved: MetricConfig{Enabled: false, Name: "default.metric.to_be_removed"}, + MetricInputType: MetricConfig{Enabled: false, Name: "metric.input_type"}, + OptionalMetric: MetricConfig{Enabled: false, Name: "optional.metric"}, + OptionalMetricEmptyUnit: MetricConfig{Enabled: false, Name: "optional.metric.empty_unit"}, }, ResourceAttributes: ResourceAttributesConfig{ MapResourceAttr: ResourceAttributeConfig{Enabled: false}, diff --git a/cmd/mdatagen/internal/templates/config.go.tmpl b/cmd/mdatagen/internal/templates/config.go.tmpl index 877d435754b..b0e1f118308 100644 --- a/cmd/mdatagen/internal/templates/config.go.tmpl +++ b/cmd/mdatagen/internal/templates/config.go.tmpl @@ -12,7 +12,8 @@ import ( // MetricConfig provides common config for a particular metric. type MetricConfig struct { - Enabled bool `mapstructure:"enabled"` + Enabled bool `mapstructure:"enabled"` + Name string `mapstructure:"name"` enabledSetByUser bool } @@ -41,6 +42,7 @@ func DefaultMetricsConfig() MetricsConfig { {{- range $name, $metric := .Metrics }} {{ $name.Render }}: MetricConfig{ Enabled: {{ $metric.Enabled }}, + Name: "{{ $name }}", }, {{- end }} } diff --git a/cmd/mdatagen/internal/templates/config_test.go.tmpl b/cmd/mdatagen/internal/templates/config_test.go.tmpl index b07683ec709..cac8457bab7 100644 --- a/cmd/mdatagen/internal/templates/config_test.go.tmpl +++ b/cmd/mdatagen/internal/templates/config_test.go.tmpl @@ -27,7 +27,7 @@ func TestMetricsBuilderConfig(t *testing.T) { want: MetricsBuilderConfig{ Metrics: MetricsConfig{ {{- range $name, $_ := .Metrics }} - {{ $name.Render }}: MetricConfig{Enabled: true}, + {{ $name.Render }}: MetricConfig{Enabled: true, Name: "{{ $name }}"}, {{- end }} }, {{- if .ResourceAttributes }} @@ -44,7 +44,7 @@ func TestMetricsBuilderConfig(t *testing.T) { want: MetricsBuilderConfig{ Metrics: MetricsConfig{ {{- range $name, $_ := .Metrics }} - {{ $name.Render }}: MetricConfig{Enabled: false}, + {{ $name.Render }}: MetricConfig{Enabled: false, Name: "{{ $name }}"}, {{- end }} }, {{- if .ResourceAttributes }}