-
Notifications
You must be signed in to change notification settings - Fork 101
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
feat: add memory metrics to acceptance tests #1874
Conversation
This contribution does not follow the conventions set by the Google Java style guide. Please run the following command line at the root of the project to fix formatting errors: |
📝 Acceptance Test Report📋 Summary✅ The rule acceptance has passed for commit 265d9a2 📊 Notices ComparisonNew Errors (0 out of 1588 datasets, ~0%) ✅No changes were detected due to the code change. Dropped Errors (0 out of 1588 datasets, ~0%) ✅No changes were detected due to the code change. New Warnings (0 out of 1588 datasets, ~0%) ✅No changes were detected due to the code change. Dropped Warnings (0 out of 1588 datasets, ~0%) ✅No changes were detected due to the code change. 🛡️ Corruption Check0 out of 1588 sources (~0 %) are corrupted. ⏱️ Performance Assessment📈 Validation TimeAssess the performance in terms of seconds taken for the validation process.
📜 Memory Consumption
|
📝 Acceptance Test Report📋 Summary✅ The rule acceptance has passed for commit 940ff27 📊 Notices ComparisonNew Errors (0 out of 1601 datasets, ~0%) ✅No changes were detected due to the code change. Dropped Errors (0 out of 1601 datasets, ~0%) ✅No changes were detected due to the code change. New Warnings (0 out of 1601 datasets, ~0%) ✅No changes were detected due to the code change. Dropped Warnings (0 out of 1601 datasets, ~0%) ✅No changes were detected due to the code change. 🛡️ Corruption Check0 out of 1601 sources (~0 %) are corrupted. ⏱️ Performance Assessment📈 Validation TimeAssess the performance in terms of seconds taken for the validation process.
📜 Memory Consumption
|
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.
LGTM -- it made the memory consumption much easier to read
Description
Memory consumption depends on the JVM state when the memory is collected; there is a considerable difference between reference(master) and latest(PR) executions.
From our AI friend ;-) :
This pull request includes significant changes to the
output-comparator
module, focusing on refactoring the memory usage comparison logic and improving the performance metrics collection. The most important changes include the removal of theBoundedPriorityQueue
class, the introduction of new comparators, and the refactoring of theValidationPerformanceCollector
class to streamline memory usage reporting.Memory Usage Comparison Refactor:
BoundedPriorityQueue
class, which was previously used for maintaining bounded priority queues of dataset memory usage. (BoundedPriorityQueue.java
)UsedMemoryDecreasedComparator
class to compareDatasetMemoryUsage
objects based on the minimum difference in used memory. (UsedMemoryDecreasedComparator.java
)UsedMemoryIncreasedComparator
class to compareDatasetMemoryUsage
objects based on the maximum difference in used memory, reversing the comparison for sorting purposes. (UsedMemoryIncreasedComparator.java
)Validation Performance Collection Refactor:
ValidationPerformanceCollector
class to remove the use ofBoundedPriorityQueue
and instead use lists for memory usage tracking. (ValidationPerformanceCollector.java
)PerformanceMetrics
class and added methods to compute average, median, standard deviation, min, and max values. (ValidationPerformanceCollector.java
) [1] [2]generatePerformanceMetricsLog
to format and append metrics to the log string. (ValidationPerformanceCollector.java
) [1] [2]These changes aim to improve the maintainability and readability of the memory usage comparison logic and enhance the performance metrics reporting in the
output-comparator
module.