Skip to content

Commit cfb3e6a

Browse files
authored
Add transform processor debugger, multiple config support, and major refactoring (#27)
- Added support for debugging transform processors configs - Added support to multiple configurations blocks. - UI WASM-driven. - Changed the transform processor examples to use the new context inferred syntax. - Added WASM panic handler. - Bump default dependencies versions.
1 parent 10264be commit cfb3e6a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4865
-1272
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ build-unregistered-versions:
2828

2929
.PHONY: update-processor-version
3030
update-processor-version:
31-
$(eval PARAMS = $(shell $(GOCMD) run ci-tools/main.go generate-processors-update -version=$(PROCESSORS_VERSION)))
31+
$(eval PARAMS = $(shell $(GOCMD) run ci-tools/main.go generate-executors-update -version=$(PROCESSORS_VERSION)))
3232
$(GOCMD) get $(PARAMS)
3333
@FIRST_PROCESSOR=$$(echo "$(PARAMS)" | awk '{print $$1}'); \
3434
COLLECTOR_DEPENDENCIES=$$($(GOCMD) mod graph | grep $$FIRST_PROCESSOR | grep "go.opentelemetry.io/collector/" | awk '{print $$2}' | sort -u); \

ci-tools/main.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ func main() {
6363
generateConstantsCmd := flag.NewFlagSet("generate-constants", flag.ExitOnError)
6464
addVersionFlag(&commandsArgs.version, currentVersion, generateConstantsCmd)
6565

66-
generateProcessorsUpdateCmd := flag.NewFlagSet("generate-processors-update", flag.ExitOnError)
67-
addVersionFlag(&commandsArgs.version, currentVersion, generateProcessorsUpdateCmd)
66+
generateExecutorsUpdateCmd := flag.NewFlagSet("generate-executors-update", flag.ExitOnError)
67+
addVersionFlag(&commandsArgs.version, currentVersion, generateExecutorsUpdateCmd)
6868

6969
switch os.Args[1] {
7070
case getVersionCmd.Name():
@@ -90,8 +90,8 @@ func main() {
9090
} else {
9191
fmt.Println(commandsArgs.version)
9292
}
93-
case generateProcessorsUpdateCmd.Name():
94-
_ = generateProcessorsUpdateCmd.Parse(os.Args[2:])
93+
case generateExecutorsUpdateCmd.Name():
94+
_ = generateExecutorsUpdateCmd.Parse(os.Args[2:])
9595
argument, err := generateProcessorsGoGetArgument(commandsArgs.version)
9696
if err != nil {
9797
fmt.Println(err)
@@ -172,7 +172,7 @@ func extractProcessorsVersionFromGoModule() (string, error) {
172172
if dep.Indirect {
173173
continue
174174
}
175-
if strings.HasPrefix(dep.Mod.Path, "github.com/open-telemetry/opentelemetry-collector-contrib/processor/") {
175+
if isExecutorGoModule(dep) {
176176
if version != "" && version != dep.Mod.Version {
177177
return "", fmt.Errorf("multiple opentelemetry-collector-contrib versions found: %q and %q", version, dep.Mod.Version)
178178
}
@@ -303,7 +303,7 @@ func generateProcessorsGoGetArgument(version string) (string, error) {
303303
if dep.Indirect {
304304
continue
305305
}
306-
if !seem[dep.Mod.Path] && strings.HasPrefix(dep.Mod.Path, "github.com/open-telemetry/opentelemetry-collector-contrib/processor/") {
306+
if !seem[dep.Mod.Path] && isExecutorGoModule(dep) {
307307
seem[dep.Mod.Path] = true
308308
argument.WriteString(fmt.Sprintf("%s@%s", dep.Mod.Path, version))
309309
argument.WriteString(" ")
@@ -408,3 +408,8 @@ func getUnregisteredVersions(maxNumOfVersions int) (string, error) {
408408

409409
return strings.Join(newVersions, " "), nil
410410
}
411+
412+
func isExecutorGoModule(dep *modfile.Require) bool {
413+
return strings.HasPrefix(dep.Mod.Path, "github.com/open-telemetry/opentelemetry-collector-contrib/processor/") ||
414+
strings.HasPrefix(dep.Mod.Path, "github.com/open-telemetry/opentelemetry-collector-contrib/connector/")
415+
}

go.mod

Lines changed: 36 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,22 @@ module github.com/elastic/ottl-playground
33
go 1.24.0
44

55
require (
6-
github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.138.0
7-
github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.138.0
6+
github.com/go-viper/mapstructure/v2 v2.4.0
7+
github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.142.0
8+
github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.142.0
89
github.com/stretchr/testify v1.11.1
9-
go.opentelemetry.io/collector/component v1.44.0
10-
go.opentelemetry.io/collector/component/componenttest v0.138.0
11-
go.opentelemetry.io/collector/confmap v1.44.0
12-
go.opentelemetry.io/collector/consumer v1.44.0
13-
go.opentelemetry.io/collector/consumer/xconsumer v0.138.0
14-
go.opentelemetry.io/collector/pdata v1.44.0
15-
go.opentelemetry.io/collector/pdata/pprofile v0.138.0
16-
go.opentelemetry.io/collector/processor v1.44.0
17-
go.opentelemetry.io/collector/processor/xprocessor v0.138.0
18-
go.uber.org/zap v1.27.0
19-
golang.org/x/mod v0.29.0
10+
go.opentelemetry.io/collector/component v1.48.0
11+
go.opentelemetry.io/collector/component/componenttest v0.142.0
12+
go.opentelemetry.io/collector/confmap v1.48.0
13+
go.opentelemetry.io/collector/consumer v1.48.0
14+
go.opentelemetry.io/collector/consumer/xconsumer v0.142.0
15+
go.opentelemetry.io/collector/pdata v1.48.0
16+
go.opentelemetry.io/collector/pdata/pprofile v0.142.0
17+
go.opentelemetry.io/collector/processor v1.48.0
18+
go.opentelemetry.io/collector/processor/xprocessor v0.142.0
19+
go.uber.org/zap v1.27.1
20+
golang.org/x/mod v0.31.0
21+
gopkg.in/yaml.v3 v3.0.1
2022
)
2123

2224
require (
@@ -26,17 +28,15 @@ require (
2628
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2729
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
2830
github.com/elastic/go-grok v0.3.1 // indirect
29-
github.com/elastic/lunes v0.1.0 // indirect
31+
github.com/elastic/lunes v0.2.0 // indirect
3032
github.com/expr-lang/expr v1.17.6 // indirect
3133
github.com/go-logr/logr v1.4.3 // indirect
3234
github.com/go-logr/stdr v1.2.2 // indirect
33-
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
3435
github.com/gobwas/glob v0.2.3 // indirect
3536
github.com/goccy/go-json v0.10.5 // indirect
36-
github.com/gogo/protobuf v1.3.2 // indirect
3737
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
3838
github.com/google/uuid v1.6.0 // indirect
39-
github.com/hashicorp/go-version v1.7.0 // indirect
39+
github.com/hashicorp/go-version v1.8.0 // indirect
4040
github.com/hashicorp/golang-lru v1.0.2 // indirect
4141
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
4242
github.com/iancoleman/strcase v0.3.0 // indirect
@@ -51,38 +51,31 @@ require (
5151
github.com/mitchellh/reflectwalk v1.0.2 // indirect
5252
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
5353
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
54-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.138.0 // indirect
55-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.138.0 // indirect
56-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.138.0 // indirect
57-
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.138.0 // indirect
58-
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.138.0 // indirect
54+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.142.0 // indirect
55+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.142.0 // indirect
56+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.142.0 // indirect
57+
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.142.0 // indirect
58+
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.142.0 // indirect
5959
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
6060
github.com/stretchr/objx v0.5.2 // indirect
6161
github.com/twmb/murmur3 v1.1.8 // indirect
6262
github.com/ua-parser/uap-go v0.0.0-20250326155420-f7f5a2f9f5bc // indirect
6363
github.com/zeebo/xxh3 v1.0.2 // indirect
64-
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
65-
go.opentelemetry.io/collector/featuregate v1.44.0 // indirect
66-
go.opentelemetry.io/collector/internal/telemetry v0.138.0 // indirect
67-
go.opentelemetry.io/collector/pipeline v1.44.0 // indirect
68-
go.opentelemetry.io/collector/pipeline/xpipeline v0.138.0 // indirect
69-
go.opentelemetry.io/collector/processor/processorhelper v0.138.0 // indirect
70-
go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.138.0 // indirect
71-
go.opentelemetry.io/contrib/bridges/otelzap v0.13.0 // indirect
72-
go.opentelemetry.io/otel v1.38.0 // indirect
73-
go.opentelemetry.io/otel/log v0.14.0 // indirect
74-
go.opentelemetry.io/otel/metric v1.38.0 // indirect
75-
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
76-
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
77-
go.opentelemetry.io/otel/trace v1.38.0 // indirect
64+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
65+
go.opentelemetry.io/collector/featuregate v1.48.0 // indirect
66+
go.opentelemetry.io/collector/pipeline v1.48.0 // indirect
67+
go.opentelemetry.io/collector/pipeline/xpipeline v0.142.0 // indirect
68+
go.opentelemetry.io/collector/processor/processorhelper v0.142.0 // indirect
69+
go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.142.0 // indirect
70+
go.opentelemetry.io/otel v1.39.0 // indirect
71+
go.opentelemetry.io/otel/metric v1.39.0 // indirect
72+
go.opentelemetry.io/otel/sdk v1.39.0 // indirect
73+
go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect
74+
go.opentelemetry.io/otel/trace v1.39.0 // indirect
7875
go.uber.org/multierr v1.11.0 // indirect
7976
go.yaml.in/yaml/v3 v3.0.4 // indirect
8077
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
81-
golang.org/x/net v0.44.0 // indirect
82-
golang.org/x/sys v0.36.0 // indirect
83-
golang.org/x/text v0.29.0 // indirect
84-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b // indirect
85-
google.golang.org/grpc v1.76.0 // indirect
86-
google.golang.org/protobuf v1.36.10 // indirect
87-
gopkg.in/yaml.v3 v3.0.1 // indirect
78+
golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82 // indirect
79+
golang.org/x/sys v0.39.0 // indirect
80+
golang.org/x/text v0.31.0 // indirect
8881
)

0 commit comments

Comments
 (0)