Skip to content

Conversation

@LiliDeng
Copy link
Collaborator

@LiliDeng LiliDeng commented Nov 3, 2025

No description provided.

@LiliDeng LiliDeng requested a review from squirrelsc as a code owner November 3, 2025 16:09
@LiliDeng LiliDeng force-pushed the lildeng/perf_evaluation branch 4 times, most recently from 2b92dec to 3b2a7d7 Compare November 19, 2025 07:44
@LiliDeng LiliDeng force-pushed the lildeng/perf_evaluation branch 5 times, most recently from 7b7748b to c7497b8 Compare December 5, 2025 00:19
@LiliDeng LiliDeng requested a review from Copilot December 10, 2025 07:02
@LiliDeng LiliDeng force-pushed the lildeng/perf_evaluation branch from c7497b8 to 07864a5 Compare December 10, 2025 07:03
Copy link
Contributor

Copilot AI left a 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 pull request introduces a new performance evaluation notifier for the LISA testing framework. The notifier validates performance test results against predefined criteria and can optionally fail tests when performance targets are not met.

Key Changes:

  • Implements a comprehensive performance evaluation system with support for both JSON and YAML criteria files
  • Adds flexible VM size pattern matching with fuzzy matching capabilities for Azure VM naming conventions
  • Introduces hierarchical criteria format with group-based condition matching for test cases and VM sizes

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 17 comments.

Show a summary per file
File Description
lisa/notifiers/perfevaluation/perfevaluation.py Main implementation of the PerfEvaluation notifier with metric evaluation logic, criteria loading, and test result modification capabilities
lisa/notifiers/perfevaluation/perf_tcp_ntttcp_sriov_criteria.json Performance criteria definitions for TCP NTTTCP SRIOV tests across various VM sizes with detailed metrics for throughput, latency, and network performance
lisa/notifiers/perfevaluation/perf_nvme_criteria.yml YAML-based hierarchical criteria for NVMe storage performance tests with group-based conditions for specific VM sizes
lisa/notifiers/perfevaluation/init.py Package initialization exposing public classes (PerfEvaluation, PerfEvaluationSchema, MetricCriteria)
lisa/mixin_modules.py Registration of the new perfevaluation notifier module for plugin system integration
docs/run_test/runbook.rst Comprehensive documentation for the perfevaluation notifier including usage examples, parameters, and configuration formats

Test Suggestions (per LISA Testing Guidelines):

Key Test Cases:
Since this PR adds a new notifier component without modifying existing test execution logic, comprehensive unit tests should be added rather than integration tests. The notifier functionality should be validated through:

  • Unit tests for the PerfEvaluation class (suggested in selftests/test_perfevaluation.py)
  • Pattern matching validation tests
  • Criteria loading and parsing tests

Impacted LISA Features:
This change does not directly impact existing LISA features but adds a new capability for performance evaluation and reporting.

Tested Azure Marketplace Images:
No specific Azure marketplace image testing is required for this PR, as it introduces infrastructure code (a notifier) rather than platform-specific test cases. The notifier will be exercised indirectly when performance tests run on any image that generates UnifiedPerfMessage results.

@LiliDeng LiliDeng force-pushed the lildeng/perf_evaluation branch 8 times, most recently from 8cb8d8f to 632aee5 Compare December 22, 2025 01:02
@LiliDeng LiliDeng force-pushed the lildeng/perf_evaluation branch from 632aee5 to 5dd0a54 Compare December 22, 2025 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants