Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Installer ran successfully
Server metrics [RAM: ▲0.04MB] [CPU: ▼5.95ms] Passed 4 tests
This is a short check of server-side resources used by PrixChat - Realtime Private & Group Chat Plugin
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.49 ▲0.02 | 36.29 ▼1.36 |
Dashboard /wp-admin | 3.34 ▲0.03 | 43.14 ▼3.20 |
Posts /wp-admin/edit.php | 3.45 ▲0.09 | 46.50 ▼1.36 |
Add New Post /wp-admin/post-new.php | 5.96 ▲0.08 | 90.10 ▼17.88 |
Media Library /wp-admin/upload.php | 3.26 ▲0.03 | 34.66 ▲2.66 |
PrixChat /wp-admin/admin.php?page=prixchat | 3.23 | 34.38 |
Settings /wp-admin/admin.php?page=prixchat-settings | 3.27 | 32.70 |
Server storage [IO: ▲0.57MB] [DB: ▲0.01MB] Passed 3 tests
Input-output and database impact of this plugin
This plugin installed successfully
Filesystem: 25 new files
Database: 3 new tables, 7 new options
New tables |
---|
wp_prixchat_messages |
wp_prixchat_conversations |
wp_prixchat_peers |
New WordPress options |
---|
widget_recent-posts |
widget_recent-comments |
widget_theysaidso_widget |
can_compress_scripts |
theysaidso_admin_options |
db_upgraded |
prixchat_db_version |
Browser metrics Passed 4 tests
This is an overview of browser requirements for PrixChat - Realtime Private & Group Chat Plugin
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,823 ▲77 | 13.21 ▼1.08 | 1.57 ▼0.16 | 41.70 ▲2.59 |
Dashboard /wp-admin | 2,229 ▲41 | 4.84 ▼1.07 | 107.62 ▲3.72 | 41.89 ▼0.06 |
Posts /wp-admin/edit.php | 2,112 ▲20 | 2.05 ▲0.03 | 41.39 ▲5.99 | 36.09 ▲0.12 |
Add New Post /wp-admin/post-new.php | 1,562 ▲48 | 18.27 ▲0.70 | 617.02 ▼59.78 | 56.18 ▲4.52 |
Media Library /wp-admin/upload.php | 1,408 ▲26 | 4.23 ▲0.05 | 97.77 ▲0.03 | 40.75 ▼3.33 |
PrixChat /wp-admin/admin.php?page=prixchat | 838 | 4.12 | 81.80 | 22.04 |
Settings /wp-admin/admin.php?page=prixchat-settings | 906 | 2.06 | 25.16 | 36.58 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
It is recommended to fix the following
- This plugin does not fully uninstall, leaving 6 options in the database
- theysaidso_admin_options
- widget_theysaidso_widget
- widget_recent-comments
- db_upgraded
- can_compress_scripts
- widget_recent-posts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though no errors were found, this is by no means an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please take a closer look at the following
- 6× PHP files trigger server errors when accessed directly:
- > PHP Fatal error
Uncaught Error: Class 'PrixChat\\Controllers\\Base_Controller' not found in wp-content/plugins/prixchat/src/controllers/class-peers-controller.php:7
- > PHP Fatal error
Uncaught Error: Class 'WP_REST_Controller' not found in wp-content/plugins/prixchat/src/controllers/class-base-controller.php:7
- > PHP Fatal error
Uncaught Error: Class 'PrixChat\\Controllers\\Base_Controller' not found in wp-content/plugins/prixchat/src/controllers/class-conversations-controller.php:10
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_die() in wp-content/plugins/prixchat/prixchat.php:15
- > PHP Fatal error
Uncaught Error: Class 'PrixChat\\Controllers\\Base_Controller' not found in wp-content/plugins/prixchat/src/controllers/class-sse-controller.php:7
- > PHP Fatal error
Uncaught Error: Class 'PrixChat\\Controllers\\Base_Controller' not found in wp-content/plugins/prixchat/src/controllers/class-messages-controller.php:9
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
No browser errors were detected
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that need to be fixed:
- Screenshots: These screenshots need descriptions #1, #2 in prixchat/assets to your readme.txt
prixchat/prixchat.php Passed 13 tests
The main file in "PrixChat - Realtime Private & Group Chat Plugin" v. 1.1.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
81 characters long description:
Self-hosted realtime group chat and private chat without any third party service.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Good job! No executable or dangerous file extensions detected1,806 lines of code in 22 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 18 | 417 | 92 | 1,436 |
JavaScript | 1 | 34 | 42 | 354 |
HTML | 1 | 1 | 0 | 14 |
CSS | 1 | 0 | 0 | 1 |
SVG | 1 | 0 | 0 | 1 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.26 |
Average class complexity | 9.71 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 27.00 |
Average method complexity | 2.82 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 22.00 |
Code structure | ||
---|---|---|
Namespaces | 2 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 14 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 14 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 63 | |
▷ Static methods | 20 | 31.75% |
▷ Public methods | 57 | 90.48% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 6 | 9.52% |
Functions | 12 | |
▷ Named functions | 4 | 33.33% |
▷ Anonymous functions | 8 | 66.67% |
Constants | 2 | |
▷ Global constants | 2 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
PNG images were not found in this plugin