Repository navigation
Dev. CI. Automatic endpoint performance monitoring js_keys__get - #923
Conversation
Codecov Report❌ Patch coverage is
❌ Your patch check has failed because the patch coverage (0.00%) is below the target coverage (70.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## dev #923 +/- ##
============================================
- Coverage 34.73% 34.70% -0.03%
- Complexity 7085 7091 +6
============================================
Files 298 298
Lines 27500 27522 +22
============================================
Hits 9551 9551
- Misses 17949 17971 +22 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🟡 Changes recommended
A missing constant type annotation breaks the beta workflow and blocks release ZIP generation, while nonpositive request counts silently disable performance monitoring without a warning.
2 open issues
What changed in this PR
Adds automated performance monitoring for the js_keys__get endpoint using opt-in server metrics and a dedicated GitHub Actions workflow.
Changes:
- Adds configurable
Server-Timingheaders with timing, SQL query count, and peak memory metrics. - Introduces a beta/manual workflow that provisions WordPress and runs measurements.
- Reports measurements and threshold violations through job summaries and warnings.
| File | Description |
|---|---|
lib/Cleantalk/ApbctWP/Constant.php |
Registers the performance-header configuration flag. |
lib/Cleantalk/ApbctWP/AJAXService.php |
Emits optional performance metrics for js_keys__get. |
cleantalk.php |
Records plugin startup time. |
.gitignore |
Ignores Python cache files. |
.github/workflows/perf-js-keys.yml |
Provisions WordPress and runs endpoint measurements. |
.github/perf/js_keys_perf.py |
Collects metrics, checks thresholds, and generates reports. |
Review effort: Balanced
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>


https://app.doboard.com/1/task/59920