wu-sheng commented on PR #13699:
URL: https://github.com/apache/skywalking/pull/13699#issuecomment-3889007352
I did a complete comparison between the master-branch classes and
oal-v2-branch.
Here is the summary
# OAL V1 vs V2 Generated Classes Comparison Report
## Overview
| Branch | Commit | Engine |
|--------|--------|--------|
| master | `6469110fac56` | OAL V1 |
| oal-v2 | `b7f4b8e715c6` | OAL V2 |
## Classes Compared
**Total: 946 classes** decompiled using CFR 0.152 and compared line-by-line.
| Category | Description | V1 | V2 | Compared | Identical |
|----------|-------------|----|----|----------|-----------|
| Metrics | `*Metrics.class` - Core metrics classes with fields,
serialization, aggregation | 455 | 455 | 455 | 0 |
| Builder | `*MetricsBuilder.class` - Storage conversion classes | 455 | 455
| 455 | 455 |
| Dispatcher | `*Dispatcher.class` - Source routing classes | 36 | 36 | 36 |
36 |
| **Total** | | **946** | **946** | **946** | **491** |
## Differences Found
### Summary
| Category | Files with Differences | Difference Location |
|----------|------------------------|---------------------|
| Metrics | 455 (all) | `deserialize()` method |
| Builder | 0 | - |
| Dispatcher | 0 | - |
### Difference Details
**Location:** `deserialize(RemoteData remoteData)` method in all 455 Metrics
classes
**V1 (master):**
```java
if (remoteData.getDataStrings(0) != "") {
this.setEntityId(remoteData.getDataStrings(0));
}
```
**V2 (oal-v2):**
```java
if (!remoteData.getDataStrings(0).isEmpty()) {
this.setEntityId(remoteData.getDataStrings(0));
}
```
**This is a bug fix:** V1 uses `!=` (reference comparison) which is
incorrect for string comparison. V2 uses `.isEmpty()` which is the correct
approach.
## Conclusion
- **946 classes** compared between V1 and V2
- **491 classes** (455 Builder + 36 Dispatcher) are **100% identical**
- **455 classes** (Metrics) have **one difference**: `!= ""` → `.isEmpty()`
(bug fix)
- V2 is **functionally equivalent** to V1 with improved correctness
---
*Generated: 2026-02-12*
*Tools: CFR Decompiler 0.152*
--
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]