From aa764826e13cd89e63dcd9b162f1796c5284302e Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Wed, 14 Feb 2024 07:49:56 -0800 Subject: [PATCH] [mdatagen] produce scope name with full url (#9556) This is part of #9494 --------- Signed-off-by: Alex Boten --- .chloggen/codeboten_consisten-scope-name.yaml | 25 ++++++++++++++++ .../internal/metadata/generated_metrics.go | 2 +- .../internal/metadata/generated_status.go | 7 +++-- cmd/mdatagen/loader.go | 30 +++++++------------ cmd/mdatagen/loader_test.go | 4 +-- cmd/mdatagen/main_test.go | 14 +++++---- cmd/mdatagen/templates/status.go.tmpl | 5 ++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- .../internal/metadata/generated_status.go | 7 +++-- 18 files changed, 98 insertions(+), 66 deletions(-) create mode 100755 .chloggen/codeboten_consisten-scope-name.yaml diff --git a/.chloggen/codeboten_consisten-scope-name.yaml b/.chloggen/codeboten_consisten-scope-name.yaml new file mode 100755 index 00000000000..058c08d9876 --- /dev/null +++ b/.chloggen/codeboten_consisten-scope-name.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: breaking + +# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver) +component: all + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: scope name for all generated Meter/Tracer funcs now includes full package name + +# One or more tracking issues or pull requests related to the change +issues: [9494] + +# (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: [] diff --git a/cmd/mdatagen/internal/metadata/generated_metrics.go b/cmd/mdatagen/internal/metadata/generated_metrics.go index a52195c69df..a6d8a7e4169 100644 --- a/cmd/mdatagen/internal/metadata/generated_metrics.go +++ b/cmd/mdatagen/internal/metadata/generated_metrics.go @@ -368,7 +368,7 @@ func (mb *MetricsBuilder) EmitForResource(rmo ...ResourceMetricsOption) { rm := pmetric.NewResourceMetrics() rm.SetSchemaUrl(conventions.SchemaURL) ils := rm.ScopeMetrics().AppendEmpty() - ils.Scope().SetName("otelcol") + ils.Scope().SetName("go.opentelemetry.io/collector") ils.Scope().SetVersion(mb.buildInfo.Version) ils.Metrics().EnsureCapacity(mb.metricsCapacity) mb.metricDefaultMetric.emit(ils.Metrics()) diff --git a/cmd/mdatagen/internal/metadata/generated_status.go b/cmd/mdatagen/internal/metadata/generated_status.go index 773067ac829..7e332e5ba4a 100644 --- a/cmd/mdatagen/internal/metadata/generated_status.go +++ b/cmd/mdatagen/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("file") + Type = component.MustNewType("file") + scopeName = "go.opentelemetry.io/collector" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/cmd/mdatagen/loader.go b/cmd/mdatagen/loader.go index ab558aecb2e..8b4b996a5e2 100644 --- a/cmd/mdatagen/loader.go +++ b/cmd/mdatagen/loader.go @@ -267,18 +267,18 @@ func loadMetadata(filePath string) (metadata, error) { return md, nil } -var componentTypes = map[string]func(string) string{ - "connector": func(in string) string { return strings.TrimSuffix(in, "connector") }, - "exporter": func(in string) string { return strings.TrimSuffix(in, "exporter") }, - "extension": func(in string) string { return strings.TrimSuffix(in, "extension") }, - "processor": func(in string) string { return strings.TrimSuffix(in, "processor") }, - "scraper": func(in string) string { return strings.TrimSuffix(in, "scraper") }, - "receiver": func(in string) string { return in }, +var componentTypes = []string{ + "connector", + "exporter", + "extension", + "processor", + "scraper", + "receiver", } func shortFolderName(filePath string) string { parentFolder := filepath.Base(filepath.Dir(filePath)) - for cType := range componentTypes { + for _, cType := range componentTypes { if strings.HasSuffix(parentFolder, cType) { return strings.TrimSuffix(parentFolder, cType) } @@ -287,20 +287,12 @@ func shortFolderName(filePath string) string { } func scopeName(filePath string) string { - sn := "otelcol" + sn := "go.opentelemetry.io/collector" dirs := strings.Split(filepath.Dir(filePath), string(os.PathSeparator)) for _, dir := range dirs { - // skip directory names for component types - if _, ok := componentTypes[dir]; ok { - continue - } - // note here that the only component that receives a different - // treatment is receivers. this is to prevent breaking backwards - // compatibility for anyone that's using the generated metrics w/ - // scope names today. - for cType, normalizeFunc := range componentTypes { + for _, cType := range componentTypes { if strings.HasSuffix(dir, cType) { - sn += "/" + normalizeFunc(dir) + sn += "/" + dir } } } diff --git a/cmd/mdatagen/loader_test.go b/cmd/mdatagen/loader_test.go index 3cb037adae1..aafacc8f252 100644 --- a/cmd/mdatagen/loader_test.go +++ b/cmd/mdatagen/loader_test.go @@ -214,7 +214,7 @@ func Test_loadMetadata(t *testing.T) { }, }, }, - ScopeName: "otelcol", + ScopeName: "go.opentelemetry.io/collector", ShortFolderName: ".", }, }, @@ -223,7 +223,7 @@ func Test_loadMetadata(t *testing.T) { want: metadata{ Type: "subcomponent", Parent: "parentComponent", - ScopeName: "otelcol", + ScopeName: "go.opentelemetry.io/collector", ShortFolderName: "testdata", }, }, diff --git a/cmd/mdatagen/main_test.go b/cmd/mdatagen/main_test.go index ce56247a78f..e8c54eaa88a 100644 --- a/cmd/mdatagen/main_test.go +++ b/cmd/mdatagen/main_test.go @@ -366,7 +366,8 @@ import ( ) var ( - Type = component.MustNewType("foo") + Type = component.MustNewType("foo") + scopeName = "" ) const ( @@ -374,11 +375,11 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("") + return settings.TracerProvider.Tracer(scopeName) } `, }, @@ -403,7 +404,8 @@ import ( ) var ( - Type = component.MustNewType("foo") + Type = component.MustNewType("foo") + scopeName = "" ) const ( @@ -411,11 +413,11 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("") + return settings.TracerProvider.Tracer(scopeName) } `, }, diff --git a/cmd/mdatagen/templates/status.go.tmpl b/cmd/mdatagen/templates/status.go.tmpl index 850058b9cfa..d35cf76ff01 100644 --- a/cmd/mdatagen/templates/status.go.tmpl +++ b/cmd/mdatagen/templates/status.go.tmpl @@ -10,6 +10,7 @@ import ( var ( Type = component.MustNewType("{{ .Type }}") + scopeName = "{{ .ScopeName }}" ) const ( @@ -21,9 +22,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("{{ .ScopeName }}") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("{{ .ScopeName }}") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/connector/forwardconnector/internal/metadata/generated_status.go b/connector/forwardconnector/internal/metadata/generated_status.go index 9505adb84d7..201502cd3e2 100644 --- a/connector/forwardconnector/internal/metadata/generated_status.go +++ b/connector/forwardconnector/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("forward") + Type = component.MustNewType("forward") + scopeName = "go.opentelemetry.io/collector/connector/forwardconnector" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/forward") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/forward") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/exporter/debugexporter/internal/metadata/generated_status.go b/exporter/debugexporter/internal/metadata/generated_status.go index 53acecdba3c..18587820654 100644 --- a/exporter/debugexporter/internal/metadata/generated_status.go +++ b/exporter/debugexporter/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("debug") + Type = component.MustNewType("debug") + scopeName = "go.opentelemetry.io/collector/exporter/debugexporter" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/debug") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/debug") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/exporter/loggingexporter/internal/metadata/generated_status.go b/exporter/loggingexporter/internal/metadata/generated_status.go index dc0bf4e123d..64c84dcae1f 100644 --- a/exporter/loggingexporter/internal/metadata/generated_status.go +++ b/exporter/loggingexporter/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("logging") + Type = component.MustNewType("logging") + scopeName = "go.opentelemetry.io/collector/exporter/loggingexporter" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/logging") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/logging") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/exporter/otlpexporter/internal/metadata/generated_status.go b/exporter/otlpexporter/internal/metadata/generated_status.go index f4222df7521..4b0d0f0ecd5 100644 --- a/exporter/otlpexporter/internal/metadata/generated_status.go +++ b/exporter/otlpexporter/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("otlp") + Type = component.MustNewType("otlp") + scopeName = "go.opentelemetry.io/collector/exporter/otlpexporter" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/otlp") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/otlp") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/exporter/otlphttpexporter/internal/metadata/generated_status.go b/exporter/otlphttpexporter/internal/metadata/generated_status.go index 8917eb822f7..d9f62544a6f 100644 --- a/exporter/otlphttpexporter/internal/metadata/generated_status.go +++ b/exporter/otlphttpexporter/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("otlphttp") + Type = component.MustNewType("otlphttp") + scopeName = "go.opentelemetry.io/collector/exporter/otlphttpexporter" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/otlphttp") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/otlphttp") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/extension/ballastextension/internal/metadata/generated_status.go b/extension/ballastextension/internal/metadata/generated_status.go index 02205c5623e..c6407064c52 100644 --- a/extension/ballastextension/internal/metadata/generated_status.go +++ b/extension/ballastextension/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("memory_ballast") + Type = component.MustNewType("memory_ballast") + scopeName = "go.opentelemetry.io/collector/extension/ballastextension" ) const ( @@ -18,9 +19,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/ballast") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/ballast") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/extension/memorylimiterextension/internal/metadata/generated_status.go b/extension/memorylimiterextension/internal/metadata/generated_status.go index c5131e1f7a7..5f0f98ec044 100644 --- a/extension/memorylimiterextension/internal/metadata/generated_status.go +++ b/extension/memorylimiterextension/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("memory_limiter") + Type = component.MustNewType("memory_limiter") + scopeName = "go.opentelemetry.io/collector/extension/memorylimiterextension" ) const ( @@ -18,9 +19,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/memorylimiter") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/memorylimiter") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/extension/zpagesextension/internal/metadata/generated_status.go b/extension/zpagesextension/internal/metadata/generated_status.go index 5460b8c79f9..21ba9b8e88e 100644 --- a/extension/zpagesextension/internal/metadata/generated_status.go +++ b/extension/zpagesextension/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("zpages") + Type = component.MustNewType("zpages") + scopeName = "go.opentelemetry.io/collector/extension/zpagesextension" ) const ( @@ -18,9 +19,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/zpages") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/zpages") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/processor/batchprocessor/internal/metadata/generated_status.go b/processor/batchprocessor/internal/metadata/generated_status.go index 2ccbff8e2b3..b3956d2b0a2 100644 --- a/processor/batchprocessor/internal/metadata/generated_status.go +++ b/processor/batchprocessor/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("batch") + Type = component.MustNewType("batch") + scopeName = "go.opentelemetry.io/collector/processor/batchprocessor" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/batch") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/batch") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/processor/memorylimiterprocessor/internal/metadata/generated_status.go b/processor/memorylimiterprocessor/internal/metadata/generated_status.go index 5fd2a9e9bc0..0b2058d89df 100644 --- a/processor/memorylimiterprocessor/internal/metadata/generated_status.go +++ b/processor/memorylimiterprocessor/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("memory_limiter") + Type = component.MustNewType("memory_limiter") + scopeName = "go.opentelemetry.io/collector/processor/memorylimiterprocessor" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/memorylimiter") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/memorylimiter") + return settings.TracerProvider.Tracer(scopeName) } diff --git a/receiver/otlpreceiver/internal/metadata/generated_status.go b/receiver/otlpreceiver/internal/metadata/generated_status.go index 8a7bc0b7be0..aa5483d7b5a 100644 --- a/receiver/otlpreceiver/internal/metadata/generated_status.go +++ b/receiver/otlpreceiver/internal/metadata/generated_status.go @@ -10,7 +10,8 @@ import ( ) var ( - Type = component.MustNewType("otlp") + Type = component.MustNewType("otlp") + scopeName = "go.opentelemetry.io/collector/receiver/otlpreceiver" ) const ( @@ -20,9 +21,9 @@ const ( ) func Meter(settings component.TelemetrySettings) metric.Meter { - return settings.MeterProvider.Meter("otelcol/otlpreceiver") + return settings.MeterProvider.Meter(scopeName) } func Tracer(settings component.TelemetrySettings) trace.Tracer { - return settings.TracerProvider.Tracer("otelcol/otlpreceiver") + return settings.TracerProvider.Tracer(scopeName) }