From f6e7ac373619e40b9562b472850290e7d062ec8c Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Mon, 10 Feb 2025 12:43:38 +0100 Subject: [PATCH] Revert "service discovery: Report additional names separately (#33817)" This reverts commit 27d21666fa86abb368e80de5ec458b5062932389. --- .../corechecks/servicediscovery/events.go | 2 -- .../servicediscovery/events_test.go | 4 --- .../servicediscovery/impl_linux_test.go | 3 --- .../servicediscovery/model/model.go | 1 - .../servicediscovery/module/impl_linux.go | 21 +++++++-------- .../servicediscovery/service_detector.go | 26 +++++++++---------- .../servicediscovery/service_detector_test.go | 5 ++-- 7 files changed, 23 insertions(+), 39 deletions(-) diff --git a/pkg/collector/corechecks/servicediscovery/events.go b/pkg/collector/corechecks/servicediscovery/events.go index 9ff8071bb0ed7..aef9a54c361ac 100644 --- a/pkg/collector/corechecks/servicediscovery/events.go +++ b/pkg/collector/corechecks/servicediscovery/events.go @@ -31,7 +31,6 @@ type eventPayload struct { ServiceName string `json:"service_name"` GeneratedServiceName string `json:"generated_service_name"` GeneratedServiceNameSource string `json:"generated_service_name_source,omitempty"` - AdditionalGeneratedNames []string `json:"additional_generated_names,omitempty"` ContainerServiceName string `json:"container_service_name,omitempty"` ContainerServiceNameSource string `json:"container_service_name_source,omitempty"` DDService string `json:"dd_service,omitempty"` @@ -83,7 +82,6 @@ func (ts *telemetrySender) newEvent(t eventType, service model.Service) *event { ServiceName: service.Name, GeneratedServiceName: service.GeneratedName, GeneratedServiceNameSource: service.GeneratedNameSource, - AdditionalGeneratedNames: service.AdditionalGeneratedNames, ContainerServiceName: service.ContainerServiceName, ContainerServiceNameSource: service.ContainerServiceNameSource, DDService: service.DDService, diff --git a/pkg/collector/corechecks/servicediscovery/events_test.go b/pkg/collector/corechecks/servicediscovery/events_test.go index 0a9807ea618b8..81d322ffdf278 100644 --- a/pkg/collector/corechecks/servicediscovery/events_test.go +++ b/pkg/collector/corechecks/servicediscovery/events_test.go @@ -57,7 +57,6 @@ func Test_telemetrySender(t *testing.T) { Name: "test-service", GeneratedName: "generated-name", GeneratedNameSource: "generated-name-source", - AdditionalGeneratedNames: []string{"additional0", "additional1"}, ContainerServiceName: "container-service-name", ContainerServiceNameSource: "service", DDService: "dd-service", @@ -87,7 +86,6 @@ func Test_telemetrySender(t *testing.T) { ServiceName: "test-service", GeneratedServiceName: "generated-name", GeneratedServiceNameSource: "generated-name-source", - AdditionalGeneratedNames: []string{"additional0", "additional1"}, ContainerServiceName: "container-service-name", ContainerServiceNameSource: "service", DDService: "dd-service", @@ -116,7 +114,6 @@ func Test_telemetrySender(t *testing.T) { ServiceName: "test-service", GeneratedServiceName: "generated-name", GeneratedServiceNameSource: "generated-name-source", - AdditionalGeneratedNames: []string{"additional0", "additional1"}, ContainerServiceName: "container-service-name", ContainerServiceNameSource: "service", DDService: "dd-service", @@ -145,7 +142,6 @@ func Test_telemetrySender(t *testing.T) { ServiceName: "test-service", GeneratedServiceName: "generated-name", GeneratedServiceNameSource: "generated-name-source", - AdditionalGeneratedNames: []string{"additional0", "additional1"}, ContainerServiceName: "container-service-name", ContainerServiceNameSource: "service", DDService: "dd-service", diff --git a/pkg/collector/corechecks/servicediscovery/impl_linux_test.go b/pkg/collector/corechecks/servicediscovery/impl_linux_test.go index 38cfaa2aa7df2..64921b5e723ae 100644 --- a/pkg/collector/corechecks/servicediscovery/impl_linux_test.go +++ b/pkg/collector/corechecks/servicediscovery/impl_linux_test.go @@ -96,7 +96,6 @@ var ( Name: "python-service", GeneratedName: "python-service", GeneratedNameSource: "python-service-source", - AdditionalGeneratedNames: []string{"bar", "foo"}, ContainerServiceName: "test-service-1-container", ContainerServiceNameSource: "app", Language: "python", @@ -269,7 +268,6 @@ func Test_linuxImpl(t *testing.T) { ServiceName: "python-service", GeneratedServiceName: "python-service", GeneratedServiceNameSource: "python-service-source", - AdditionalGeneratedNames: []string{"bar", "foo"}, ContainerServiceName: "test-service-1-container", ContainerServiceNameSource: "app", ServiceType: "web_service", @@ -293,7 +291,6 @@ func Test_linuxImpl(t *testing.T) { ServiceName: "python-service", GeneratedServiceName: "python-service", GeneratedServiceNameSource: "python-service-source", - AdditionalGeneratedNames: []string{"bar", "foo"}, ContainerServiceName: "test-service-1-container", ContainerServiceNameSource: "app", ServiceType: "web_service", diff --git a/pkg/collector/corechecks/servicediscovery/model/model.go b/pkg/collector/corechecks/servicediscovery/model/model.go index c8ed7a2ead1d3..1e9e4e0e6a54f 100644 --- a/pkg/collector/corechecks/servicediscovery/model/model.go +++ b/pkg/collector/corechecks/servicediscovery/model/model.go @@ -12,7 +12,6 @@ type Service struct { Name string `json:"name"` GeneratedName string `json:"generated_name"` GeneratedNameSource string `json:"generated_name_source"` - AdditionalGeneratedNames []string `json:"additional_generated_names"` ContainerServiceName string `json:"container_service_name"` ContainerServiceNameSource string `json:"container_service_name_source"` DDService string `json:"dd_service"` diff --git a/pkg/collector/corechecks/servicediscovery/module/impl_linux.go b/pkg/collector/corechecks/servicediscovery/module/impl_linux.go index 220d001ed5df9..69e78b9e86af1 100644 --- a/pkg/collector/corechecks/servicediscovery/module/impl_linux.go +++ b/pkg/collector/corechecks/servicediscovery/module/impl_linux.go @@ -58,7 +58,6 @@ type serviceInfo struct { name string generatedName string generatedNameSource string - additionalGeneratedNames []string containerServiceName string containerServiceNameSource string ddServiceName string @@ -88,7 +87,6 @@ func (i *serviceInfo) toModelService(pid int32, out *model.Service) *model.Servi out.Name = i.name out.GeneratedName = i.generatedName out.GeneratedNameSource = i.generatedNameSource - out.AdditionalGeneratedNames = i.additionalGeneratedNames out.ContainerServiceName = i.containerServiceName out.ContainerServiceNameSource = i.containerServiceNameSource out.DDService = i.ddServiceName @@ -540,16 +538,15 @@ func (s *discovery) getServiceInfo(pid int32) (*serviceInfo, error) { } return &serviceInfo{ - name: name, - generatedName: nameMeta.Name, - generatedNameSource: string(nameMeta.Source), - additionalGeneratedNames: nameMeta.AdditionalNames, - ddServiceName: nameMeta.DDService, - language: lang, - apmInstrumentation: apmInstrumentation, - ddServiceInjected: nameMeta.DDServiceInjected, - cmdLine: sanitizeCmdLine(s.scrubber, cmdline), - startTimeMilli: uint64(createTime), + name: name, + generatedName: nameMeta.Name, + generatedNameSource: string(nameMeta.Source), + ddServiceName: nameMeta.DDService, + language: lang, + apmInstrumentation: apmInstrumentation, + ddServiceInjected: nameMeta.DDServiceInjected, + cmdLine: sanitizeCmdLine(s.scrubber, cmdline), + startTimeMilli: uint64(createTime), }, nil } diff --git a/pkg/collector/corechecks/servicediscovery/service_detector.go b/pkg/collector/corechecks/servicediscovery/service_detector.go index 9a72778751396..10a4db408229f 100644 --- a/pkg/collector/corechecks/servicediscovery/service_detector.go +++ b/pkg/collector/corechecks/servicediscovery/service_detector.go @@ -23,31 +23,29 @@ type ServiceMetadata struct { } func fixAdditionalNames(additionalNames []string) []string { - if len(additionalNames) == 0 { - return additionalNames - } - out := make([]string, 0, len(additionalNames)) for _, v := range additionalNames { - if len(strings.TrimSpace(v)) == 0 { - continue - } - - // lang is only used for fallback names, which we don't use since we - // check for errors. - norm, err := traceutil.NormalizeService(v, "") - if err == nil { - out = append(out, norm) + if len(strings.TrimSpace(v)) > 0 { + out = append(out, v) } } slices.Sort(out) return out } +func makeFinalName(meta usm.ServiceMetadata) string { + name := meta.Name + if len(meta.AdditionalNames) > 0 { + name = name + "-" + strings.Join(fixAdditionalNames(meta.AdditionalNames), "-") + } + + return name +} + // fixupMetadata performs additional adjustments on the meta data returned from // the meta data extraction library. func fixupMetadata(meta usm.ServiceMetadata, lang language.Language) usm.ServiceMetadata { - meta.AdditionalNames = fixAdditionalNames(meta.AdditionalNames) + meta.Name = makeFinalName(meta) langName := "" if lang != language.Unknown { diff --git a/pkg/collector/corechecks/servicediscovery/service_detector_test.go b/pkg/collector/corechecks/servicediscovery/service_detector_test.go index ab98c96544121..5f250161237c4 100644 --- a/pkg/collector/corechecks/servicediscovery/service_detector_test.go +++ b/pkg/collector/corechecks/servicediscovery/service_detector_test.go @@ -27,7 +27,6 @@ func TestFixup(t *testing.T) { assert.Equal(t, meta.Name, "unnamed-service") assert.Equal(t, meta.DDService, "") - meta = fixupMetadata(usm.ServiceMetadata{Name: "foo", AdditionalNames: []string{"bAr", " ", "*", "baz", "a"}}, language.Go) - assert.Equal(t, "foo", meta.Name) - assert.Equal(t, []string{"a", "bar", "baz"}, meta.AdditionalNames) + meta = fixupMetadata(usm.ServiceMetadata{Name: "foo", AdditionalNames: []string{"bar", "baz"}}, language.Go) + assert.Equal(t, meta.Name, "foo-bar-baz") }