-
Notifications
You must be signed in to change notification settings - Fork 6
Add transform processor debugger, multiple config support, and major refactoring #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add transform processor debugger, multiple config support, and major refactoring #27
Conversation
…nto the-big-debugger-refactoring # Conflicts: # go.mod # go.sum # internal/versions.go
…nto the-big-debugger-refactoring # Conflicts: # go.mod # go.sum # internal/consumer.go # internal/executor.go # internal/processorexecutor_test.go # testdata/transformprocessor.yaml # wasm/internal/ottlplayground.go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces experimental debugger support for transform processor configurations, adds support for multiple configuration blocks with YAML component type/ID keys, and performs major refactoring to separate consumer logic from executor implementation while improving test coverage.
Key changes:
- Debugger Implementation: Added step-by-step debugging capabilities for transform processor configurations with UI controls and breakpoint support
- Multiple Configuration Support: Implemented parsing and execution of multiple configuration blocks (e.g.,
transform/rename_fields) in a single YAML file - Architecture Refactoring: Split PData consumers from executor logic, introducing new
Consumer,Observable, andDebuggerinterfaces with improved separation of concerns
Reviewed changes
Copilot reviewed 43 out of 44 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| web/src/components/playground.js | Enhanced playground with debugger state management, executor selection, and breakpoint handling |
| web/src/components/panels/result-panel.js | Added configurable view options and improved editor lifecycle management |
| web/src/components/panels/payload-panel.js | Added read-only mode support and dynamic example loading |
| web/src/components/panels/config-panel.js | Implemented debugger UI controls, breakpoint gutter, and step-through functionality |
| web/src/components/examples.js | Simplified examples structure to signal-based payload defaults |
| web/src/components/controls/index.js | Updated controls to use executor terminology and grouped display |
| wasm/main.go | Enhanced panic handling and added debug parameter to execution wrapper |
| wasm/internal/ottlplayground.go | Refactored execution logic to support debugging mode and multiple configurations |
| internal/executor.go | Introduced new executor architecture with Observable, Debugger, and metadata management |
| internal/consumer.go | Created new consumer abstraction for processor interaction |
| internal/config.go | Implemented multiple configuration parsing with YAML key ordering |
| internal/transformprocessor_executor.go | Reorganized transform processor implementation with debugger support |
| internal/transformprocessor_debugger.go | Added statement-by-statement debugging for transform processor |
| internal/filterprocessor_executor.go | Updated filter processor to use new executor pattern |
| internal/result.go | Created unified result structure with timing and debug metadata |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6e5ac16 to
ab71d4f
Compare
transform/rename_fields".processorsasexecutors.