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]

Reply via email to