wu-sheng opened a new pull request, #13736: URL: https://github.com/apache/skywalking/pull/13736
### Follow-up improvements to LAL v2 outputType mechanism (#13733) These changes fix several issues discovered after the initial outputType PR and add a DSL class generator test for offline validation. **Key changes:** 1. **Generalize `extraLog` from `Message` to `Object`** — `ILogAnalyzerService.doAnalysis()` and the entire listener chain now use `Optional<Object>` instead of `com.google.protobuf.Message`. This removes the protobuf coupling and allows non-protobuf input types in the future. 2. **`LALOutputBuilder.init()` accepts `Object` instead of `LogData`** — Each builder casts to its expected input type internally (e.g., `LogData` for standard logs, `HTTPAccessLogEntry` for envoy). This enables the envoy access log builder to receive the raw protobuf entry directly. 3. **Add `EnvoyAccessLogBuilder`** — A new `LALOutputBuilder` implementation for envoy access logs that extends `LogBuilder` and serializes the raw access log entry as JSON content. Registered via SPI and declared as the default output type for the MESH layer in `EnvoyHTTPLALSourceTypeProvider`. 4. **Move `addTag` off `LALOutputBuilder` interface** — `addTag()` was a default no-op on the interface, silently dropping tags for non-Log output types. Now it only exists on `LogBuilder`, and the LAL compiler validates at compile time that `tag` assignments are only used with LogBuilder-compatible output types. 5. **Remove dead `LogSinkListenerFactory` methods** — `addSinkListenerFactory()` and `getSinkListenerFactory()` on `ILogAnalysisListenerManager` were unused after the v2 refactoring. 6. **Remove unused `ModuleManager`/`ModuleConfig` from `LogAnalyzer`** — Constructor now only takes `ILogAnalysisListenerManager`. 7. **Add `DSLClassGeneratorTest`** — A test in `server-starter` that compiles all OAL, MAL, LAL, and Hierarchy scripts and dumps `.class` files to `target/generated-dsl-classes/` for offline inspection. Documents the tool in the debugging guide. - [ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #<issue number>. - [ ] Update the [`CHANGES` log](https://github.com/apache/skywalking/blob/master/docs/en/changes/changes.md). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
