From cdd1ad44b258b8a0286d46f984541ae28856b41a Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 15:23:23 -0600 Subject: [PATCH 01/10] [pkg/ottl]: move profile support to new xprofile module --- pkg/ottl/xprofile/Makefile | 1 + pkg/ottl/xprofile/README.md | 8 ++++++++ pkg/ottl/xprofile/doc.go | 6 ++++++ pkg/ottl/xprofile/go.mod | 5 +++++ pkg/ottl/xprofile/go.sum | 10 ++++++++++ pkg/ottl/xprofile/metadata.yaml | 9 +++++++++ pkg/ottl/xprofile/package_test.go | 14 ++++++++++++++ 7 files changed, 53 insertions(+) create mode 100644 pkg/ottl/xprofile/Makefile create mode 100644 pkg/ottl/xprofile/README.md create mode 100644 pkg/ottl/xprofile/doc.go create mode 100644 pkg/ottl/xprofile/go.mod create mode 100644 pkg/ottl/xprofile/go.sum create mode 100644 pkg/ottl/xprofile/metadata.yaml create mode 100644 pkg/ottl/xprofile/package_test.go diff --git a/pkg/ottl/xprofile/Makefile b/pkg/ottl/xprofile/Makefile new file mode 100644 index 0000000000000..bdd863a203be8 --- /dev/null +++ b/pkg/ottl/xprofile/Makefile @@ -0,0 +1 @@ +include ../../../Makefile.Common diff --git a/pkg/ottl/xprofile/README.md b/pkg/ottl/xprofile/README.md new file mode 100644 index 0000000000000..f412599f992e1 --- /dev/null +++ b/pkg/ottl/xprofile/README.md @@ -0,0 +1,8 @@ +# OTTL Profiles + +This module houses OTTL's profiles support: the `ottlprofile` and +`ottlprofilesample` contexts, their profile-only internals, and the `ProfileID` +converter. + +Profiles support is under active development and is versioned independently at +0.x so that it sits outside of OTTL's stability guarantees. diff --git a/pkg/ottl/xprofile/doc.go b/pkg/ottl/xprofile/doc.go new file mode 100644 index 0000000000000..afd22d50d5a8f --- /dev/null +++ b/pkg/ottl/xprofile/doc.go @@ -0,0 +1,6 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package xprofile houses OTTL's profiles support outside of OTTL's stability +// guarantees, versioned independently at 0.x. +package xprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/xprofile" diff --git a/pkg/ottl/xprofile/go.mod b/pkg/ottl/xprofile/go.mod new file mode 100644 index 0000000000000..27af66acf4d69 --- /dev/null +++ b/pkg/ottl/xprofile/go.mod @@ -0,0 +1,5 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/xprofile + +go 1.26.0 + +require go.uber.org/goleak v1.3.0 diff --git a/pkg/ottl/xprofile/go.sum b/pkg/ottl/xprofile/go.sum new file mode 100644 index 0000000000000..d39b9ad7427ec --- /dev/null +++ b/pkg/ottl/xprofile/go.sum @@ -0,0 +1,10 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/pkg/ottl/xprofile/metadata.yaml b/pkg/ottl/xprofile/metadata.yaml new file mode 100644 index 0000000000000..082f71ad4b64f --- /dev/null +++ b/pkg/ottl/xprofile/metadata.yaml @@ -0,0 +1,9 @@ +status: + disable_codecov_badge: true + class: pkg + stability: + development: [ profiles ] + codeowners: + active: [TylerHelmuth, evan-bradley, edmocosta, bogdandrutu] + emeritus: [anuraaga, kentquirk] + seeking_new: true diff --git a/pkg/ottl/xprofile/package_test.go b/pkg/ottl/xprofile/package_test.go new file mode 100644 index 0000000000000..f87ff9f7e70ff --- /dev/null +++ b/pkg/ottl/xprofile/package_test.go @@ -0,0 +1,14 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package xprofile + +import ( + "testing" + + "go.uber.org/goleak" +) + +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m) +} From 26c1f723edd9ccc41b22ce57baaa6ffbee429282 Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 15:39:13 -0600 Subject: [PATCH 02/10] move profile contexts into new module --- .github/CODEOWNERS | 1 + .github/ISSUE_TEMPLATE/beta_stability.yaml | 1 + .github/ISSUE_TEMPLATE/bug_report.yaml | 1 + .github/ISSUE_TEMPLATE/feature_request.yaml | 1 + .github/ISSUE_TEMPLATE/other.yaml | 1 + .github/ISSUE_TEMPLATE/unmaintained.yaml | 1 + connector/countconnector/connector.go | 2 +- connector/countconnector/factory.go | 2 +- connector/countconnector/go.mod | 3 + connector/datadogconnector/go.mod | 3 + .../signaltometricsconnector/config/config.go | 2 +- .../signaltometricsconnector/connector.go | 2 +- connector/signaltometricsconnector/factory.go | 2 +- connector/signaltometricsconnector/go.mod | 3 + .../internal/customottl/funcs.go | 2 +- connector/sumconnector/go.mod | 3 + .../datadogexporter/integrationtest/go.mod | 3 + exporter/honeycombmarkerexporter/go.mod | 3 + .../integrationtest/go.mod | 3 + internal/datadog/e2e/go.mod | 3 + internal/filter/filterottl/filter.go | 2 +- internal/filter/filterottl/filter_test.go | 2 +- internal/filter/filterottl/functions.go | 2 +- internal/filter/filterottl/path_context.go | 2 +- internal/filter/go.mod | 3 + pkg/ottl/README.md | 4 +- pkg/ottl/contexts/xprofile/Makefile | 1 + pkg/ottl/{ => contexts}/xprofile/README.md | 0 pkg/ottl/{ => contexts}/xprofile/doc.go | 2 +- .../xprofile}/e2e/profiles/e2e_test.go | 2 +- pkg/ottl/contexts/xprofile/go.mod | 70 ++++++ pkg/ottl/contexts/xprofile/go.sum | 205 ++++++++++++++++++ .../internal/ctxprofile/context.go | 4 +- .../internal/ctxprofile/profile.go | 4 +- .../internal/ctxprofile/profile_test.go | 2 +- .../internal/ctxprofile/value_type.go | 2 +- .../internal/ctxprofile/value_type_test.go | 2 +- .../internal/ctxprofilecommon/attributes.go | 2 +- .../ctxprofilecommon/attributes_test.go | 2 +- .../internal/ctxprofilesample/context.go | 4 +- .../ctxprofilesample/profilesample.go | 4 +- .../ctxprofilesample/profilesample_test.go | 2 +- .../internal/logprofile/logging.go | 2 +- .../internal/logprofile/logging_test.go | 0 .../{ => contexts}/xprofile/metadata.yaml | 0 .../{ => xprofile}/ottlprofile/README.md | 0 .../ottlprofile/package_test.go | 0 .../{ => xprofile}/ottlprofile/profile.go | 6 +- .../ottlprofile/profile_test.go | 2 +- .../ottlprofilesample/README.md | 0 .../ottlprofilesample/package_test.go | 0 .../ottlprofilesample/profilesample.go | 8 +- .../ottlprofilesample/profilesample_test.go | 4 +- .../{ => contexts}/xprofile/package_test.go | 0 pkg/ottl/go.sum | 2 - pkg/ottl/xprofile/Makefile | 1 - pkg/ottl/xprofile/go.mod | 5 - pkg/ottl/xprofile/go.sum | 10 - .../adaptivetailsamplingprocessor/go.mod | 3 + processor/attributesprocessor/go.mod | 3 + processor/cumulativetodeltaprocessor/go.mod | 2 + processor/filterprocessor/README.md | 2 +- processor/filterprocessor/config.go | 2 +- processor/filterprocessor/factory.go | 2 +- processor/filterprocessor/factory_test.go | 2 +- processor/filterprocessor/functions.go | 2 +- processor/filterprocessor/go.mod | 3 + .../internal/condition/profiles.go | 2 +- processor/filterprocessor/profiles.go | 2 +- processor/filterprocessor/profiles_test.go | 2 +- processor/logdedupprocessor/go.mod | 3 + processor/spanprocessor/go.mod | 3 + processor/spanpruningprocessor/go.mod | 3 + processor/tailsamplingprocessor/go.mod | 3 + processor/transformprocessor/config.go | 2 +- processor/transformprocessor/factory.go | 2 +- processor/transformprocessor/factory_test.go | 2 +- processor/transformprocessor/functions.go | 2 +- processor/transformprocessor/go.mod | 3 + .../internal/common/profiles.go | 2 +- .../internal/profiles/functions.go | 2 +- .../internal/profiles/functions_test.go | 2 +- .../internal/profiles/processor.go | 2 +- .../internal/profiles/processor_test.go | 2 +- receiver/hostmetricsreceiver/go.mod | 2 + versions.yaml | 1 + 86 files changed, 394 insertions(+), 74 deletions(-) create mode 100644 pkg/ottl/contexts/xprofile/Makefile rename pkg/ottl/{ => contexts}/xprofile/README.md (100%) rename pkg/ottl/{ => contexts}/xprofile/doc.go (84%) rename pkg/ottl/{ => contexts/xprofile}/e2e/profiles/e2e_test.go (99%) create mode 100644 pkg/ottl/contexts/xprofile/go.mod create mode 100644 pkg/ottl/contexts/xprofile/go.sum rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofile/context.go (75%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofile/profile.go (98%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofile/profile_test.go (98%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofile/value_type.go (98%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofile/value_type_test.go (99%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofilecommon/attributes.go (97%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofilecommon/attributes_test.go (99%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofilesample/context.go (73%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofilesample/profilesample.go (96%) rename pkg/ottl/contexts/{ => xprofile}/internal/ctxprofilesample/profilesample_test.go (97%) rename pkg/ottl/contexts/{ => xprofile}/internal/logprofile/logging.go (99%) rename pkg/ottl/contexts/{ => xprofile}/internal/logprofile/logging_test.go (100%) rename pkg/ottl/{ => contexts}/xprofile/metadata.yaml (100%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofile/README.md (100%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofile/package_test.go (100%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofile/profile.go (98%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofile/profile_test.go (99%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofilesample/README.md (100%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofilesample/package_test.go (100%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofilesample/profilesample.go (97%) rename pkg/ottl/contexts/{ => xprofile}/ottlprofilesample/profilesample_test.go (97%) rename pkg/ottl/{ => contexts}/xprofile/package_test.go (100%) delete mode 100644 pkg/ottl/xprofile/Makefile delete mode 100644 pkg/ottl/xprofile/go.mod delete mode 100644 pkg/ottl/xprofile/go.sum diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 03498a4143dab..f432b0acc6d42 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -175,6 +175,7 @@ pkg/golden/ @open-telemetry pkg/kafka/configkafka/ @open-telemetry/collector-contrib-approvers @pavolloffay @MovieStoreGuy @paulojmdias pkg/kafka/topic/ @open-telemetry/collector-contrib-approvers @pavolloffay @MovieStoreGuy pkg/ottl/ @open-telemetry/collector-contrib-approvers @TylerHelmuth @evan-bradley @edmocosta @bogdandrutu +pkg/ottl/contexts/xprofile/ @open-telemetry/collector-contrib-approvers @TylerHelmuth @evan-bradley @edmocosta @bogdandrutu pkg/pdatatest/ @open-telemetry/collector-contrib-approvers pkg/pdatautil/ @open-telemetry/collector-contrib-approvers @dmitryax pkg/resourcetotelemetry/ @open-telemetry/collector-contrib-approvers @mx-psi diff --git a/.github/ISSUE_TEMPLATE/beta_stability.yaml b/.github/ISSUE_TEMPLATE/beta_stability.yaml index 389d2a217b123..03c0f22d3d490 100644 --- a/.github/ISSUE_TEMPLATE/beta_stability.yaml +++ b/.github/ISSUE_TEMPLATE/beta_stability.yaml @@ -172,6 +172,7 @@ body: - pkg/kafka/configkafka - pkg/kafka/topic - pkg/ottl + - pkg/ottl/contexts/xprofile - pkg/pdatatest - pkg/pdatautil - pkg/resourcetotelemetry diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index bf52fd906de29..5ce66ff5067c8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -175,6 +175,7 @@ body: - pkg/kafka/configkafka - pkg/kafka/topic - pkg/ottl + - pkg/ottl/contexts/xprofile - pkg/pdatatest - pkg/pdatautil - pkg/resourcetotelemetry diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 2274a6f005b3b..8db4574a75626 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -169,6 +169,7 @@ body: - pkg/kafka/configkafka - pkg/kafka/topic - pkg/ottl + - pkg/ottl/contexts/xprofile - pkg/pdatatest - pkg/pdatautil - pkg/resourcetotelemetry diff --git a/.github/ISSUE_TEMPLATE/other.yaml b/.github/ISSUE_TEMPLATE/other.yaml index 6ccd9f0c1138f..bdfdd695ca634 100644 --- a/.github/ISSUE_TEMPLATE/other.yaml +++ b/.github/ISSUE_TEMPLATE/other.yaml @@ -169,6 +169,7 @@ body: - pkg/kafka/configkafka - pkg/kafka/topic - pkg/ottl + - pkg/ottl/contexts/xprofile - pkg/pdatatest - pkg/pdatautil - pkg/resourcetotelemetry diff --git a/.github/ISSUE_TEMPLATE/unmaintained.yaml b/.github/ISSUE_TEMPLATE/unmaintained.yaml index 4a120e3c4d1fd..780b626ff3ba8 100644 --- a/.github/ISSUE_TEMPLATE/unmaintained.yaml +++ b/.github/ISSUE_TEMPLATE/unmaintained.yaml @@ -174,6 +174,7 @@ body: - pkg/kafka/configkafka - pkg/kafka/topic - pkg/ottl + - pkg/ottl/contexts/xprofile - pkg/pdatatest - pkg/pdatautil - pkg/resourcetotelemetry diff --git a/connector/countconnector/connector.go b/connector/countconnector/connector.go index 2db735d92290b..aa4952d0c41ad 100644 --- a/connector/countconnector/connector.go +++ b/connector/countconnector/connector.go @@ -20,7 +20,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" ) diff --git a/connector/countconnector/factory.go b/connector/countconnector/factory.go index 1960bc8b575c6..6d8cab06ece03 100644 --- a/connector/countconnector/factory.go +++ b/connector/countconnector/factory.go @@ -19,7 +19,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" ) diff --git a/connector/countconnector/go.mod b/connector/countconnector/go.mod index 8302ce533885a..e41f58ea0679b 100644 --- a/connector/countconnector/go.mod +++ b/connector/countconnector/go.mod @@ -64,6 +64,7 @@ require ( github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect github.com/prometheus/client_golang v1.24.1 // indirect github.com/prometheus/client_model v0.6.3 // indirect @@ -165,3 +166,5 @@ retract ( replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil => ../../internal/pdatautil + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/connector/datadogconnector/go.mod b/connector/datadogconnector/go.mod index d3c2557ec284b..e6c3d79945847 100644 --- a/connector/datadogconnector/go.mod +++ b/connector/datadogconnector/go.mod @@ -231,6 +231,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.160.0 // indirect github.com/openshift/api v0.0.0-20251015095338-264e80a2b6e7 // indirect @@ -406,3 +407,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog => replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/datadog => ../../internal/datadog replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../pkg/sampling + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/connector/signaltometricsconnector/config/config.go b/connector/signaltometricsconnector/config/config.go index 8e0b518636d01..156fdfd316a51 100644 --- a/connector/signaltometricsconnector/config/config.go +++ b/connector/signaltometricsconnector/config/config.go @@ -21,7 +21,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" ) diff --git a/connector/signaltometricsconnector/connector.go b/connector/signaltometricsconnector/connector.go index d1ee54ffb1cc6..2aaa4825623f1 100644 --- a/connector/signaltometricsconnector/connector.go +++ b/connector/signaltometricsconnector/connector.go @@ -21,7 +21,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" ) diff --git a/connector/signaltometricsconnector/factory.go b/connector/signaltometricsconnector/factory.go index 498c987c792e3..5f301bbb491bf 100644 --- a/connector/signaltometricsconnector/factory.go +++ b/connector/signaltometricsconnector/factory.go @@ -20,7 +20,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" ) diff --git a/connector/signaltometricsconnector/go.mod b/connector/signaltometricsconnector/go.mod index df99de8afb09e..a1c5256d6da80 100644 --- a/connector/signaltometricsconnector/go.mod +++ b/connector/signaltometricsconnector/go.mod @@ -59,6 +59,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -96,3 +97,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../pkg/sampling replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter => ../../internal/filter + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/connector/signaltometricsconnector/internal/customottl/funcs.go b/connector/signaltometricsconnector/internal/customottl/funcs.go index e674a13311f88..ae001d0f2484f 100644 --- a/connector/signaltometricsconnector/internal/customottl/funcs.go +++ b/connector/signaltometricsconnector/internal/customottl/funcs.go @@ -7,7 +7,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) diff --git a/connector/sumconnector/go.mod b/connector/sumconnector/go.mod index 459f9a8b433ba..41bb2f02f6cfd 100644 --- a/connector/sumconnector/go.mod +++ b/connector/sumconnector/go.mod @@ -51,6 +51,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -90,3 +91,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/exporter/datadogexporter/integrationtest/go.mod b/exporter/datadogexporter/integrationtest/go.mod index f8afc531bfa14..14d65e27f3bcc 100644 --- a/exporter/datadogexporter/integrationtest/go.mod +++ b/exporter/datadogexporter/integrationtest/go.mod @@ -243,6 +243,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/winperfcounters v0.160.0 // indirect @@ -440,3 +441,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/datad replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/gopsutilenv => ../../../internal/gopsutilenv replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../../pkg/sampling + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../../pkg/ottl/contexts/xprofile diff --git a/exporter/honeycombmarkerexporter/go.mod b/exporter/honeycombmarkerexporter/go.mod index 62eeb2b019467..bb6c8ed969195 100644 --- a/exporter/honeycombmarkerexporter/go.mod +++ b/exporter/honeycombmarkerexporter/go.mod @@ -63,6 +63,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/pierrec/lz4/v4 v4.1.29 // indirect github.com/rs/cors v1.11.1 // indirect github.com/twmb/murmur3 v1.1.8 // indirect @@ -120,3 +121,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/corei replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/extension/tailstorage/pebbletailstorageextension/integrationtest/go.mod b/extension/tailstorage/pebbletailstorageextension/integrationtest/go.mod index 2a3cb0762740a..2acf6c6388bf1 100644 --- a/extension/tailstorage/pebbletailstorageextension/integrationtest/go.mod +++ b/extension/tailstorage/pebbletailstorageextension/integrationtest/go.mod @@ -91,6 +91,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.160.0 // indirect github.com/pierrec/lz4/v4 v4.1.29 // indirect github.com/pkg/errors v0.9.1 // indirect @@ -230,3 +231,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../../../pkg/golden replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../../../pkg/sampling + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../../../pkg/ottl/contexts/xprofile diff --git a/internal/datadog/e2e/go.mod b/internal/datadog/e2e/go.mod index 2e70c10febe79..7b6787b2240b1 100644 --- a/internal/datadog/e2e/go.mod +++ b/internal/datadog/e2e/go.mod @@ -336,6 +336,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.160.0 // indirect @@ -624,3 +625,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/prob replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/xk8stest => ../../../pkg/xk8stest replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../coreinternal + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../../pkg/ottl/contexts/xprofile diff --git a/internal/filter/filterottl/filter.go b/internal/filter/filterottl/filter.go index 2f7e2014eb971..6fee581c13f69 100644 --- a/internal/filter/filterottl/filter.go +++ b/internal/filter/filterottl/filter.go @@ -11,7 +11,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" diff --git a/internal/filter/filterottl/filter_test.go b/internal/filter/filterottl/filter_test.go index 5c76426e53eee..6c9c247c29d22 100644 --- a/internal/filter/filterottl/filter_test.go +++ b/internal/filter/filterottl/filter_test.go @@ -13,7 +13,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" diff --git a/internal/filter/filterottl/functions.go b/internal/filter/filterottl/functions.go index 15d24509ba195..8d545f6e1ab77 100644 --- a/internal/filter/filterottl/functions.go +++ b/internal/filter/filterottl/functions.go @@ -14,7 +14,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" diff --git a/internal/filter/filterottl/path_context.go b/internal/filter/filterottl/path_context.go index d6a65e11f27e5..6ed1865873e88 100644 --- a/internal/filter/filterottl/path_context.go +++ b/internal/filter/filterottl/path_context.go @@ -10,7 +10,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" diff --git a/internal/filter/go.mod b/internal/filter/go.mod index bfcecb9088417..f8c566db260c1 100644 --- a/internal/filter/go.mod +++ b/internal/filter/go.mod @@ -46,6 +46,7 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -82,3 +83,5 @@ retract ( replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/pkg/ottl/README.md b/pkg/ottl/README.md index 097185c8d900e..1f1d5e0f846e0 100644 --- a/pkg/ottl/README.md +++ b/pkg/ottl/README.md @@ -54,8 +54,8 @@ To see a list of available Paths for each context, checkout the links below. | `Datapoint` | [DataPoint](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottldatapoint/README.md) | | `Exemplar` | [Exemplar](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottlexemplar/README.md) | | `Log` | [Log](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottllog/README.md) | -| `Profile` | [Profile](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottlprofile/README.md) | -| `Profile Sample` | [Profile Sample](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottlprofilesample/README.md) | +| `Profile` | [Profile](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/ottlprofile/README.md) | +| `Profile Sample` | [Profile Sample](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/ottlprofilesample/README.md) | For the complete list of contexts, see the [contexts documentation](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/README.md). diff --git a/pkg/ottl/contexts/xprofile/Makefile b/pkg/ottl/contexts/xprofile/Makefile new file mode 100644 index 0000000000000..11eb12b7ad9b3 --- /dev/null +++ b/pkg/ottl/contexts/xprofile/Makefile @@ -0,0 +1 @@ +include ../../../../Makefile.Common diff --git a/pkg/ottl/xprofile/README.md b/pkg/ottl/contexts/xprofile/README.md similarity index 100% rename from pkg/ottl/xprofile/README.md rename to pkg/ottl/contexts/xprofile/README.md diff --git a/pkg/ottl/xprofile/doc.go b/pkg/ottl/contexts/xprofile/doc.go similarity index 84% rename from pkg/ottl/xprofile/doc.go rename to pkg/ottl/contexts/xprofile/doc.go index afd22d50d5a8f..fd3d31f50858a 100644 --- a/pkg/ottl/xprofile/doc.go +++ b/pkg/ottl/contexts/xprofile/doc.go @@ -3,4 +3,4 @@ // Package xprofile houses OTTL's profiles support outside of OTTL's stability // guarantees, versioned independently at 0.x. -package xprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/xprofile" +package xprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile" diff --git a/pkg/ottl/e2e/profiles/e2e_test.go b/pkg/ottl/contexts/xprofile/e2e/profiles/e2e_test.go similarity index 99% rename from pkg/ottl/e2e/profiles/e2e_test.go rename to pkg/ottl/contexts/xprofile/e2e/profiles/e2e_test.go index 265dc51c27723..d73e099446960 100644 --- a/pkg/ottl/e2e/profiles/e2e_test.go +++ b/pkg/ottl/contexts/xprofile/e2e/profiles/e2e_test.go @@ -18,7 +18,7 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pprofiletest" ) diff --git a/pkg/ottl/contexts/xprofile/go.mod b/pkg/ottl/contexts/xprofile/go.mod new file mode 100644 index 0000000000000..8f7a883d1cc1a --- /dev/null +++ b/pkg/ottl/contexts/xprofile/go.mod @@ -0,0 +1,70 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile + +go 1.26.0 + +require ( + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.160.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.160.0 + github.com/stretchr/testify v1.12.1 + go.opentelemetry.io/collector/component v1.66.1-0.20260903163450-cc4b33fc673f + go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260903163450-cc4b33fc673f + go.opentelemetry.io/collector/pdata v1.66.1-0.20260903163450-cc4b33fc673f + go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260903163450-cc4b33fc673f + go.uber.org/goleak v1.3.0 + go.uber.org/zap v1.28.0 +) + +require ( + github.com/alecthomas/participle/v2 v2.1.4 // indirect + github.com/antchfx/xmlquery v1.5.1 // indirect + github.com/antchfx/xpath v1.3.8 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/elastic/go-grok v0.3.1 // indirect + github.com/elastic/lunes v0.2.2 // indirect + github.com/go-logr/logr v1.4.4 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/gobwas/glob v0.2.3 // indirect + github.com/goccy/go-json v0.10.6 // indirect + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/go-version v1.9.0 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/iancoleman/strcase v0.3.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect + github.com/magefile/mage v1.15.0 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect + github.com/twmb/murmur3 v1.1.8 // indirect + github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect + github.com/zeebo/xxh3 v1.1.0 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/collector/client v1.66.1-0.20260903163450-cc4b33fc673f // indirect + go.opentelemetry.io/collector/featuregate v1.66.1-0.20260903163450-cc4b33fc673f // indirect + go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260903163450-cc4b33fc673f // indirect + go.opentelemetry.io/otel v1.46.0 // indirect + go.opentelemetry.io/otel/metric v1.46.0 // indirect + go.opentelemetry.io/otel/sdk v1.46.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.46.0 // indirect + go.opentelemetry.io/otel/trace v1.46.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + go.yaml.in/yaml/v3 v3.0.5 // indirect + golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa // indirect + golang.org/x/net v0.58.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/text v0.41.0 // indirect + google.golang.org/grpc v1.83.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl => ../.. + +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../../../internal/coreinternal + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../../pdatautil + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../../pdatatest + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../../golden diff --git a/pkg/ottl/contexts/xprofile/go.sum b/pkg/ottl/contexts/xprofile/go.sum new file mode 100644 index 0000000000000..f276cf7262a3c --- /dev/null +++ b/pkg/ottl/contexts/xprofile/go.sum @@ -0,0 +1,205 @@ +github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= +github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= +github.com/alecthomas/participle/v2 v2.1.4 h1:W/H79S8Sat/krZ3el6sQMvMaahJ+XcM9WSI2naI7w2U= +github.com/alecthomas/participle/v2 v2.1.4/go.mod h1:8tqVbpTX20Ru4NfYQgZf4mP18eXPTBViyMWiArNEgGI= +github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= +github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/antchfx/xmlquery v1.5.1 h1:T9I4Ns1EXiWHy0IqKupGhnfTQtJwlGrpXtauYOoNv78= +github.com/antchfx/xmlquery v1.5.1/go.mod h1:bVqnl7TaDXSReKINrhZz+2E/PbCu2tUahb+wZ7WZNT8= +github.com/antchfx/xpath v1.3.6/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= +github.com/antchfx/xpath v1.3.8 h1:RQlkLaJDKk1Ew1H6CUPUTKM+IQxm+6HTyOgcrfqOU9c= +github.com/antchfx/xpath v1.3.8/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= +github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= +github.com/elastic/lunes v0.2.2 h1:dZFEaebNg9l+mzvOQN6Nd/c9y6y8rUe3tBWsTgvM08U= +github.com/elastic/lunes v0.2.2/go.mod h1:u3W/BdONWTrh0JjNZ21C907dDc+cUZttZrGa625nf2k= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.4 h1:tG4xh9yMsRCAiodLVTxyrkzSZ9+o0L1Kg/+cPVcbP/8= +github.com/go-logr/logr v1.4.4/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.6 h1:p8HrPJzOakx/mn/bQtjgNjdTcN+/S6FcG2CTtQOrHVU= +github.com/goccy/go-json v0.10.6/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= +github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= +github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.12.1 h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE= +github.com/stretchr/testify v1.12.1/go.mod h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg= +github.com/twmb/murmur3 v1.1.8 h1:8Yt9taO/WN3l08xErzjeschgZU2QSrwm1kclYq+0aRg= +github.com/twmb/murmur3 v1.1.8/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ= +github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 h1:yS0rzVnj7Z/ZeHzvv5erQbO2b8gyTL4CeMNodl9SJMQ= +github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8/go.mod h1:gwANdYmo9R8LLwGnyDFWK2PMsaXXX2HhAvCnb/UhZsM= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs= +github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/collector/client v1.66.1-0.20260903163450-cc4b33fc673f h1:zsTlCuarjOR6G7ARmsu2kKbtr9kwjplxpEiGQ1abHkg= +go.opentelemetry.io/collector/client v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:pH/NTKb1jXgUYXvVnRZpYq/kiBse8hJJcQSkCns4dF8= +go.opentelemetry.io/collector/component v1.66.1-0.20260903163450-cc4b33fc673f h1:GFyL3uR/RoBjCb8AatAN+PdGw7czL7cvQrxteC6a+fc= +go.opentelemetry.io/collector/component v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:IIS7ZSCTijjAy5uaCwqAp6RKqOs1rzHl3EmwBZ6B0V4= +go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260903163450-cc4b33fc673f h1:m7/SlPt8EtnmMGQ1AjSQIqrCOS5ocMyL1wbcYEfyseg= +go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:Rp9rk0xkLrfbWGhz78/y7swrC1rLG8nSOVb0tjRW2TI= +go.opentelemetry.io/collector/consumer v1.66.1-0.20260903163450-cc4b33fc673f h1:I4rj/vMg6JgKoTcPxzuBeO5Y234gDRLkymykam6hBIA= +go.opentelemetry.io/collector/consumer v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:CHUqFqerioBLb4usZEiHpzTKpEJH09a0CDyYECwQYFc= +go.opentelemetry.io/collector/featuregate v1.66.1-0.20260903163450-cc4b33fc673f h1:uO+f2ljlqNc/xRqihqeV6pwvj6u3IeRw2EJHOmgtw5E= +go.opentelemetry.io/collector/featuregate v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:dRYifiJa2vQ6LWpPwHny4mL82mnGWsWEVeVWw+DhYJw= +go.opentelemetry.io/collector/internal/testutil v0.160.0 h1:Y6AeI8KjqglQzKYmNoSy9FB2CohuyoYxcLZEXQPW4og= +go.opentelemetry.io/collector/internal/testutil v0.160.0/go.mod h1:FV43FoAsh4fP615Sc5ZSh7iPMgZaSgha6ngavix9OEI= +go.opentelemetry.io/collector/pdata v1.66.1-0.20260903163450-cc4b33fc673f h1:CFsCoMWtNyk1tMa2Tie1aoa4SMbKvDzkYqKO1n1O1SU= +go.opentelemetry.io/collector/pdata v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:tdtY5DNoyzgXQmdH7pPNyeM5EiH3dGsKdPC6wUXeigU= +go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260903163450-cc4b33fc673f h1:syLnEO9U3++VJw/c1HtT6vxQGcEFk77ujs0YCFLtc2g= +go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:8lEJ1b9wLMl9nqlGdwXdXEp4a1eGWzkJ85E1HgvdXnE= +go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260903163450-cc4b33fc673f h1:1DFoJXJl3AgA9KKX+K+bXuF8rymeCR06QsgXR+xTjlk= +go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:GOlN4aeYFhx8Z1d5ujhJlckwcs4L+Iy++2SxDlbWGGE= +go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260903163450-cc4b33fc673f h1:PADd/+kOulbfAccR7eVRbZzII0h7hFM0qrDeJv5IUGw= +go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:7cVHYDrt9W4nyKHSn7eh0y/1VMgE+8YXWOQAD9c2xPU= +go.opentelemetry.io/otel v1.46.0 h1:FHt5/CDyVxi/8IM1CH7VE/rRgq3kLHa2mSTVMO8AWyc= +go.opentelemetry.io/otel v1.46.0/go.mod h1:Gj3SEScelsNC45tp4nSxRYlS+f5iez7W8XPMCt905kE= +go.opentelemetry.io/otel/metric v1.46.0 h1:yBnkXvgV7AXFILZc5K6IZe/CBFF3OS7BJ8ov6/lj0K8= +go.opentelemetry.io/otel/metric v1.46.0/go.mod h1:iPmdWqifKUdzziPkvvzIJXITl56fQx2mGM/DHLB3/2o= +go.opentelemetry.io/otel/metric/x v0.68.0 h1:TA/cBT23D3MnxYPwHL7YFOdYGdx0A0v+s7Mzotpd1dU= +go.opentelemetry.io/otel/metric/x v0.68.0/go.mod h1:agudOmvWhwUTjgibWDzxD2PoWYnpw5Ht5jISYOD2Hd4= +go.opentelemetry.io/otel/sdk v1.46.0 h1:h5CNQQjEbuQXY/JfZtgt3i7HVFV3aHPO2OAwO2eTYPI= +go.opentelemetry.io/otel/sdk v1.46.0/go.mod h1:GAERFXFt5SYCEB+YiKUbMBeza6UaDH7GmGOZEfh2gSM= +go.opentelemetry.io/otel/sdk/metric v1.46.0 h1:0piZ26EG4RBfebb2jhDH6ERCYHoVWduc3kLgPCwSnSE= +go.opentelemetry.io/otel/sdk/metric v1.46.0/go.mod h1:I1PbKrdVc8Qu8HYVDNtqVIwLwjNrhsV/uFuxfwg8mO4= +go.opentelemetry.io/otel/trace v1.46.0 h1:OULy7ccdJnZtJ0UDYFOIGaCmiWzJ8Vi2G/Rsu60qs1c= +go.opentelemetry.io/otel/trace v1.46.0/go.mod h1:J7GAXweO77XSFkB/rmAqk9D6ihszhFjLU+d9WuUxDLI= +go.opentelemetry.io/proto/slim/otlp v1.11.0 h1:zB37f+f99+y6UIZR4h7UpwbXd5kFNyip35U7GaJ/Jik= +go.opentelemetry.io/proto/slim/otlp v1.11.0/go.mod h1:mI3DeND+VXZuA4keqFPKDJ3BklwveYm1JqBcEWKDEOM= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.4.0 h1:mt+DWtks0biKnz0jXMpDbxWN0CHJi6OJDKe4GcREkcs= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.4.0/go.mod h1:7UXaX/7uT+kumUHd3LIWyjMlklEp0mPlrE9xmtbG6/8= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.4.0 h1:rLHkdB6eHDiRSIoz0cvNuTJsVJBxaL6IyS1e9BSaXLY= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.4.0/go.mod h1:BrX0dmOGsMuWNXXbFafTD7Gb6F3yK+2czVQ6+c24Cnk= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.28.0 h1:IZzaP1Fv73/T/pBMLk4VutPl36uNC+OSUh3JLG3FIjo= +go.uber.org/zap v1.28.0/go.mod h1:rDLpOi171uODNm/mxFcuYWxDsqWSAVkFdX4XojSKg/Q= +go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= +go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= +golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To= +golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8= +golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/grpc v1.83.2 h1:EManeRomTObA0BU7I8vXgg/78uE5MJ9M8B39EX2WscU= +google.golang.org/grpc v1.83.2/go.mod h1:YPI1hK3kDked6iHvgX3tR0y+nX/qpMFKhPgFsokw1S8= +google.golang.org/protobuf v1.36.12 h1:pJOKDDOyeXErUroCihFAd5LQuwXBSpVnKGrj5o/fwxc= +google.golang.org/protobuf v1.36.12/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/pkg/ottl/contexts/internal/ctxprofile/context.go b/pkg/ottl/contexts/xprofile/internal/ctxprofile/context.go similarity index 75% rename from pkg/ottl/contexts/internal/ctxprofile/context.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofile/context.go index 806f9ce8d422c..0059c95e54946 100644 --- a/pkg/ottl/contexts/internal/ctxprofile/context.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofile/context.go @@ -1,14 +1,14 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" +package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" import ( "go.opentelemetry.io/collector/pdata/pprofile" ) const ( Name = "profile" - DocRef = "https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottlprofile" + DocRef = "https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/ottlprofile" ) type Context interface { diff --git a/pkg/ottl/contexts/internal/ctxprofile/profile.go b/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile.go similarity index 98% rename from pkg/ottl/contexts/internal/ctxprofile/profile.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofile/profile.go index a8830800de405..8ce0b4452b469 100644 --- a/pkg/ottl/contexts/internal/ctxprofile/profile.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" +package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" import ( "context" @@ -15,7 +15,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxerror" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilecommon" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxutil" ) diff --git a/pkg/ottl/contexts/internal/ctxprofile/profile_test.go b/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile_test.go similarity index 98% rename from pkg/ottl/contexts/internal/ctxprofile/profile_test.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofile/profile_test.go index 465e54169f890..b84a2d4e14eb7 100644 --- a/pkg/ottl/contexts/internal/ctxprofile/profile_test.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile_test.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" +package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" import ( "context" "encoding/hex" diff --git a/pkg/ottl/contexts/internal/ctxprofile/value_type.go b/pkg/ottl/contexts/xprofile/internal/ctxprofile/value_type.go similarity index 98% rename from pkg/ottl/contexts/internal/ctxprofile/value_type.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofile/value_type.go index 40a3103ef4a09..d17b123f50dca 100644 --- a/pkg/ottl/contexts/internal/ctxprofile/value_type.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofile/value_type.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" +package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" import ( "context" diff --git a/pkg/ottl/contexts/internal/ctxprofile/value_type_test.go b/pkg/ottl/contexts/xprofile/internal/ctxprofile/value_type_test.go similarity index 99% rename from pkg/ottl/contexts/internal/ctxprofile/value_type_test.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofile/value_type_test.go index 3b6e79b0a23f4..ce8851980090d 100644 --- a/pkg/ottl/contexts/internal/ctxprofile/value_type_test.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofile/value_type_test.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" +package ctxprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" import ( "testing" diff --git a/pkg/ottl/contexts/internal/ctxprofilecommon/attributes.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/attributes.go similarity index 97% rename from pkg/ottl/contexts/internal/ctxprofilecommon/attributes.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/attributes.go index d9fafdf34da94..8af3068a085d7 100644 --- a/pkg/ottl/contexts/internal/ctxprofilecommon/attributes.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/attributes.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofilecommon // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilecommon" +package ctxprofilecommon // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" import ( "context" diff --git a/pkg/ottl/contexts/internal/ctxprofilecommon/attributes_test.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/attributes_test.go similarity index 99% rename from pkg/ottl/contexts/internal/ctxprofilecommon/attributes_test.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/attributes_test.go index 192c127caaefd..7f37d10473e36 100644 --- a/pkg/ottl/contexts/internal/ctxprofilecommon/attributes_test.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/attributes_test.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofilecommon // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilecommon" +package ctxprofilecommon // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" import ( "testing" diff --git a/pkg/ottl/contexts/internal/ctxprofilesample/context.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/context.go similarity index 73% rename from pkg/ottl/contexts/internal/ctxprofilesample/context.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofilesample/context.go index 07b2c43b79d99..01d5438346fee 100644 --- a/pkg/ottl/contexts/internal/ctxprofilesample/context.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/context.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilesample" +package ctxprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" import ( "go.opentelemetry.io/collector/pdata/pprofile" @@ -9,7 +9,7 @@ import ( const ( Name = "profilesample" - DocRef = "https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottlprofilesample" + DocRef = "https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/ottlprofilesample" ) type Context interface { diff --git a/pkg/ottl/contexts/internal/ctxprofilesample/profilesample.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample.go similarity index 96% rename from pkg/ottl/contexts/internal/ctxprofilesample/profilesample.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample.go index 8aac546168213..8a652be7896a1 100644 --- a/pkg/ottl/contexts/internal/ctxprofilesample/profilesample.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilesample" +package ctxprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" import ( "context" @@ -13,7 +13,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxerror" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilecommon" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxutil" ) diff --git a/pkg/ottl/contexts/internal/ctxprofilesample/profilesample_test.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample_test.go similarity index 97% rename from pkg/ottl/contexts/internal/ctxprofilesample/profilesample_test.go rename to pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample_test.go index 36712bbaf39bc..7d21a6dd0d527 100644 --- a/pkg/ottl/contexts/internal/ctxprofilesample/profilesample_test.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample_test.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ctxprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilesample" +package ctxprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" import ( "strings" diff --git a/pkg/ottl/contexts/internal/logprofile/logging.go b/pkg/ottl/contexts/xprofile/internal/logprofile/logging.go similarity index 99% rename from pkg/ottl/contexts/internal/logprofile/logging.go rename to pkg/ottl/contexts/xprofile/internal/logprofile/logging.go index 42e383d57faef..e3e13ac70d20d 100644 --- a/pkg/ottl/contexts/internal/logprofile/logging.go +++ b/pkg/ottl/contexts/xprofile/internal/logprofile/logging.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package logprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/logprofile" +package logprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/logprofile" import ( "encoding/hex" diff --git a/pkg/ottl/contexts/internal/logprofile/logging_test.go b/pkg/ottl/contexts/xprofile/internal/logprofile/logging_test.go similarity index 100% rename from pkg/ottl/contexts/internal/logprofile/logging_test.go rename to pkg/ottl/contexts/xprofile/internal/logprofile/logging_test.go diff --git a/pkg/ottl/xprofile/metadata.yaml b/pkg/ottl/contexts/xprofile/metadata.yaml similarity index 100% rename from pkg/ottl/xprofile/metadata.yaml rename to pkg/ottl/contexts/xprofile/metadata.yaml diff --git a/pkg/ottl/contexts/ottlprofile/README.md b/pkg/ottl/contexts/xprofile/ottlprofile/README.md similarity index 100% rename from pkg/ottl/contexts/ottlprofile/README.md rename to pkg/ottl/contexts/xprofile/ottlprofile/README.md diff --git a/pkg/ottl/contexts/ottlprofile/package_test.go b/pkg/ottl/contexts/xprofile/ottlprofile/package_test.go similarity index 100% rename from pkg/ottl/contexts/ottlprofile/package_test.go rename to pkg/ottl/contexts/xprofile/ottlprofile/package_test.go diff --git a/pkg/ottl/contexts/ottlprofile/profile.go b/pkg/ottl/contexts/xprofile/ottlprofile/profile.go similarity index 98% rename from pkg/ottl/contexts/ottlprofile/profile.go rename to pkg/ottl/contexts/xprofile/ottlprofile/profile.go index ec0fab57a986b..8b5c92d919447 100644 --- a/pkg/ottl/contexts/ottlprofile/profile.go +++ b/pkg/ottl/contexts/xprofile/ottlprofile/profile.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ottlprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" +package ottlprofile // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" import ( "errors" @@ -17,11 +17,11 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcache" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxotelcol" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/logging" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/logprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/logprofile" ) var tcPool = sync.Pool{ diff --git a/pkg/ottl/contexts/ottlprofile/profile_test.go b/pkg/ottl/contexts/xprofile/ottlprofile/profile_test.go similarity index 99% rename from pkg/ottl/contexts/ottlprofile/profile_test.go rename to pkg/ottl/contexts/xprofile/ottlprofile/profile_test.go index d4f60df234e5a..acb88bb92d196 100644 --- a/pkg/ottl/contexts/ottlprofile/profile_test.go +++ b/pkg/ottl/contexts/xprofile/ottlprofile/profile_test.go @@ -14,7 +14,7 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/pathtest" ) diff --git a/pkg/ottl/contexts/ottlprofilesample/README.md b/pkg/ottl/contexts/xprofile/ottlprofilesample/README.md similarity index 100% rename from pkg/ottl/contexts/ottlprofilesample/README.md rename to pkg/ottl/contexts/xprofile/ottlprofilesample/README.md diff --git a/pkg/ottl/contexts/ottlprofilesample/package_test.go b/pkg/ottl/contexts/xprofile/ottlprofilesample/package_test.go similarity index 100% rename from pkg/ottl/contexts/ottlprofilesample/package_test.go rename to pkg/ottl/contexts/xprofile/ottlprofilesample/package_test.go diff --git a/pkg/ottl/contexts/ottlprofilesample/profilesample.go b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample.go similarity index 97% rename from pkg/ottl/contexts/ottlprofilesample/profilesample.go rename to pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample.go index 3672942186341..4ec9de80e0f36 100644 --- a/pkg/ottl/contexts/ottlprofilesample/profilesample.go +++ b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ottlprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofilesample" +package ottlprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofilesample" import ( "errors" @@ -17,12 +17,12 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcache" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxotelcol" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofile" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilesample" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/logging" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/logprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/logprofile" ) var tcPool = sync.Pool{ diff --git a/pkg/ottl/contexts/ottlprofilesample/profilesample_test.go b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample_test.go similarity index 97% rename from pkg/ottl/contexts/ottlprofilesample/profilesample_test.go rename to pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample_test.go index 19dd7ca44746d..7515ca660502f 100644 --- a/pkg/ottl/contexts/ottlprofilesample/profilesample_test.go +++ b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample_test.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package ottlprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofilesample" +package ottlprofilesample // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofilesample" import ( "slices" @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxprofilesample" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/pathtest" ) diff --git a/pkg/ottl/xprofile/package_test.go b/pkg/ottl/contexts/xprofile/package_test.go similarity index 100% rename from pkg/ottl/xprofile/package_test.go rename to pkg/ottl/contexts/xprofile/package_test.go diff --git a/pkg/ottl/go.sum b/pkg/ottl/go.sum index 2cde99074da9f..741ed44e47f9d 100644 --- a/pkg/ottl/go.sum +++ b/pkg/ottl/go.sum @@ -93,8 +93,6 @@ go.opentelemetry.io/collector/pdata v1.66.1-0.20260910145229-33b7c530844a h1:++n go.opentelemetry.io/collector/pdata v1.66.1-0.20260910145229-33b7c530844a/go.mod h1:tdtY5DNoyzgXQmdH7pPNyeM5EiH3dGsKdPC6wUXeigU= go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260910145229-33b7c530844a h1:fIIAcNBgUuz8c7JOyNGrxTG8WZWpmHignEpUY+tZACg= go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260910145229-33b7c530844a/go.mod h1:8lEJ1b9wLMl9nqlGdwXdXEp4a1eGWzkJ85E1HgvdXnE= -go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260910145229-33b7c530844a h1:LFR/3+HaS0wcaLBh8dXg0JStAYixVcy0lD4oujgL3sg= -go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260910145229-33b7c530844a/go.mod h1:GOlN4aeYFhx8Z1d5ujhJlckwcs4L+Iy++2SxDlbWGGE= go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260910145229-33b7c530844a h1:9C/62qWHY1LZ0SU2/uwSiohrggXLZOXfkhjjHw7pydA= go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260910145229-33b7c530844a/go.mod h1:7cVHYDrt9W4nyKHSn7eh0y/1VMgE+8YXWOQAD9c2xPU= go.opentelemetry.io/otel v1.46.0 h1:FHt5/CDyVxi/8IM1CH7VE/rRgq3kLHa2mSTVMO8AWyc= diff --git a/pkg/ottl/xprofile/Makefile b/pkg/ottl/xprofile/Makefile deleted file mode 100644 index bdd863a203be8..0000000000000 --- a/pkg/ottl/xprofile/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../../../Makefile.Common diff --git a/pkg/ottl/xprofile/go.mod b/pkg/ottl/xprofile/go.mod deleted file mode 100644 index 27af66acf4d69..0000000000000 --- a/pkg/ottl/xprofile/go.mod +++ /dev/null @@ -1,5 +0,0 @@ -module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/xprofile - -go 1.26.0 - -require go.uber.org/goleak v1.3.0 diff --git a/pkg/ottl/xprofile/go.sum b/pkg/ottl/xprofile/go.sum deleted file mode 100644 index d39b9ad7427ec..0000000000000 --- a/pkg/ottl/xprofile/go.sum +++ /dev/null @@ -1,10 +0,0 @@ -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/processor/adaptivetailsamplingprocessor/go.mod b/processor/adaptivetailsamplingprocessor/go.mod index 8d851892aab0b..152aa9e560d5e 100644 --- a/processor/adaptivetailsamplingprocessor/go.mod +++ b/processor/adaptivetailsamplingprocessor/go.mod @@ -56,6 +56,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -91,3 +92,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl => ../../pkg/ottl replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter => ../../internal/filter + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/attributesprocessor/go.mod b/processor/attributesprocessor/go.mod index 9a9fac1eb9f69..3c256789b0013 100644 --- a/processor/attributesprocessor/go.mod +++ b/processor/attributesprocessor/go.mod @@ -50,6 +50,7 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect @@ -97,3 +98,5 @@ retract ( ) replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/cumulativetodeltaprocessor/go.mod b/processor/cumulativetodeltaprocessor/go.mod index 315195b0751b6..cb3cc87d01d9a 100644 --- a/processor/cumulativetodeltaprocessor/go.mod +++ b/processor/cumulativetodeltaprocessor/go.mod @@ -74,3 +74,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/filterprocessor/README.md b/processor/filterprocessor/README.md index 7dc0df0e59f0a..e3217765f4905 100644 --- a/processor/filterprocessor/README.md +++ b/processor/filterprocessor/README.md @@ -65,7 +65,7 @@ Within each `_conditions` list, only certain OTTL Contexts can be used. [metric]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/ottlmetric/README.md [datapoint]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/ottldatapoint/README.md [log]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/ottllog/README.md -[profile]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/ottlprofile/README.md +[profile]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/xprofile/ottlprofile/README.md Telemetry is evaluated hierarchically, from higher to lower levels. The hierarchy may vary by signal type; examples include: diff --git a/processor/filterprocessor/config.go b/processor/filterprocessor/config.go index bc219a6598fdc..3bc2b27c1f3f1 100644 --- a/processor/filterprocessor/config.go +++ b/processor/filterprocessor/config.go @@ -23,7 +23,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" diff --git a/processor/filterprocessor/factory.go b/processor/filterprocessor/factory.go index 37bf792e157fb..cad7c17839ca9 100644 --- a/processor/filterprocessor/factory.go +++ b/processor/filterprocessor/factory.go @@ -19,7 +19,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" diff --git a/processor/filterprocessor/factory_test.go b/processor/filterprocessor/factory_test.go index cf37c8716f419..792fffa6d55d8 100644 --- a/processor/filterprocessor/factory_test.go +++ b/processor/filterprocessor/factory_test.go @@ -21,7 +21,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" diff --git a/processor/filterprocessor/functions.go b/processor/filterprocessor/functions.go index f121ba785d29b..fb2153b40c55c 100644 --- a/processor/filterprocessor/functions.go +++ b/processor/filterprocessor/functions.go @@ -12,7 +12,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" diff --git a/processor/filterprocessor/go.mod b/processor/filterprocessor/go.mod index 49122df89b5b6..9f3eeea6bb116 100644 --- a/processor/filterprocessor/go.mod +++ b/processor/filterprocessor/go.mod @@ -62,6 +62,7 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect @@ -99,3 +100,5 @@ retract ( replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/filterprocessor/internal/condition/profiles.go b/processor/filterprocessor/internal/condition/profiles.go index adfbfcf06a0b4..1f854e3ed3078 100644 --- a/processor/filterprocessor/internal/condition/profiles.go +++ b/processor/filterprocessor/internal/condition/profiles.go @@ -13,7 +13,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/expr" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" ) diff --git a/processor/filterprocessor/profiles.go b/processor/filterprocessor/profiles.go index 46cafd943bbb7..8ca397ad529fa 100644 --- a/processor/filterprocessor/profiles.go +++ b/processor/filterprocessor/profiles.go @@ -17,7 +17,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/expr" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/filterottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor/internal/condition" ) diff --git a/processor/filterprocessor/profiles_test.go b/processor/filterprocessor/profiles_test.go index 763f257d2a6e6..461e96bebe8e0 100644 --- a/processor/filterprocessor/profiles_test.go +++ b/processor/filterprocessor/profiles_test.go @@ -22,7 +22,7 @@ import ( "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pprofiletest" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor/internal/condition" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor/internal/metadata" diff --git a/processor/logdedupprocessor/go.mod b/processor/logdedupprocessor/go.mod index fc6623d9889ff..d0743613dd76b 100644 --- a/processor/logdedupprocessor/go.mod +++ b/processor/logdedupprocessor/go.mod @@ -59,6 +59,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -94,3 +95,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl => .. replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter => ../../internal/filter replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/spanprocessor/go.mod b/processor/spanprocessor/go.mod index 7af7976b9f027..eeb7c30a4ca3f 100644 --- a/processor/spanprocessor/go.mod +++ b/processor/spanprocessor/go.mod @@ -49,6 +49,7 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect @@ -96,3 +97,5 @@ retract ( ) replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/spanpruningprocessor/go.mod b/processor/spanpruningprocessor/go.mod index 9734c2c66c9f8..41bcdeb829f56 100644 --- a/processor/spanpruningprocessor/go.mod +++ b/processor/spanpruningprocessor/go.mod @@ -53,6 +53,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -91,3 +92,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter => ../../internal/filter replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../pkg/sampling + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/tailsamplingprocessor/go.mod b/processor/tailsamplingprocessor/go.mod index dd73baa6191ba..b2ecc26cd9942 100644 --- a/processor/tailsamplingprocessor/go.mod +++ b/processor/tailsamplingprocessor/go.mod @@ -57,6 +57,7 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -100,3 +101,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filte replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/transformprocessor/config.go b/processor/transformprocessor/config.go index eb2c80b3cfe1b..fa7b3bfcfd015 100644 --- a/processor/transformprocessor/config.go +++ b/processor/transformprocessor/config.go @@ -18,7 +18,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common" diff --git a/processor/transformprocessor/factory.go b/processor/transformprocessor/factory.go index 717602fb55d26..731785bb075b8 100644 --- a/processor/transformprocessor/factory.go +++ b/processor/transformprocessor/factory.go @@ -21,7 +21,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common" diff --git a/processor/transformprocessor/factory_test.go b/processor/transformprocessor/factory_test.go index d82988234e3a0..b7ba18174f2c4 100644 --- a/processor/transformprocessor/factory_test.go +++ b/processor/transformprocessor/factory_test.go @@ -25,7 +25,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pprofiletest" diff --git a/processor/transformprocessor/functions.go b/processor/transformprocessor/functions.go index b221f3947fd5d..3da34e6f23d48 100644 --- a/processor/transformprocessor/functions.go +++ b/processor/transformprocessor/functions.go @@ -12,7 +12,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/logs" diff --git a/processor/transformprocessor/go.mod b/processor/transformprocessor/go.mod index 75599fd25e33e..e7571246ddb7c 100644 --- a/processor/transformprocessor/go.mod +++ b/processor/transformprocessor/go.mod @@ -65,6 +65,7 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect @@ -106,3 +107,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter => ../../internal/filter replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil => ../../internal/pdatautil + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/transformprocessor/internal/common/profiles.go b/processor/transformprocessor/internal/common/profiles.go index 5322e668da492..914c5d9ff70d4 100644 --- a/processor/transformprocessor/internal/common/profiles.go +++ b/processor/transformprocessor/internal/common/profiles.go @@ -13,7 +13,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/expr" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/filterottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) type ProfilesConsumer interface { diff --git a/processor/transformprocessor/internal/profiles/functions.go b/processor/transformprocessor/internal/profiles/functions.go index a22e89afed11b..6c8385d18a6aa 100644 --- a/processor/transformprocessor/internal/profiles/functions.go +++ b/processor/transformprocessor/internal/profiles/functions.go @@ -5,7 +5,7 @@ package profiles // import "github.com/open-telemetry/opentelemetry-collector-co import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) diff --git a/processor/transformprocessor/internal/profiles/functions_test.go b/processor/transformprocessor/internal/profiles/functions_test.go index 2f561715099f2..aaad11682e0ca 100644 --- a/processor/transformprocessor/internal/profiles/functions_test.go +++ b/processor/transformprocessor/internal/profiles/functions_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) diff --git a/processor/transformprocessor/internal/profiles/processor.go b/processor/transformprocessor/internal/profiles/processor.go index e1ff343afb61e..d586ecdaa471a 100644 --- a/processor/transformprocessor/internal/profiles/processor.go +++ b/processor/transformprocessor/internal/profiles/processor.go @@ -13,7 +13,7 @@ import ( "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common" ) diff --git a/processor/transformprocessor/internal/profiles/processor_test.go b/processor/transformprocessor/internal/profiles/processor_test.go index 8903c24a8bd15..29b5c79485d22 100644 --- a/processor/transformprocessor/internal/profiles/processor_test.go +++ b/processor/transformprocessor/internal/profiles/processor_test.go @@ -16,7 +16,7 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pprofiletest" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common" ) diff --git a/receiver/hostmetricsreceiver/go.mod b/receiver/hostmetricsreceiver/go.mod index f646dd56ec5f7..6068145faaaff 100644 --- a/receiver/hostmetricsreceiver/go.mod +++ b/receiver/hostmetricsreceiver/go.mod @@ -135,3 +135,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl => .. replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/winperfcounters => ../../pkg/winperfcounters replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/gopsutilenv => ../../internal/gopsutilenv + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/versions.yaml b/versions.yaml index 8b993221fa022..9745055f3ff59 100644 --- a/versions.yaml +++ b/versions.yaml @@ -179,6 +179,7 @@ module-sets: - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/configkafka - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl + - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry From 7c48636b0f92c6cdaa1478a289062028aed4bf39 Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 16:07:35 -0600 Subject: [PATCH 03/10] move ProfileID --- cmd/opampsupervisor/go.mod | 3 + connector/countconnector/connector.go | 2 +- connector/countconnector/factory.go | 2 +- connector/routingconnector/functions.go | 3 +- connector/routingconnector/go.mod | 3 + .../signaltometricsconnector/config/config.go | 2 +- .../signaltometricsconnector/connector.go | 2 +- connector/signaltometricsconnector/factory.go | 2 +- .../internal/customottl/funcs.go | 5 +- .../integrationtest/go.mod | 3 + internal/filter/filterottl/filter.go | 2 +- internal/filter/filterottl/filter_test.go | 2 +- internal/filter/filterottl/functions.go | 21 ++--- internal/filter/filterottl/path_context.go | 2 +- pkg/ottl/contexts/internal/ctxcommon/ids.go | 13 --- .../contexts/internal/ctxcommon/ids_test.go | 25 ------ .../xprofile/e2e/profiles/e2e_test.go | 15 +++- .../xprofile/internal/ctxprofile/profile.go | 5 +- .../xprofile/internal/ctxprofilecommon/ids.go | 23 ++++++ .../ctxprofilesample/profilesample.go | 2 +- .../xprofile/ottlfuncs/func_profile_id.go | 82 +++++++++++++++++++ .../ottlfuncs/func_profile_id_test.go | 57 +++++++++---- .../contexts/xprofile/ottlfuncs/functions.go | 25 ++++++ .../contexts/xprofile/ottlprofile/profile.go | 2 +- .../xprofile/ottlprofile/profile_test.go | 2 +- .../ottlprofilesample/profilesample.go | 4 +- .../ottlprofilesample/profilesample_test.go | 2 +- pkg/ottl/e2e/e2e_test.go | 6 -- pkg/ottl/go.mod | 1 - pkg/ottl/ottlfuncs/func_profile_id.go | 45 ---------- pkg/ottl/ottlfuncs/functions.go | 1 - pkg/ottl/ottlfuncs/id_helpers.go | 3 +- pkg/ottl/ottlfuncs/id_helpers_test.go | 5 +- pkg/ottl/ottlfuncs/id_test_helpers.go | 2 +- processor/filterprocessor/config.go | 2 +- processor/filterprocessor/factory.go | 2 +- processor/filterprocessor/factory_test.go | 2 +- processor/filterprocessor/functions.go | 2 +- .../internal/condition/profiles.go | 2 +- processor/filterprocessor/profiles.go | 2 +- processor/lookupprocessor/factory.go | 7 +- processor/lookupprocessor/go.mod | 3 + processor/transformprocessor/config.go | 2 +- processor/transformprocessor/factory.go | 2 +- processor/transformprocessor/factory_test.go | 2 +- processor/transformprocessor/functions.go | 2 +- .../internal/common/functions.go | 5 +- .../internal/logs/functions.go | 3 +- .../internal/logs/functions_test.go | 3 +- .../internal/metrics/functions.go | 7 +- .../internal/metrics/functions_test.go | 5 +- .../internal/profiles/functions.go | 4 +- .../internal/profiles/functions_test.go | 3 +- .../internal/traces/functions.go | 5 +- .../internal/traces/functions_test.go | 5 +- testbed/go.mod | 3 + 56 files changed, 273 insertions(+), 174 deletions(-) create mode 100644 pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids.go create mode 100644 pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id.go rename pkg/ottl/{ => contexts/xprofile}/ottlfuncs/func_profile_id_test.go (69%) create mode 100644 pkg/ottl/contexts/xprofile/ottlfuncs/functions.go delete mode 100644 pkg/ottl/ottlfuncs/func_profile_id.go diff --git a/cmd/opampsupervisor/go.mod b/cmd/opampsupervisor/go.mod index cfec6aabbbc15..af52cd465a79d 100644 --- a/cmd/opampsupervisor/go.mod +++ b/cmd/opampsupervisor/go.mod @@ -104,6 +104,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/pierrec/lz4/v4 v4.1.29 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect @@ -340,3 +341,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/oaut replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile => ../../extension/internal/credentialsfile replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/pprof => ../../pkg/translator/pprof + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/connector/countconnector/connector.go b/connector/countconnector/connector.go index aa4952d0c41ad..61c15ef1b6c26 100644 --- a/connector/countconnector/connector.go +++ b/connector/countconnector/connector.go @@ -20,9 +20,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) // count can count spans, span event, metrics, data points, log records or diff --git a/connector/countconnector/factory.go b/connector/countconnector/factory.go index 6d8cab06ece03..49c7ea8df8c72 100644 --- a/connector/countconnector/factory.go +++ b/connector/countconnector/factory.go @@ -19,9 +19,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) // NewFactory returns a ConnectorFactory. diff --git a/connector/routingconnector/functions.go b/connector/routingconnector/functions.go index af8338ade5ddd..1eeb615f5c9be 100644 --- a/connector/routingconnector/functions.go +++ b/connector/routingconnector/functions.go @@ -8,6 +8,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) @@ -19,7 +20,7 @@ func createRouteFunction[K any](ottl.FunctionContext, ottl.Arguments) (ottl.Expr func standardFunctions[K any]() map[string]ottl.Factory[K] { // standard converters do not transform data, so we can safely use them - funcs := ottlfuncs.StandardConverters[K]() + funcs := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[K]()) deleteKey := ottlfuncs.NewDeleteKeyFactory[K]() funcs[deleteKey.Name()] = deleteKey diff --git a/connector/routingconnector/go.mod b/connector/routingconnector/go.mod index 51cf7af8142da..8377545e2f9c8 100644 --- a/connector/routingconnector/go.mod +++ b/connector/routingconnector/go.mod @@ -50,6 +50,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect @@ -85,3 +86,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/connector/signaltometricsconnector/config/config.go b/connector/signaltometricsconnector/config/config.go index 156fdfd316a51..72fb70a3fa00a 100644 --- a/connector/signaltometricsconnector/config/config.go +++ b/connector/signaltometricsconnector/config/config.go @@ -21,8 +21,8 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) const ( diff --git a/connector/signaltometricsconnector/connector.go b/connector/signaltometricsconnector/connector.go index 2aaa4825623f1..186bef63648c1 100644 --- a/connector/signaltometricsconnector/connector.go +++ b/connector/signaltometricsconnector/connector.go @@ -21,8 +21,8 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) type signalToMetrics struct { diff --git a/connector/signaltometricsconnector/factory.go b/connector/signaltometricsconnector/factory.go index 5f301bbb491bf..d9c73eb277f44 100644 --- a/connector/signaltometricsconnector/factory.go +++ b/connector/signaltometricsconnector/factory.go @@ -20,8 +20,8 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) // NewFactory returns a ConnectorFactory. diff --git a/connector/signaltometricsconnector/internal/customottl/funcs.go b/connector/signaltometricsconnector/internal/customottl/funcs.go index ae001d0f2484f..f6c719d882440 100644 --- a/connector/signaltometricsconnector/internal/customottl/funcs.go +++ b/connector/signaltometricsconnector/internal/customottl/funcs.go @@ -7,8 +7,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) @@ -32,5 +33,5 @@ func ProfileFuncs() map[string]ottl.Factory[*ottlprofile.TransformContext] { } func commonFuncs[K any]() map[string]ottl.Factory[K] { - return ottlfuncs.StandardFuncs[K]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[K]()) } diff --git a/exporter/elasticsearchexporter/integrationtest/go.mod b/exporter/elasticsearchexporter/integrationtest/go.mod index 720c717a06c28..63324e73fac78 100644 --- a/exporter/elasticsearchexporter/integrationtest/go.mod +++ b/exporter/elasticsearchexporter/integrationtest/go.mod @@ -82,6 +82,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/pierrec/lz4/v4 v4.1.29 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect @@ -321,3 +322,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../../pkg/sampling replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/pprof => ../../../pkg/translator/pprof + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../../pkg/ottl/contexts/xprofile diff --git a/internal/filter/filterottl/filter.go b/internal/filter/filterottl/filter.go index 6fee581c13f69..8f8c01d801175 100644 --- a/internal/filter/filterottl/filter.go +++ b/internal/filter/filterottl/filter.go @@ -11,11 +11,11 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) // NewBoolExprForSpan creates a BoolExpr[*ottlspan.TransformContext] that will return true if any of the given OTTL conditions evaluate to true. diff --git a/internal/filter/filterottl/filter_test.go b/internal/filter/filterottl/filter_test.go index 6c9c247c29d22..5d1d61ba1c481 100644 --- a/internal/filter/filterottl/filter_test.go +++ b/internal/filter/filterottl/filter_test.go @@ -13,11 +13,11 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) func Test_NewBoolExprForSpan(t *testing.T) { diff --git a/internal/filter/filterottl/functions.go b/internal/filter/filterottl/functions.go index 8d545f6e1ab77..044231423cfd0 100644 --- a/internal/filter/filterottl/functions.go +++ b/internal/filter/filterottl/functions.go @@ -14,27 +14,28 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) func StandardSpanFuncs() map[string]ottl.Factory[*ottlspan.TransformContext] { - m := ottlfuncs.StandardConverters[*ottlspan.TransformContext]() + m := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlspan.TransformContext]()) isRootSpanFactory := ottlfuncs.NewIsRootSpanFactory() m[isRootSpanFactory.Name()] = isRootSpanFactory return m } func StandardSpanEventFuncs() map[string]ottl.Factory[*ottlspanevent.TransformContext] { - return ottlfuncs.StandardConverters[*ottlspanevent.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlspanevent.TransformContext]()) } func StandardMetricFuncs() map[string]ottl.Factory[*ottlmetric.TransformContext] { - m := ottlfuncs.StandardConverters[*ottlmetric.TransformContext]() + m := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlmetric.TransformContext]()) hasAttributeOnDatapointFactory := newHasAttributeOnDatapointFactory() hasAttributeKeyOnDatapointFactory := newHasAttributeKeyOnDatapointFactory() m[hasAttributeOnDatapointFactory.Name()] = hasAttributeOnDatapointFactory @@ -43,27 +44,27 @@ func StandardMetricFuncs() map[string]ottl.Factory[*ottlmetric.TransformContext] } func StandardDataPointFuncs() map[string]ottl.Factory[*ottldatapoint.TransformContext] { - return ottlfuncs.StandardConverters[*ottldatapoint.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottldatapoint.TransformContext]()) } func StandardExemplarFuncs() map[string]ottl.Factory[*ottlexemplar.TransformContext] { - return ottlfuncs.StandardConverters[*ottlexemplar.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlexemplar.TransformContext]()) } func StandardScopeFuncs() map[string]ottl.Factory[*ottlscope.TransformContext] { - return ottlfuncs.StandardConverters[*ottlscope.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlscope.TransformContext]()) } func StandardLogFuncs() map[string]ottl.Factory[*ottllog.TransformContext] { - return ottlfuncs.StandardConverters[*ottllog.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottllog.TransformContext]()) } func StandardProfileFuncs() map[string]ottl.Factory[*ottlprofile.TransformContext] { - return ottlfuncs.StandardConverters[*ottlprofile.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlprofile.TransformContext]()) } func StandardResourceFuncs() map[string]ottl.Factory[*ottlresource.TransformContext] { - return ottlfuncs.StandardConverters[*ottlresource.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlresource.TransformContext]()) } type hasAttributeOnDatapointArguments struct { diff --git a/internal/filter/filterottl/path_context.go b/internal/filter/filterottl/path_context.go index 6ed1865873e88..ff67f8ebf7906 100644 --- a/internal/filter/filterottl/path_context.go +++ b/internal/filter/filterottl/path_context.go @@ -10,11 +10,11 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) // newBoolExprWithPathContextNames wraps parser in a single-context ottl.ParserCollection so diff --git a/pkg/ottl/contexts/internal/ctxcommon/ids.go b/pkg/ottl/contexts/internal/ctxcommon/ids.go index 8f9b94515eab7..e8b1f0ceafbd0 100644 --- a/pkg/ottl/contexts/internal/ctxcommon/ids.go +++ b/pkg/ottl/contexts/internal/ctxcommon/ids.go @@ -8,7 +8,6 @@ import ( "errors" "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/pprofile" ) func ParseSpanID(spanIDStr string) (pcommon.SpanID, error) { @@ -34,15 +33,3 @@ func ParseTraceID(traceIDStr string) (pcommon.TraceID, error) { } return id, nil } - -func ParseProfileID(profileIDStr string) (pprofile.ProfileID, error) { - var id pprofile.ProfileID - if hex.DecodedLen(len(profileIDStr)) != len(id) { - return pprofile.ProfileID{}, errors.New("profile ids must be 32 hex characters") - } - _, err := hex.Decode(id[:], []byte(profileIDStr)) - if err != nil { - return pprofile.ProfileID{}, err - } - return id, nil -} diff --git a/pkg/ottl/contexts/internal/ctxcommon/ids_test.go b/pkg/ottl/contexts/internal/ctxcommon/ids_test.go index e43f009fec591..ed80b921cb248 100644 --- a/pkg/ottl/contexts/internal/ctxcommon/ids_test.go +++ b/pkg/ottl/contexts/internal/ctxcommon/ids_test.go @@ -60,28 +60,3 @@ func TestParseTraceIDError(t *testing.T) { }) } } - -func TestParseProfileIDError(t *testing.T) { - tests := []struct { - name string - input string - wantErr string - }{ - { - name: "incorrect size", - input: "0123456789abcdef0123456789abcde", - wantErr: "profile ids must be 32 hex characters", - }, - { - name: "incorrect characters", - input: "0123456789Xbcdef0123456789abcdef", - wantErr: "encoding/hex: invalid byte: U+0058 'X'", - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - _, err := ctxcommon.ParseProfileID(tt.input) - assert.EqualError(t, err, tt.wantErr) - }) - } -} diff --git a/pkg/ottl/contexts/xprofile/e2e/profiles/e2e_test.go b/pkg/ottl/contexts/xprofile/e2e/profiles/e2e_test.go index d73e099446960..d017109b5cb2b 100644 --- a/pkg/ottl/contexts/xprofile/e2e/profiles/e2e_test.go +++ b/pkg/ottl/contexts/xprofile/e2e/profiles/e2e_test.go @@ -18,11 +18,20 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pprofiletest" ) +func profileFuncs() map[string]ottl.Factory[*ottlprofile.TransformContext] { + funcs := ottlfuncs.StandardFuncs[*ottlprofile.TransformContext]() + for _, f := range xprofilefuncs.ProfileConverters[*ottlprofile.TransformContext]() { + funcs[f.Name()] = f + } + return funcs +} + var ( TestLogTime = time.Date(2020, 2, 11, 20, 26, 12, 321, time.UTC) TestLogTimestamp = pcommon.NewTimestampFromTime(TestLogTime) @@ -1572,7 +1581,7 @@ func Test_e2e_ottl_value_expressions(t *testing.T) { t.Run(tt.name, func(t *testing.T) { settings := componenttest.NewNopTelemetrySettings() - profileParser, err := ottlprofile.NewParser(ottlfuncs.StandardFuncs[*ottlprofile.TransformContext](), settings) + profileParser, err := ottlprofile.NewParser(profileFuncs(), settings) require.NoError(t, err) valueExpr, err := profileParser.ParseValueExpression(tt.statement) require.NoError(t, err) @@ -1589,7 +1598,7 @@ func Test_e2e_ottl_value_expressions(t *testing.T) { func parseStatementWithAndWithoutPathContext(statement string) ([]*ottl.Statement[*ottlprofile.TransformContext], error) { settings := componenttest.NewNopTelemetrySettings() - parserWithoutPathCtx, err := ottlprofile.NewParser(ottlfuncs.StandardFuncs[*ottlprofile.TransformContext](), settings) + parserWithoutPathCtx, err := ottlprofile.NewParser(profileFuncs(), settings) if err != nil { return nil, err } @@ -1599,7 +1608,7 @@ func parseStatementWithAndWithoutPathContext(statement string) ([]*ottl.Statemen return nil, err } - parserWithPathCtx, err := ottlprofile.NewParser(ottlfuncs.StandardFuncs[*ottlprofile.TransformContext](), settings, ottlprofile.EnablePathContextNames()) + parserWithPathCtx, err := ottlprofile.NewParser(profileFuncs(), settings, ottlprofile.EnablePathContextNames()) if err != nil { return nil, err } diff --git a/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile.go b/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile.go index 8ce0b4452b469..86882a72cfcf2 100644 --- a/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofile/profile.go @@ -13,10 +13,9 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxerror" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxutil" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" ) func PathGetSetter[K Context](path ottl.Path[K]) (ottl.GetSetter[K], error) { @@ -211,7 +210,7 @@ func accessStringProfileID[K Context]() ottl.StandardGetSetter[K] { if err != nil { return err } - id, err := ctxcommon.ParseProfileID(s) + id, err := ctxprofilecommon.ParseProfileID(s) if err != nil { return err } diff --git a/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids.go new file mode 100644 index 0000000000000..86fe7f1afbe8c --- /dev/null +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids.go @@ -0,0 +1,23 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ctxprofilecommon // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" + +import ( + "encoding/hex" + "errors" + + "go.opentelemetry.io/collector/pdata/pprofile" +) + +func ParseProfileID(profileIDStr string) (pprofile.ProfileID, error) { + var id pprofile.ProfileID + if hex.DecodedLen(len(profileIDStr)) != len(id) { + return pprofile.ProfileID{}, errors.New("profile ids must be 32 hex characters") + } + _, err := hex.Decode(id[:], []byte(profileIDStr)) + if err != nil { + return pprofile.ProfileID{}, err + } + return id, nil +} diff --git a/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample.go index 8a652be7896a1..8daa4abd625d5 100644 --- a/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample.go +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilesample/profilesample.go @@ -13,8 +13,8 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxerror" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxutil" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon" ) var errMaxValueExceed = errors.New("exceeded max value") diff --git a/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id.go b/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id.go new file mode 100644 index 0000000000000..bf9b39a3caae0 --- /dev/null +++ b/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id.go @@ -0,0 +1,82 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" + +import ( + "context" + "encoding/hex" + "errors" + "fmt" + + "go.opentelemetry.io/collector/pdata/pprofile" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +const ( + profileIDFuncName = "ProfileID" + profileIDLen = 16 + profileIDHexLen = profileIDLen * 2 +) + +var ( + errDecodeProfileID = errors.New("could not decode ID") + errProfileIDLength = fmt.Errorf("%w: %w", errDecodeProfileID, errors.New("invalid length")) + errProfileIDHexDecode = fmt.Errorf("%w: %w", errDecodeProfileID, errors.New("invalid hex")) +) + +type ProfileIDArguments[K any] struct { + Target ottl.ByteSliceLikeGetter[K] +} + +func NewProfileIDFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory(profileIDFuncName, &ProfileIDArguments[K]{}, createProfileIDFunction[K]) +} + +func createProfileIDFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*ProfileIDArguments[K]) + if !ok { + return nil, errors.New("ProfileIDFactory args must be of type *ProfileIDArguments[K]") + } + + return profileID[K](args.Target) +} + +func profileID[K any](target ottl.ByteSliceLikeGetter[K]) (ottl.ExprFunc[K], error) { + // If the target is a literal getter, the ID is pre-computed once for optimal performance. + if b, _, isLiteral := ottl.TryGetLiteralValue(target); isLiteral { + result, err := bytesToProfileID(b) + if err != nil { + return nil, err + } + return func(context.Context, K) (any, error) { + return result, nil + }, nil + } + + return func(ctx context.Context, tCtx K) (any, error) { + b, _, err := target.Get(ctx, tCtx) + if err != nil { + return nil, err + } + return bytesToProfileID(b) + }, nil +} + +// bytesToProfileID accepts either raw bytes of length profileIDLen or hex-encoded bytes of length profileIDHexLen. +func bytesToProfileID(b []byte) (any, error) { + var id pprofile.ProfileID + switch len(b) { + case profileIDLen: + copy(id[:], b) + return id, nil + case profileIDHexLen: + if _, err := hex.Decode(id[:], b); err != nil { + return nil, fmt.Errorf("%s: %w: %w", profileIDFuncName, errProfileIDHexDecode, err) + } + return id, nil + default: + return nil, fmt.Errorf("%s: %w: expected %d or %d bytes, got %d", profileIDFuncName, errProfileIDLength, profileIDLen, profileIDHexLen, len(b)) + } +} diff --git a/pkg/ottl/ottlfuncs/func_profile_id_test.go b/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id_test.go similarity index 69% rename from pkg/ottl/ottlfuncs/func_profile_id_test.go rename to pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id_test.go index d22da3c177239..f9aa1131eb5a1 100644 --- a/pkg/ottl/ottlfuncs/func_profile_id_test.go +++ b/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id_test.go @@ -14,8 +14,18 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" ) +func makeIDGetter(bytes []byte) ottl.ByteSliceLikeGetter[any] { + return ottl.StandardByteSliceLikeGetter[any]{Getter: func(context.Context, any) (any, error) { + return bytes, nil + }} +} + func Test_profileID(t *testing.T) { - runIDSuccessTests(t, profileID[any], []idSuccessTestCase{ + tests := []struct { + name string + value []byte + want any + }{ { name: "create profile id from 16 bytes", value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, @@ -26,37 +36,56 @@ func Test_profileID(t *testing.T) { value: []byte("0102030405060708090a0b0c0d0e0f10"), want: pprofile.ProfileID([16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}), }, - }) + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + expr, err := profileID[any](makeIDGetter(tt.value)) + require.NoError(t, err) + result, err := expr(t.Context(), nil) + require.NoError(t, err) + assert.Equal(t, tt.want, result) + }) + } } func Test_profileID_validation(t *testing.T) { - runIDErrorTests(t, profileID[any], profileIDFuncName, []idErrorTestCase{ + tests := []struct { + name string + value []byte + err error + }{ { name: "nil profile id", value: nil, - err: errIDInvalidLength, + err: errProfileIDLength, }, { name: "byte slice less than 16 (15)", value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, - err: errIDInvalidLength, + err: errProfileIDLength, }, { name: "byte slice longer than 16 (17)", value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}, - err: errIDInvalidLength, - }, - { - name: "byte slice longer than 32 (33)", - value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33}, - err: errIDInvalidLength, + err: errProfileIDLength, }, { name: "invalid hex string", value: []byte("ZZ02030405060708090a0b0c0d0e0f10"), - err: errIDHexDecode, + err: errProfileIDHexDecode, }, - }) + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + expr, err := profileID[any](makeIDGetter(tt.value)) + require.NoError(t, err) + result, err := expr(t.Context(), nil) + assert.Nil(t, result) + assert.ErrorIs(t, err, errDecodeProfileID) + assert.ErrorIs(t, err, tt.err) + assert.ErrorContains(t, err, profileIDFuncName) + }) + } } func Test_ProfileIDFactory(t *testing.T) { @@ -68,9 +97,7 @@ func Test_ProfileIDFactory(t *testing.T) { t.Run("default arguments", func(t *testing.T) { factory := NewProfileIDFactory[any]() args := factory.CreateDefaultArguments() - assert.IsType(t, &ProfileIDArguments[any]{}, args) - assertArgumentFieldNames(t, args, []string{"Target"}) }) t.Run("function creation", func(t *testing.T) { diff --git a/pkg/ottl/contexts/xprofile/ottlfuncs/functions.go b/pkg/ottl/contexts/xprofile/ottlfuncs/functions.go new file mode 100644 index 0000000000000..c56f70a6f5cce --- /dev/null +++ b/pkg/ottl/contexts/xprofile/ottlfuncs/functions.go @@ -0,0 +1,25 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" + +import ( + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +// ProfileConverters returns the converters that operate on profiles data and are +// excluded from OTTL's stability guarantees. Components merge these into their +// function set to make them available in OTTL statements. +func ProfileConverters[K any]() []ottl.Factory[K] { + return []ottl.Factory[K]{ + NewProfileIDFactory[K](), + } +} + +// WithProfileConverters adds the profiles converters to the given function map and returns it. +func WithProfileConverters[K any](funcs map[string]ottl.Factory[K]) map[string]ottl.Factory[K] { + for _, f := range ProfileConverters[K]() { + funcs[f.Name()] = f + } + return funcs +} diff --git a/pkg/ottl/contexts/xprofile/ottlprofile/profile.go b/pkg/ottl/contexts/xprofile/ottlprofile/profile.go index 8b5c92d919447..efabfc15d0662 100644 --- a/pkg/ottl/contexts/xprofile/ottlprofile/profile.go +++ b/pkg/ottl/contexts/xprofile/ottlprofile/profile.go @@ -17,10 +17,10 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcache" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxotelcol" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/logging" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/logprofile" ) diff --git a/pkg/ottl/contexts/xprofile/ottlprofile/profile_test.go b/pkg/ottl/contexts/xprofile/ottlprofile/profile_test.go index acb88bb92d196..bdc195955a920 100644 --- a/pkg/ottl/contexts/xprofile/ottlprofile/profile_test.go +++ b/pkg/ottl/contexts/xprofile/ottlprofile/profile_test.go @@ -14,8 +14,8 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/pathtest" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" ) func Test_newPathGetSetter(t *testing.T) { diff --git a/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample.go b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample.go index 4ec9de80e0f36..451e523a2ab9a 100644 --- a/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample.go +++ b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample.go @@ -17,11 +17,11 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcache" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxotelcol" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/ctxscope" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/logging" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofile" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/logprofile" ) diff --git a/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample_test.go b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample_test.go index 7515ca660502f..4d43af9fdcb11 100644 --- a/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample_test.go +++ b/pkg/ottl/contexts/xprofile/ottlprofilesample/profilesample_test.go @@ -13,8 +13,8 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal/pathtest" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/internal/ctxprofilesample" ) func Test_newPathGetSetter_Cache(t *testing.T) { diff --git a/pkg/ottl/e2e/e2e_test.go b/pkg/ottl/e2e/e2e_test.go index 6a9cdb8bf4bab..4ec55d56f5d09 100644 --- a/pkg/ottl/e2e/e2e_test.go +++ b/pkg/ottl/e2e/e2e_test.go @@ -1327,12 +1327,6 @@ func Test_e2e_converters(t *testing.T) { tCtx.GetLogRecord().SetSpanID(pcommon.SpanID([8]byte{1, 2, 3, 4, 5, 6, 7, 8})) }, }, - { - statement: `set(attributes["test"], "pass") where String(ProfileID(0x00000000000000000000000000000001)) == "[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]"`, - want: func(tCtx *ottllog.TransformContext) { - tCtx.GetLogRecord().Attributes().PutStr("test", "pass") - }, - }, { statement: `set(attributes["test"], Split(attributes["flags"], "|"))`, want: func(tCtx *ottllog.TransformContext) { diff --git a/pkg/ottl/go.mod b/pkg/ottl/go.mod index 2c70402d90407..6f8eca9b55705 100644 --- a/pkg/ottl/go.mod +++ b/pkg/ottl/go.mod @@ -22,7 +22,6 @@ require ( go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260910145229-33b7c530844a go.opentelemetry.io/collector/featuregate v1.66.1-0.20260910145229-33b7c530844a go.opentelemetry.io/collector/pdata v1.66.1-0.20260910145229-33b7c530844a - go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260910145229-33b7c530844a go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260910145229-33b7c530844a go.opentelemetry.io/otel v1.46.0 go.opentelemetry.io/otel/trace v1.46.0 diff --git a/pkg/ottl/ottlfuncs/func_profile_id.go b/pkg/ottl/ottlfuncs/func_profile_id.go deleted file mode 100644 index 9a7e4121665e6..0000000000000 --- a/pkg/ottl/ottlfuncs/func_profile_id.go +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" - -import ( - "encoding/hex" - "errors" - - "go.opentelemetry.io/collector/pdata/pprofile" - - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" -) - -const profileIDFuncName = "ProfileID" - -type ProfileIDArguments[K any] struct { - Target ottl.ByteSliceLikeGetter[K] -} - -func NewProfileIDFactory[K any]() ottl.Factory[K] { - return ottl.NewFactory(profileIDFuncName, &ProfileIDArguments[K]{}, createProfileIDFunction[K]) -} - -func createProfileIDFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { - args, ok := oArgs.(*ProfileIDArguments[K]) - - if !ok { - return nil, errors.New("ProfileIDFactory args must be of type *ProfileIDArguments[K]") - } - - return profileID[K](args.Target) -} - -func profileID[K any](target ottl.ByteSliceLikeGetter[K]) (ottl.ExprFunc[K], error) { - return newIDExprFunc(profileIDFuncName, target, decodeHexToProfileID) -} - -func decodeHexToProfileID(b []byte) (pprofile.ProfileID, error) { - var id pprofile.ProfileID - if _, err := hex.Decode(id[:], b); err != nil { - return pprofile.ProfileID{}, err - } - return id, nil -} diff --git a/pkg/ottl/ottlfuncs/functions.go b/pkg/ottl/ottlfuncs/functions.go index 2bbd52da458d6..aa450969d8b4e 100644 --- a/pkg/ottl/ottlfuncs/functions.go +++ b/pkg/ottl/ottlfuncs/functions.go @@ -140,7 +140,6 @@ func converters[K any]() []ottl.Factory[K] { NewHexFactory[K](), NewSliceToMapFactory[K](), NewParseSeverityFactory[K](), - NewProfileIDFactory[K](), NewParseIntFactory[K](), NewKeysFactory[K](), NewXXH3Factory[K](), diff --git a/pkg/ottl/ottlfuncs/id_helpers.go b/pkg/ottl/ottlfuncs/id_helpers.go index c2665d59fc136..3d11fadef365f 100644 --- a/pkg/ottl/ottlfuncs/id_helpers.go +++ b/pkg/ottl/ottlfuncs/id_helpers.go @@ -9,7 +9,6 @@ import ( "fmt" "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" ) @@ -21,7 +20,7 @@ var ( ) type idByteArray interface { - pcommon.SpanID | pcommon.TraceID | pprofile.ProfileID + pcommon.SpanID | pcommon.TraceID } // newIDExprFunc builds an expression function that accepts either a byte slice diff --git a/pkg/ottl/ottlfuncs/id_helpers_test.go b/pkg/ottl/ottlfuncs/id_helpers_test.go index 74100aa9628cb..d9d079978d3b0 100644 --- a/pkg/ottl/ottlfuncs/id_helpers_test.go +++ b/pkg/ottl/ottlfuncs/id_helpers_test.go @@ -10,7 +10,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/pprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" ) @@ -31,12 +30,12 @@ func Test_newIDExprFunc_rawBytes(t *testing.T) { func Test_newIDExprFunc_hexBytes(t *testing.T) { target, err := ottl.NewTestingOptionalLiteralGetter(true, makeIDGetter([]byte("0102030405060708090a0b0c0d0e0f10"))) require.NoError(t, err) - expr, err := newIDExprFunc(fakeFuncName, target, decodeHexToProfileID) + expr, err := newIDExprFunc(fakeFuncName, target, decodeHexToTraceID) require.NoError(t, err, "initialization should succeed for literal getters with valid data") result, err := expr(t.Context(), nil) require.NoError(t, err) - assert.Equal(t, pprofile.ProfileID{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, result) + assert.Equal(t, pcommon.TraceID{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, result) } func Test_newIDExprFunc_literalSuccess(t *testing.T) { diff --git a/pkg/ottl/ottlfuncs/id_test_helpers.go b/pkg/ottl/ottlfuncs/id_test_helpers.go index 17ebb8156aefc..8654bdebd7718 100644 --- a/pkg/ottl/ottlfuncs/id_test_helpers.go +++ b/pkg/ottl/ottlfuncs/id_test_helpers.go @@ -28,7 +28,7 @@ type idErrorTestCase struct { } // makeIDGetter creates a ByteSliceLikeGetter for testing purposes. -// This is a shared helper used by TraceID, SpanID, and ProfileID tests. +// This is a shared helper used by TraceID and SpanID tests. func makeIDGetter(bytes []byte) ottl.ByteSliceLikeGetter[any] { return ottl.StandardByteSliceLikeGetter[any]{Getter: func(_ context.Context, _ any) (any, error) { return bytes, nil diff --git a/processor/filterprocessor/config.go b/processor/filterprocessor/config.go index 3bc2b27c1f3f1..800def6e03a83 100644 --- a/processor/filterprocessor/config.go +++ b/processor/filterprocessor/config.go @@ -23,10 +23,10 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor/internal/condition" ) diff --git a/processor/filterprocessor/factory.go b/processor/filterprocessor/factory.go index cad7c17839ca9..6e8e4e218679b 100644 --- a/processor/filterprocessor/factory.go +++ b/processor/filterprocessor/factory.go @@ -19,10 +19,10 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor/internal/metadata" ) diff --git a/processor/filterprocessor/factory_test.go b/processor/filterprocessor/factory_test.go index 792fffa6d55d8..725cc2d3be401 100644 --- a/processor/filterprocessor/factory_test.go +++ b/processor/filterprocessor/factory_test.go @@ -21,10 +21,10 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor/internal/metadata" ) diff --git a/processor/filterprocessor/functions.go b/processor/filterprocessor/functions.go index fb2153b40c55c..946a59efff644 100644 --- a/processor/filterprocessor/functions.go +++ b/processor/filterprocessor/functions.go @@ -12,10 +12,10 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) func DefaultResourceFunctions() []ottl.Factory[*ottlresource.TransformContext] { diff --git a/processor/filterprocessor/internal/condition/profiles.go b/processor/filterprocessor/internal/condition/profiles.go index 1f854e3ed3078..f710c1cdb0dc4 100644 --- a/processor/filterprocessor/internal/condition/profiles.go +++ b/processor/filterprocessor/internal/condition/profiles.go @@ -13,9 +13,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/expr" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" ) type ProfilesConsumer struct { diff --git a/processor/filterprocessor/profiles.go b/processor/filterprocessor/profiles.go index 8ca397ad529fa..e48966598028b 100644 --- a/processor/filterprocessor/profiles.go +++ b/processor/filterprocessor/profiles.go @@ -17,8 +17,8 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/expr" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/filterottl" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor/internal/condition" ) diff --git a/processor/lookupprocessor/factory.go b/processor/lookupprocessor/factory.go index 794bfe7e92cd7..7b138e24a75d3 100644 --- a/processor/lookupprocessor/factory.go +++ b/processor/lookupprocessor/factory.go @@ -17,6 +17,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/lookupprocessor/internal/metadata" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/lookupprocessor/internal/source/csv" @@ -122,7 +123,7 @@ func (f *lookupProcessorFactory) createLogsProcessor( } parser, err := ottllog.NewParser( - ottlfuncs.StandardConverters[*ottllog.TransformContext](), + xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottllog.TransformContext]()), set.TelemetrySettings, ottllog.EnablePathContextNames(), ) @@ -163,7 +164,7 @@ func (f *lookupProcessorFactory) createTracesProcessor( } parser, err := ottlspan.NewParser( - ottlfuncs.StandardConverters[*ottlspan.TransformContext](), + xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottlspan.TransformContext]()), set.TelemetrySettings, ottlspan.EnablePathContextNames(), ) @@ -204,7 +205,7 @@ func (f *lookupProcessorFactory) createMetricsProcessor( } parser, err := ottldatapoint.NewParser( - ottlfuncs.StandardConverters[*ottldatapoint.TransformContext](), + xprofilefuncs.WithProfileConverters(ottlfuncs.StandardConverters[*ottldatapoint.TransformContext]()), set.TelemetrySettings, ottldatapoint.EnablePathContextNames(), ) diff --git a/processor/lookupprocessor/go.mod b/processor/lookupprocessor/go.mod index 96b4d1bafc067..72cf9f4f02c4c 100644 --- a/processor/lookupprocessor/go.mod +++ b/processor/lookupprocessor/go.mod @@ -48,6 +48,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 github.com/twmb/murmur3 v1.1.8 // indirect github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect @@ -84,3 +85,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl => ../../pkg/ottl + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../../pkg/ottl/contexts/xprofile diff --git a/processor/transformprocessor/config.go b/processor/transformprocessor/config.go index fa7b3bfcfd015..03803dce1e5f4 100644 --- a/processor/transformprocessor/config.go +++ b/processor/transformprocessor/config.go @@ -18,9 +18,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/metadata" ) diff --git a/processor/transformprocessor/factory.go b/processor/transformprocessor/factory.go index 731785bb075b8..aed2d172b5031 100644 --- a/processor/transformprocessor/factory.go +++ b/processor/transformprocessor/factory.go @@ -21,9 +21,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/logs" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/metadata" diff --git a/processor/transformprocessor/factory_test.go b/processor/transformprocessor/factory_test.go index b7ba18174f2c4..d9c430b6aee11 100644 --- a/processor/transformprocessor/factory_test.go +++ b/processor/transformprocessor/factory_test.go @@ -25,9 +25,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pprofiletest" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/metadata" diff --git a/processor/transformprocessor/functions.go b/processor/transformprocessor/functions.go index 3da34e6f23d48..12facc7b1f72f 100644 --- a/processor/transformprocessor/functions.go +++ b/processor/transformprocessor/functions.go @@ -12,9 +12,9 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/logs" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/metrics" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/profiles" diff --git a/processor/transformprocessor/internal/common/functions.go b/processor/transformprocessor/internal/common/functions.go index 51c2f7db956b9..0999d833503a7 100644 --- a/processor/transformprocessor/internal/common/functions.go +++ b/processor/transformprocessor/internal/common/functions.go @@ -7,13 +7,14 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlscope" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) func ResourceFunctions() map[string]ottl.Factory[*ottlresource.TransformContext] { - return ottlfuncs.StandardFuncs[*ottlresource.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlresource.TransformContext]()) } func ScopeFunctions() map[string]ottl.Factory[*ottlscope.TransformContext] { - return ottlfuncs.StandardFuncs[*ottlscope.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlscope.TransformContext]()) } diff --git a/processor/transformprocessor/internal/logs/functions.go b/processor/transformprocessor/internal/logs/functions.go index da04ef37584e0..f6e62c09675f1 100644 --- a/processor/transformprocessor/internal/logs/functions.go +++ b/processor/transformprocessor/internal/logs/functions.go @@ -8,12 +8,13 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/logparsingfuncs" ) func LogFunctions() map[string]ottl.Factory[*ottllog.TransformContext] { - functions := ottlfuncs.StandardFuncs[*ottllog.TransformContext]() + functions := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottllog.TransformContext]()) logFunctions := ottl.CreateFactoryMap( logparsingfuncs.NewParseCEFFactory(), diff --git a/processor/transformprocessor/internal/logs/functions_test.go b/processor/transformprocessor/internal/logs/functions_test.go index 4c8ba6ada7da9..152f63f5c9775 100644 --- a/processor/transformprocessor/internal/logs/functions_test.go +++ b/processor/transformprocessor/internal/logs/functions_test.go @@ -10,12 +10,13 @@ import ( "github.com/stretchr/testify/require" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/logparsingfuncs" ) func Test_LogFunctions(t *testing.T) { - expected := ottlfuncs.StandardFuncs[*ottllog.TransformContext]() + expected := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottllog.TransformContext]()) expected["ParseCEF"] = logparsingfuncs.NewParseCEFFactory() expected["ParseCLF"] = logparsingfuncs.NewParseCLFFactory() expected["ParseELF"] = logparsingfuncs.NewParseELFFactory() diff --git a/processor/transformprocessor/internal/metrics/functions.go b/processor/transformprocessor/internal/metrics/functions.go index 063f2e05f483f..6c5968a19ddf8 100644 --- a/processor/transformprocessor/internal/metrics/functions.go +++ b/processor/transformprocessor/internal/metrics/functions.go @@ -10,11 +10,12 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlexemplar" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) func DataPointFunctions() map[string]ottl.Factory[*ottldatapoint.TransformContext] { - functions := ottlfuncs.StandardFuncs[*ottldatapoint.TransformContext]() + functions := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottldatapoint.TransformContext]()) datapointFunctions := ottl.CreateFactoryMap( newConvertSummarySumValToSumFactory(), @@ -28,11 +29,11 @@ func DataPointFunctions() map[string]ottl.Factory[*ottldatapoint.TransformContex } func ExemplarFunctions() map[string]ottl.Factory[*ottlexemplar.TransformContext] { - return ottlfuncs.StandardFuncs[*ottlexemplar.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlexemplar.TransformContext]()) } func MetricFunctions() map[string]ottl.Factory[*ottlmetric.TransformContext] { - functions := ottlfuncs.StandardFuncs[*ottlmetric.TransformContext]() + functions := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlmetric.TransformContext]()) metricFunctions := ottl.CreateFactoryMap( newExtractSumMetricFactory(), diff --git a/processor/transformprocessor/internal/metrics/functions_test.go b/processor/transformprocessor/internal/metrics/functions_test.go index b5f09abcd702a..6890649d88a47 100644 --- a/processor/transformprocessor/internal/metrics/functions_test.go +++ b/processor/transformprocessor/internal/metrics/functions_test.go @@ -11,6 +11,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlmetric" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) @@ -33,7 +34,7 @@ func Test_DataPointFunctions(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - expected := ottlfuncs.StandardFuncs[*ottldatapoint.TransformContext]() + expected := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottldatapoint.TransformContext]()) expected["convert_summary_sum_val_to_sum"] = newConvertSummarySumValToSumFactory() expected["convert_summary_count_val_to_sum"] = newConvertSummaryCountValToSumFactory() expected["merge_histogram_buckets"] = newMergeHistogramBucketsFactory() @@ -50,7 +51,7 @@ func Test_DataPointFunctions(t *testing.T) { } func Test_MetricFunctions(t *testing.T) { - expected := ottlfuncs.StandardFuncs[*ottlmetric.TransformContext]() + expected := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlmetric.TransformContext]()) expected["convert_sum_to_gauge"] = newConvertSumToGaugeFactory() expected["convert_gauge_to_sum"] = newConvertGaugeToSumFactory() expected["aggregate_on_attributes"] = newAggregateOnAttributesFactory() diff --git a/processor/transformprocessor/internal/profiles/functions.go b/processor/transformprocessor/internal/profiles/functions.go index 6c8385d18a6aa..57070aa61a144 100644 --- a/processor/transformprocessor/internal/profiles/functions.go +++ b/processor/transformprocessor/internal/profiles/functions.go @@ -5,11 +5,11 @@ package profiles // import "github.com/open-telemetry/opentelemetry-collector-co import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) func ProfileFunctions() map[string]ottl.Factory[*ottlprofile.TransformContext] { - // No profiles-only functions yet. - return ottlfuncs.StandardFuncs[*ottlprofile.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlprofile.TransformContext]()) } diff --git a/processor/transformprocessor/internal/profiles/functions_test.go b/processor/transformprocessor/internal/profiles/functions_test.go index aaad11682e0ca..df6d4583d0ac7 100644 --- a/processor/transformprocessor/internal/profiles/functions_test.go +++ b/processor/transformprocessor/internal/profiles/functions_test.go @@ -9,12 +9,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlprofile" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) func Test_ProfileFunctions(t *testing.T) { - expected := ottlfuncs.StandardFuncs[ottlprofile.TransformContext]() + expected := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[ottlprofile.TransformContext]()) actual := ProfileFunctions() require.Len(t, expected, len(actual)) for k := range actual { diff --git a/processor/transformprocessor/internal/traces/functions.go b/processor/transformprocessor/internal/traces/functions.go index c04e759d02ceb..e791237821976 100644 --- a/processor/transformprocessor/internal/traces/functions.go +++ b/processor/transformprocessor/internal/traces/functions.go @@ -9,11 +9,12 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) func SpanFunctions() map[string]ottl.Factory[*ottlspan.TransformContext] { - functions := ottlfuncs.StandardFuncs[*ottlspan.TransformContext]() + functions := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlspan.TransformContext]()) spanFunctions := ottl.CreateFactoryMap( ottlfuncs.NewIsRootSpanFactory(), @@ -27,5 +28,5 @@ func SpanFunctions() map[string]ottl.Factory[*ottlspan.TransformContext] { func SpanEventFunctions() map[string]ottl.Factory[*ottlspanevent.TransformContext] { // No trace-only functions yet. - return ottlfuncs.StandardFuncs[*ottlspanevent.TransformContext]() + return xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlspanevent.TransformContext]()) } diff --git a/processor/transformprocessor/internal/traces/functions_test.go b/processor/transformprocessor/internal/traces/functions_test.go index 5338e4f4d8c75..3989646699d19 100644 --- a/processor/transformprocessor/internal/traces/functions_test.go +++ b/processor/transformprocessor/internal/traces/functions_test.go @@ -11,11 +11,12 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspan" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlspanevent" + xprofilefuncs "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile/ottlfuncs" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" ) func Test_SpanFunctions(t *testing.T) { - expected := ottlfuncs.StandardFuncs[*ottlspan.TransformContext]() + expected := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlspan.TransformContext]()) expected["IsRootSpan"] = ottlfuncs.NewIsRootSpanFactory() expected["set_semconv_span_name"] = NewSetSemconvSpanNameFactory() @@ -27,7 +28,7 @@ func Test_SpanFunctions(t *testing.T) { } func Test_SpanEventFunctions(t *testing.T) { - expected := ottlfuncs.StandardFuncs[*ottlspanevent.TransformContext]() + expected := xprofilefuncs.WithProfileConverters(ottlfuncs.StandardFuncs[*ottlspanevent.TransformContext]()) actual := SpanEventFunctions() require.Len(t, actual, len(expected)) for k := range actual { diff --git a/testbed/go.mod b/testbed/go.mod index 478e17a35b5ad..6916737c368c8 100644 --- a/testbed/go.mod +++ b/testbed/go.mod @@ -300,6 +300,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.160.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.160.0 // indirect @@ -584,3 +585,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../pkg/sampling replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/pprof => ../pkg/translator/pprof + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile => ../pkg/ottl/contexts/xprofile From 8e64e0c4e3d516cc94a74e5f39a8ca9c54728fe5 Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 16:12:33 -0600 Subject: [PATCH 04/10] changelog --- .chloggen/ottl-profiles-xprofile-module.yaml | 34 ++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .chloggen/ottl-profiles-xprofile-module.yaml diff --git a/.chloggen/ottl-profiles-xprofile-module.yaml b/.chloggen/ottl-profiles-xprofile-module.yaml new file mode 100644 index 0000000000000..3e178257965c7 --- /dev/null +++ b/.chloggen/ottl-profiles-xprofile-module.yaml @@ -0,0 +1,34 @@ +# 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. receiver/filelog) +component: pkg/ottl + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Move profiles support into a separate `pkg/ottl/contexts/xprofile` module so it is excluded from OTTL's stability guarantees. + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [50904] + +# (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: | + The `ottlprofile` and `ottlprofilesample` contexts moved to + `github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile`, + and the `ProfileID` converter and `NewProfileIDFactory` moved from `ottlfuncs` into that + module's `ottlfuncs` package. `ProfileID` is no longer part of `StandardFuncs` and + `StandardConverters`. Importers must update their import paths, depend on the new module, + and merge the profiles converters (for example via + `xprofilefuncs.WithProfileConverters`) to keep `ProfileID` available. + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# 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] From 3cbcd57b0ed1b46c99b9d64a58534c0ef87b3469 Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 16:44:22 -0600 Subject: [PATCH 05/10] remove from ottlfuncs doc --- .github/component_labels.txt | 1 + internal/tidylist/tidylist.txt | 1 + pkg/ottl/contexts/xprofile/README.md | 16 ++++++++++++++++ pkg/ottl/ottlfuncs/README.md | 17 ++--------------- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.github/component_labels.txt b/.github/component_labels.txt index bfb4900661b2c..0918e379a118c 100644 --- a/.github/component_labels.txt +++ b/.github/component_labels.txt @@ -156,6 +156,7 @@ pkg/golden pkg/golden pkg/kafka/configkafka pkg/kafka/configkafka pkg/kafka/topic pkg/kafka/topic pkg/ottl pkg/ottl +pkg/ottl/contexts/xprofile pkg/ottl/contexts/xprofile pkg/pdatatest pkg/pdatatest pkg/pdatautil pkg/pdatautil pkg/resourcetotelemetry pkg/resourcetotelemetry diff --git a/internal/tidylist/tidylist.txt b/internal/tidylist/tidylist.txt index 356b71e1f9cb9..5d9292dbeb5a5 100644 --- a/internal/tidylist/tidylist.txt +++ b/internal/tidylist/tidylist.txt @@ -10,6 +10,7 @@ extension/bearertokenauthextension extension/oauth2clientauthextension internal/coreinternal pkg/ottl +pkg/ottl/contexts/xprofile connector/routingconnector internal/pdatautil pkg/sampling diff --git a/pkg/ottl/contexts/xprofile/README.md b/pkg/ottl/contexts/xprofile/README.md index f412599f992e1..ad7de8b12f037 100644 --- a/pkg/ottl/contexts/xprofile/README.md +++ b/pkg/ottl/contexts/xprofile/README.md @@ -6,3 +6,19 @@ converter. Profiles support is under active development and is versioned independently at 0.x so that it sits outside of OTTL's stability guarantees. + +## Converters + +### ProfileID + +`ProfileID(bytes|string)` + +The `ProfileID` Converter returns a `pprofile.ProfileID` struct from the given byte slice OR hex string. + +`bytes` byte slice of exactly 16 bytes. +`string` is a string of exactly 32 hex characters solely composed of valid hexadecimal chars. + +Examples: + +- `ProfileID(0x00112233445566778899aabbccddeeff)` +- `ProfileID("a389023abaa839283293ed323892389d")` diff --git a/pkg/ottl/ottlfuncs/README.md b/pkg/ottl/ottlfuncs/README.md index 1ba48ca6c37b0..301e7ac59e49e 100644 --- a/pkg/ottl/ottlfuncs/README.md +++ b/pkg/ottl/ottlfuncs/README.md @@ -8,6 +8,8 @@ This document contains documentation for both types of OTTL functions: - [Editors](#editors) that transform telemetry. - [Converters](#converters) that provide utilities for transforming telemetry. +Experimental functions that fall outside of OTTL's stability guarantees are documented separately. See the [`xprofile` module](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/README.md) for the profiles converters, including `ProfileID`. + ## Design principles For the standard OTTL functions described in this document, we specify design principles to ensure they are always @@ -600,7 +602,6 @@ Available Converters: - [ParseSeverity](#parseseverity) - [ParseSimplifiedXML](#parsesimplifiedxml) - [ParseXML](#parsexml) -- [ProfileID](#profileid) - [Reduce](#reduce) - [RemoveXML](#removexml) - [Second](#second) @@ -2305,20 +2306,6 @@ Examples: - `ParseXML("")` -### ProfileID - -`ProfileID(bytes|string)` - -The `ProfileID` Converter returns a `pprofile.ProfileID` struct from the given byte slice OR hex string. - -`bytes` byte slice of exactly 16 bytes. -`string` is a string of exactly 32 hex characters solely composed of valid hexadecimal chars. - -Examples: - -- `ProfileID(0x00112233445566778899aabbccddeeff)` -- `ProfileID("a389023abaa839283293ed323892389d")` - ### Reduce > [!IMPORTANT] From b8c07ac91995dac6408c694ccdaaf5e782324947 Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 16:51:42 -0600 Subject: [PATCH 06/10] fix go.mod --- pkg/ottl/contexts/xprofile/go.mod | 14 ++++++------ pkg/ottl/contexts/xprofile/go.sum | 36 +++++++++++++++---------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/pkg/ottl/contexts/xprofile/go.mod b/pkg/ottl/contexts/xprofile/go.mod index 8f7a883d1cc1a..39e8053c7e5e1 100644 --- a/pkg/ottl/contexts/xprofile/go.mod +++ b/pkg/ottl/contexts/xprofile/go.mod @@ -6,10 +6,10 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.160.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.160.0 github.com/stretchr/testify v1.12.1 - go.opentelemetry.io/collector/component v1.66.1-0.20260903163450-cc4b33fc673f - go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260903163450-cc4b33fc673f - go.opentelemetry.io/collector/pdata v1.66.1-0.20260903163450-cc4b33fc673f - go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260903163450-cc4b33fc673f + go.opentelemetry.io/collector/component v1.66.1-0.20260910145229-33b7c530844a + go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260910145229-33b7c530844a + go.opentelemetry.io/collector/pdata v1.66.1-0.20260910145229-33b7c530844a + go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260910145229-33b7c530844a go.uber.org/goleak v1.3.0 go.uber.org/zap v1.28.0 ) @@ -41,9 +41,9 @@ require ( github.com/ua-parser/uap-go v0.0.0-20251207011819-db9adb27a0b8 // indirect github.com/zeebo/xxh3 v1.1.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/collector/client v1.66.1-0.20260903163450-cc4b33fc673f // indirect - go.opentelemetry.io/collector/featuregate v1.66.1-0.20260903163450-cc4b33fc673f // indirect - go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260903163450-cc4b33fc673f // indirect + go.opentelemetry.io/collector/client v1.66.1-0.20260910145229-33b7c530844a // indirect + go.opentelemetry.io/collector/featuregate v1.66.1-0.20260910145229-33b7c530844a // indirect + go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260910145229-33b7c530844a // indirect go.opentelemetry.io/otel v1.46.0 // indirect go.opentelemetry.io/otel/metric v1.46.0 // indirect go.opentelemetry.io/otel/sdk v1.46.0 // indirect diff --git a/pkg/ottl/contexts/xprofile/go.sum b/pkg/ottl/contexts/xprofile/go.sum index f276cf7262a3c..2cde99074da9f 100644 --- a/pkg/ottl/contexts/xprofile/go.sum +++ b/pkg/ottl/contexts/xprofile/go.sum @@ -77,26 +77,26 @@ github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs= github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/collector/client v1.66.1-0.20260903163450-cc4b33fc673f h1:zsTlCuarjOR6G7ARmsu2kKbtr9kwjplxpEiGQ1abHkg= -go.opentelemetry.io/collector/client v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:pH/NTKb1jXgUYXvVnRZpYq/kiBse8hJJcQSkCns4dF8= -go.opentelemetry.io/collector/component v1.66.1-0.20260903163450-cc4b33fc673f h1:GFyL3uR/RoBjCb8AatAN+PdGw7czL7cvQrxteC6a+fc= -go.opentelemetry.io/collector/component v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:IIS7ZSCTijjAy5uaCwqAp6RKqOs1rzHl3EmwBZ6B0V4= -go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260903163450-cc4b33fc673f h1:m7/SlPt8EtnmMGQ1AjSQIqrCOS5ocMyL1wbcYEfyseg= -go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:Rp9rk0xkLrfbWGhz78/y7swrC1rLG8nSOVb0tjRW2TI= -go.opentelemetry.io/collector/consumer v1.66.1-0.20260903163450-cc4b33fc673f h1:I4rj/vMg6JgKoTcPxzuBeO5Y234gDRLkymykam6hBIA= -go.opentelemetry.io/collector/consumer v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:CHUqFqerioBLb4usZEiHpzTKpEJH09a0CDyYECwQYFc= -go.opentelemetry.io/collector/featuregate v1.66.1-0.20260903163450-cc4b33fc673f h1:uO+f2ljlqNc/xRqihqeV6pwvj6u3IeRw2EJHOmgtw5E= -go.opentelemetry.io/collector/featuregate v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:dRYifiJa2vQ6LWpPwHny4mL82mnGWsWEVeVWw+DhYJw= +go.opentelemetry.io/collector/client v1.66.1-0.20260910145229-33b7c530844a h1:B+SGTLGVEtFPIo4G5Oi/LI5xZs+w8olzDHF1cFqPfQs= +go.opentelemetry.io/collector/client v1.66.1-0.20260910145229-33b7c530844a/go.mod h1:pH/NTKb1jXgUYXvVnRZpYq/kiBse8hJJcQSkCns4dF8= +go.opentelemetry.io/collector/component v1.66.1-0.20260910145229-33b7c530844a h1:lJIv8js7DMZ2gd0bd/gr8hluCvGAn5i66Nql1m53a1o= +go.opentelemetry.io/collector/component v1.66.1-0.20260910145229-33b7c530844a/go.mod h1:IIS7ZSCTijjAy5uaCwqAp6RKqOs1rzHl3EmwBZ6B0V4= +go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260910145229-33b7c530844a h1:AQrJ44gxdnAINqoGhVGu+y5WZlnQm/wPMLGUo1uSJyk= +go.opentelemetry.io/collector/component/componenttest v0.160.1-0.20260910145229-33b7c530844a/go.mod h1:Rp9rk0xkLrfbWGhz78/y7swrC1rLG8nSOVb0tjRW2TI= +go.opentelemetry.io/collector/consumer v1.66.1-0.20260910145229-33b7c530844a h1:e6uieCoXe02nMqFjjF+QOw25W3K9beCf+wWaRnboto4= +go.opentelemetry.io/collector/consumer v1.66.1-0.20260910145229-33b7c530844a/go.mod h1:CHUqFqerioBLb4usZEiHpzTKpEJH09a0CDyYECwQYFc= +go.opentelemetry.io/collector/featuregate v1.66.1-0.20260910145229-33b7c530844a h1:Zj6lD6HRH9zozJMKPHHpUMXKQXHs1Rl2IfCROhMkXGA= +go.opentelemetry.io/collector/featuregate v1.66.1-0.20260910145229-33b7c530844a/go.mod h1:dRYifiJa2vQ6LWpPwHny4mL82mnGWsWEVeVWw+DhYJw= go.opentelemetry.io/collector/internal/testutil v0.160.0 h1:Y6AeI8KjqglQzKYmNoSy9FB2CohuyoYxcLZEXQPW4og= go.opentelemetry.io/collector/internal/testutil v0.160.0/go.mod h1:FV43FoAsh4fP615Sc5ZSh7iPMgZaSgha6ngavix9OEI= -go.opentelemetry.io/collector/pdata v1.66.1-0.20260903163450-cc4b33fc673f h1:CFsCoMWtNyk1tMa2Tie1aoa4SMbKvDzkYqKO1n1O1SU= -go.opentelemetry.io/collector/pdata v1.66.1-0.20260903163450-cc4b33fc673f/go.mod h1:tdtY5DNoyzgXQmdH7pPNyeM5EiH3dGsKdPC6wUXeigU= -go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260903163450-cc4b33fc673f h1:syLnEO9U3++VJw/c1HtT6vxQGcEFk77ujs0YCFLtc2g= -go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:8lEJ1b9wLMl9nqlGdwXdXEp4a1eGWzkJ85E1HgvdXnE= -go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260903163450-cc4b33fc673f h1:1DFoJXJl3AgA9KKX+K+bXuF8rymeCR06QsgXR+xTjlk= -go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:GOlN4aeYFhx8Z1d5ujhJlckwcs4L+Iy++2SxDlbWGGE= -go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260903163450-cc4b33fc673f h1:PADd/+kOulbfAccR7eVRbZzII0h7hFM0qrDeJv5IUGw= -go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260903163450-cc4b33fc673f/go.mod h1:7cVHYDrt9W4nyKHSn7eh0y/1VMgE+8YXWOQAD9c2xPU= +go.opentelemetry.io/collector/pdata v1.66.1-0.20260910145229-33b7c530844a h1:++ncc45xneDbKmY8aCkE8g9YyMMuvMix2yblfNNR1Hk= +go.opentelemetry.io/collector/pdata v1.66.1-0.20260910145229-33b7c530844a/go.mod h1:tdtY5DNoyzgXQmdH7pPNyeM5EiH3dGsKdPC6wUXeigU= +go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260910145229-33b7c530844a h1:fIIAcNBgUuz8c7JOyNGrxTG8WZWpmHignEpUY+tZACg= +go.opentelemetry.io/collector/pdata/pprofile v0.160.1-0.20260910145229-33b7c530844a/go.mod h1:8lEJ1b9wLMl9nqlGdwXdXEp4a1eGWzkJ85E1HgvdXnE= +go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260910145229-33b7c530844a h1:LFR/3+HaS0wcaLBh8dXg0JStAYixVcy0lD4oujgL3sg= +go.opentelemetry.io/collector/pdata/testdata v0.160.1-0.20260910145229-33b7c530844a/go.mod h1:GOlN4aeYFhx8Z1d5ujhJlckwcs4L+Iy++2SxDlbWGGE= +go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260910145229-33b7c530844a h1:9C/62qWHY1LZ0SU2/uwSiohrggXLZOXfkhjjHw7pydA= +go.opentelemetry.io/collector/pdata/xpdata v0.160.1-0.20260910145229-33b7c530844a/go.mod h1:7cVHYDrt9W4nyKHSn7eh0y/1VMgE+8YXWOQAD9c2xPU= go.opentelemetry.io/otel v1.46.0 h1:FHt5/CDyVxi/8IM1CH7VE/rRgq3kLHa2mSTVMO8AWyc= go.opentelemetry.io/otel v1.46.0/go.mod h1:Gj3SEScelsNC45tp4nSxRYlS+f5iez7W8XPMCt905kE= go.opentelemetry.io/otel/metric v1.46.0 h1:yBnkXvgV7AXFILZc5K6IZe/CBFF3OS7BJ8ov6/lj0K8= From 403450bb3a67156631cba219d275402e987d3cd4 Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 16:58:11 -0600 Subject: [PATCH 07/10] run gotidy --- cmd/opampsupervisor/go.mod | 1 - exporter/elasticsearchexporter/integrationtest/go.mod | 1 - 2 files changed, 2 deletions(-) diff --git a/cmd/opampsupervisor/go.mod b/cmd/opampsupervisor/go.mod index af52cd465a79d..33f5c8cf22c11 100644 --- a/cmd/opampsupervisor/go.mod +++ b/cmd/opampsupervisor/go.mod @@ -104,7 +104,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.160.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/pierrec/lz4/v4 v4.1.29 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect diff --git a/exporter/elasticsearchexporter/integrationtest/go.mod b/exporter/elasticsearchexporter/integrationtest/go.mod index 63324e73fac78..a05e246ecf32e 100644 --- a/exporter/elasticsearchexporter/integrationtest/go.mod +++ b/exporter/elasticsearchexporter/integrationtest/go.mod @@ -82,7 +82,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.160.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.160.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/xprofile v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.160.0 // indirect github.com/pierrec/lz4/v4 v4.1.29 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect From cc664c29e8da235d9eccde69bc1f8764c18b253c Mon Sep 17 00:00:00 2001 From: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Thu, 10 Sep 2026 17:03:28 -0600 Subject: [PATCH 08/10] Apply suggestion from @TylerHelmuth --- .chloggen/ottl-profiles-xprofile-module.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.chloggen/ottl-profiles-xprofile-module.yaml b/.chloggen/ottl-profiles-xprofile-module.yaml index 3e178257965c7..dc23ec6d905b9 100644 --- a/.chloggen/ottl-profiles-xprofile-module.yaml +++ b/.chloggen/ottl-profiles-xprofile-module.yaml @@ -10,7 +10,7 @@ component: pkg/ottl note: Move profiles support into a separate `pkg/ottl/contexts/xprofile` module so it is excluded from OTTL's stability guarantees. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [50904] +issues: [50906] # (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. From f12986d299f4db1b83124b1db8cadaa2817ed4ad Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Fri, 11 Sep 2026 08:15:03 -0600 Subject: [PATCH 09/10] fix links --- pkg/ottl/README.md | 4 ++-- pkg/ottl/ottlfuncs/README.md | 2 +- processor/filterprocessor/README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/ottl/README.md b/pkg/ottl/README.md index 1f1d5e0f846e0..f0c51a325b41c 100644 --- a/pkg/ottl/README.md +++ b/pkg/ottl/README.md @@ -54,8 +54,8 @@ To see a list of available Paths for each context, checkout the links below. | `Datapoint` | [DataPoint](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottldatapoint/README.md) | | `Exemplar` | [Exemplar](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottlexemplar/README.md) | | `Log` | [Log](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/ottllog/README.md) | -| `Profile` | [Profile](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/ottlprofile/README.md) | -| `Profile Sample` | [Profile Sample](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/ottlprofilesample/README.md) | +| `Profile` | [Profile](contexts/xprofile/ottlprofile/README.md) | +| `Profile Sample` | [Profile Sample](contexts/xprofile/ottlprofilesample/README.md) | For the complete list of contexts, see the [contexts documentation](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/README.md). diff --git a/pkg/ottl/ottlfuncs/README.md b/pkg/ottl/ottlfuncs/README.md index 301e7ac59e49e..72c857fb9721a 100644 --- a/pkg/ottl/ottlfuncs/README.md +++ b/pkg/ottl/ottlfuncs/README.md @@ -8,7 +8,7 @@ This document contains documentation for both types of OTTL functions: - [Editors](#editors) that transform telemetry. - [Converters](#converters) that provide utilities for transforming telemetry. -Experimental functions that fall outside of OTTL's stability guarantees are documented separately. See the [`xprofile` module](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/contexts/xprofile/README.md) for the profiles converters, including `ProfileID`. +Experimental functions that fall outside of OTTL's stability guarantees are documented separately. See the [`xprofile` module](../contexts/xprofile/README.md) for the profiles converters, including `ProfileID`. ## Design principles diff --git a/processor/filterprocessor/README.md b/processor/filterprocessor/README.md index e3217765f4905..32f12c26ffb30 100644 --- a/processor/filterprocessor/README.md +++ b/processor/filterprocessor/README.md @@ -65,7 +65,7 @@ Within each `_conditions` list, only certain OTTL Contexts can be used. [metric]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/ottlmetric/README.md [datapoint]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/ottldatapoint/README.md [log]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/ottllog/README.md -[profile]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/contexts/xprofile/ottlprofile/README.md +[profile]: ../../pkg/ottl/contexts/xprofile/ottlprofile/README.md Telemetry is evaluated hierarchically, from higher to lower levels. The hierarchy may vary by signal type; examples include: From 0e2793cb2fbaa2591b5f9be8ee8a64d3f5d47583 Mon Sep 17 00:00:00 2001 From: TylerHelmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Fri, 11 Sep 2026 08:38:20 -0600 Subject: [PATCH 10/10] add back tests that were accidentally dropped --- .../internal/ctxprofilecommon/ids_test.go | 35 +++++++++++++++++++ .../ottlfuncs/func_profile_id_test.go | 13 +++++++ 2 files changed, 48 insertions(+) create mode 100644 pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids_test.go diff --git a/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids_test.go b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids_test.go new file mode 100644 index 0000000000000..cf37add4b43be --- /dev/null +++ b/pkg/ottl/contexts/xprofile/internal/ctxprofilecommon/ids_test.go @@ -0,0 +1,35 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ctxprofilecommon + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestParseProfileIDError(t *testing.T) { + tests := []struct { + name string + input string + wantErr string + }{ + { + name: "incorrect size", + input: "0123456789abcdef0123456789abcde", + wantErr: "profile ids must be 32 hex characters", + }, + { + name: "incorrect characters", + input: "0123456789Xbcdef0123456789abcdef", + wantErr: "encoding/hex: invalid byte: U+0058 'X'", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + _, err := ParseProfileID(tt.input) + assert.EqualError(t, err, tt.wantErr) + }) + } +} diff --git a/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id_test.go b/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id_test.go index f9aa1131eb5a1..b5b1d84207861 100644 --- a/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id_test.go +++ b/pkg/ottl/contexts/xprofile/ottlfuncs/func_profile_id_test.go @@ -5,6 +5,7 @@ package ottlfuncs import ( "context" + "reflect" "testing" "github.com/stretchr/testify/assert" @@ -69,6 +70,11 @@ func Test_profileID_validation(t *testing.T) { value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}, err: errProfileIDLength, }, + { + name: "byte slice longer than 32 (33)", + value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33}, + err: errProfileIDLength, + }, { name: "invalid hex string", value: []byte("ZZ02030405060708090a0b0c0d0e0f10"), @@ -98,6 +104,13 @@ func Test_ProfileIDFactory(t *testing.T) { factory := NewProfileIDFactory[any]() args := factory.CreateDefaultArguments() assert.IsType(t, &ProfileIDArguments[any]{}, args) + + typ := reflect.TypeOf(args).Elem() + got := make([]string, 0, typ.NumField()) + for field := range typ.Fields() { + got = append(got, field.Name) + } + assert.Equal(t, []string{"Target"}, got) }) t.Run("function creation", func(t *testing.T) {