Benchmarks
Plugin footprint 63% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲7.82MB] [CPU: ▲48.33ms] 25% from 4 tests
A check of server-side resources used by Awesome Support - WordPress HelpDesk & Support Plugin
Please have a look at the following items
- RAM: Total memory usage must be kept under 10MB (currently 11.60MB on /wp-admin/edit-tags.php?taxonomy=ticket-tag&post_type=ticket)
- CPU: Try to keep total CPU usage under 500.00ms (currently 1,567.75ms on /wp-admin/edit.php?post_type=ticket&page=wpas-addons)
- Extra RAM: Extra memory usage should kept under 5MB (currently 7.82MB on /wp-admin/edit-tags.php?taxonomy=ticket-tag&post_type=ticket)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.66 ▲6.19 | 77.35 ▲35.49 |
Dashboard /wp-admin | 11.68 ▲8.37 | 102.97 ▲45.89 |
Posts /wp-admin/edit.php | 11.78 ▲8.42 | 99.42 ▲48.11 |
Add New Post /wp-admin/post-new.php | 14.23 ▲8.34 | 149.96 ▲63.83 |
Media Library /wp-admin/upload.php | 11.60 ▲8.36 | 101.91 ▲66.56 |
Settings /wp-admin/edit.php?post_type=ticket&page=wpas-settings | 11.91 | 96.83 |
Channels /wp-admin/edit-tags.php?taxonomy=ticket_channel&post_type=ticket | 11.63 | 111.81 |
Get a Free Addon! /wp-admin/edit.php?post_type=ticket&page=wpas-optin | 11.79 | 92.13 |
Tools /wp-admin/edit.php?post_type=ticket&page=wpas-status | 11.93 | 95.18 |
Addons /wp-admin/edit.php?post_type=ticket&page=wpas-addons | 14.43 | 1,567.75 |
/wp-admin/index.php?page=as-setup | 11.48 | 73.26 |
All Tickets /wp-admin/edit.php?post_type=ticket | 11.98 | 107.60 |
Help & Support /wp-admin/edit.php?post_type=ticket&page=wpas-help-and-support | 11.80 | 90.95 |
About /wp-admin/edit.php?post_type=ticket&page=wpas-about | 11.84 | 90.61 |
Tags /wp-admin/edit-tags.php?taxonomy=ticket-tag&post_type=ticket | 11.60 | 89.56 |
Server storage [IO: ▲29.01MB] [DB: ▲0.33MB] 67% from 3 tests
Filesystem and database footprint
Please fix the following
- The filesystem usage should be lower than 25MB (currently using 29.01MB)
Filesystem: 1,161 new files
Database: 1 new table, 13 new options
New tables |
---|
wp_sm_sessions |
New WordPress options |
---|
widget_recent-comments |
ticket_channel_children |
wpas_version |
wpas_options |
wisdom_notification_times |
wpas_setup_email_templates |
wpas_db_version |
widget_recent-posts |
wpas_default_channels_added |
widget_theysaidso_widget |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Awesome Support - WordPress HelpDesk & Support Plugin
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,089 ▲327 | 13.79 ▼0.72 | 6.79 ▲5.13 | 20.63 ▼21.43 |
Dashboard /wp-admin | 2,365 ▲194 | 5.39 ▼0.24 | 101.85 ▲7.23 | 50.35 ▲10.45 |
Posts /wp-admin/edit.php | 2,272 ▲172 | 2.67 ▲0.72 | 41.10 ▲1.03 | 42.15 ▲5.19 |
Add New Post /wp-admin/post-new.php | 1,631 ▲105 | 21.94 ▼1.16 | 762.09 ▲164.57 | 35.23 ▼17.36 |
Media Library /wp-admin/upload.php | 1,571 ▲171 | 4.70 ▲0.52 | 95.66 ▼8.83 | 49.56 ▲7.12 |
Settings /wp-admin/edit.php?post_type=ticket&page=wpas-settings | 2,635 | 8.38 | 185.86 | 110.21 |
Channels /wp-admin/edit-tags.php?taxonomy=ticket_channel&post_type=ticket | 2,454 | 2.59 | 38.05 | 48.03 |
Get a Free Addon! /wp-admin/edit.php?post_type=ticket&page=wpas-optin | 1,431 | 5.45 | 64.19 | 65.95 |
Tools /wp-admin/edit.php?post_type=ticket&page=wpas-status | 2,702 | 5.50 | 72.28 | 49.90 |
Addons /wp-admin/edit.php?post_type=ticket&page=wpas-addons | 3,155 | 5.36 | 63.32 | 81.50 |
/wp-admin/index.php?page=as-setup | 233 | 1.61 | 6.81 | 21.92 |
All Tickets /wp-admin/edit.php?post_type=ticket | 2,265 | 5.48 | 90.42 | 46.20 |
Help & Support /wp-admin/edit.php?post_type=ticket&page=wpas-help-and-support | 1,419 | 5.40 | 62.61 | 48.68 |
About /wp-admin/edit.php?post_type=ticket&page=wpas-about | 3,300 | 5.98 | 77.18 | 45.60 |
Tags /wp-admin/edit-tags.php?taxonomy=ticket-tag&post_type=ticket | 1,420 | 2.58 | 34.09 | 51.25 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.34MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
Please fix the following items
- The uninstall procedure failed, leaving 1 table in the database
- wp_sm_sessions
- Zombie WordPress options detected upon uninstall: 13 options
- ticket_channel_children
- wpas_version
- wpas_db_version
- wisdom_notification_times
- db_upgraded
- theysaidso_admin_options
- wpas_setup_email_templates
- can_compress_scripts
- wpas_default_channels_added
- widget_theysaidso_widget
- ...
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Everything seems fine, however this is by no means an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
The following issues need your attention
- 3× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/awesome-support/includes/admin/views/about-tab-change-log.php
- > /wp-content/plugins/awesome-support/themes/default/email-notification.php
- > /wp-content/plugins/awesome-support/includes/admin/tinymce/wpas_editor_email_template_tags/wpas_editor_email_template_tags.php
- 108× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/awesome-support/includes/class-wpas-editor-ajax.php:26
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/awesome-support/vendor/ericmann/wp-session-manager/tests/CacheHandlerTest.php:29
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/awesome-support/includes/rest-api/includes/settings-api.php:2
- > PHP Warning
Use of undefined constant WPAS_PATH - assumed 'WPAS_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/awesome-support/includes/admin/metaboxes/message.php on line 11
- > PHP Fatal error
Uncaught Error: Call to undefined function current_user_can() in wp-content/plugins/awesome-support/includes/admin/views/status.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function wpas_get_template() in wp-content/plugins/awesome-support/themes/default/submission-pre-440.php:14
- > PHP Fatal error
Uncaught Error: Interface 'EAMann\\Sessionz\\Handler' not found in wp-content/plugins/awesome-support/vendor/ericmann/wp-session-manager/includes/SessionHandler.php:21
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/awesome-support/vendor/ericmann/sessionz/test/phpunit/Objects/MemoryItemTest.php:6
- > PHP Fatal error
Uncaught Error: Class 'WPAS_API\\API\\TicketBase' not found in wp-content/plugins/awesome-support/includes/rest-api/includes/API/TicketReplies.php:10
- > PHP Warning
require_once(ABSPATHwp-includes/class-wp-user.php): failed to open stream: No such file or directory in wp-content/plugins/awesome-support/includes/rest-api/includes/Auth/User.php on line 7
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There are user-side issues you should fix
- > GET request to /wp-admin/edit.php?post_type=ticket&page=wpas-about
- > Network (severe)
https://graph.facebook.com/v2.2/312003622332316/posts?access_token=1059973257368113|x_ZhJSNE-sF4cWPH-iggQFeRa70 - Failed to load resource: the server responded with a status of 400 ()
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
10 plugin tags: support, ticket system, help, support desk, helpdesk...
awesome-support/awesome-support.php 92% from 13 tests
The main PHP file in "Awesome Support - WordPress HelpDesk & Support Plugin" ver. 6.1.6 adds more information about the plugin and also serves as the entry point for this plugin
The following require your attention:
- Description: Please don't use more than 140 characters for the plugin description (currently 148 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
No dangerous file extensions were detected446,918 lines of code in 934 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 90 | 26,887 | 2,456 | 207,142 |
PO File | 52 | 49,884 | 93,967 | 137,814 |
JavaScript | 344 | 11,198 | 4,409 | 43,767 |
PHP | 290 | 11,677 | 19,942 | 42,415 |
Sass | 42 | 1,649 | 557 | 6,067 |
HTML | 48 | 177 | 0 | 3,692 |
LESS | 27 | 719 | 1,199 | 2,678 |
Markdown | 21 | 888 | 0 | 2,578 |
JSON | 8 | 0 | 0 | 426 |
SVG | 4 | 0 | 2 | 180 |
XML | 4 | 6 | 2 | 88 |
YAML | 2 | 11 | 0 | 42 |
make | 1 | 9 | 4 | 26 |
Bourne Shell | 1 | 2 | 0 | 3 |
PHP code 50% from 2 tests
This is a very shot review of cyclomatic complexity and code structure
Please tend to the following items
- Method cyclomatic complexity has to be reduced to less than 100 (currently 104)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.43 |
Average class complexity | 22.99 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 446.00 |
Average method complexity | 3.81 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 104.00 |
Code structure | ||
---|---|---|
Namespaces | 12 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 185 | |
▷ Abstract classes | 3 | 1.62% |
▷ Concrete classes | 182 | 98.38% |
▷ Final classes | 10 | 5.49% |
Methods | 1,485 | |
▷ Static methods | 143 | 9.63% |
▷ Public methods | 1,142 | 76.90% |
▷ Protected methods | 291 | 19.60% |
▷ Private methods | 52 | 3.50% |
Functions | 609 | |
▷ Named functions | 563 | 92.45% |
▷ Anonymous functions | 46 | 7.55% |
Constants | 62 | |
▷ Global constants | 25 | 40.32% |
▷ Class constants | 37 | 59.68% |
▷ Public constants | 37 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
40 PNG files occupy 0.53MB with 0.18MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/admin/images/AS-V400-WhatsNew-TimeTracking-01.png | 35.04KB | 13.97KB | ▼ 60.14% |
assets/admin/images/icons/re-open-ticket.png | 0.34KB | 0.23KB | ▼ 31.59% |
assets/admin/images/icons/edit_ticket.png | 0.34KB | 0.22KB | ▼ 34.94% |
assets/admin/images/mark-as-read.png | 0.36KB | 0.26KB | ▼ 28.42% |
assets/admin/images/about-cf.png | 9.05KB | 8.15KB | ▼ 9.95% |