Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲0.00MB] [CPU: ▼4.51ms] Passed 4 tests
Analyzing server-side resources used by Event Tickets Manager for WooCommerce – Events and Bookings Calendar, Registration, Event Check-in Using Emails, Edit Your Ticket Content
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.46 ▲0.00 | 36.24 ▼3.12 |
Dashboard /wp-admin | 3.31 ▲0.00 | 44.55 ▼4.44 |
Posts /wp-admin/edit.php | 3.36 ▲0.00 | 45.38 ▼5.45 |
Add New Post /wp-admin/post-new.php | 5.89 ▲0.00 | 88.57 ▼5.03 |
Media Library /wp-admin/upload.php | 3.23 ▲0.00 | 31.71 ▼0.75 |
Server storage [IO: ▲29.67MB] [DB: ▲0.00MB] 67% from 3 tests
Input-output and database impact of this plugin
Please fix the following
- Filesystem usage must be lower than 25MB (currently using 29.67MB)
Filesystem: 652 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_recent-posts |
widget_theysaidso_widget |
theysaidso_admin_options |
db_upgraded |
can_compress_scripts |
widget_recent-comments |
Browser metrics Passed 4 tests
An overview of browser requirements for Event Tickets Manager for WooCommerce – Events and Bookings Calendar, Registration, Event Check-in Using Emails, Edit Your Ticket Content
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,790 ▲28 | 14.37 ▼0.34 | 1.63 ▼0.14 | 36.03 ▼8.51 |
Dashboard /wp-admin | 2,198 ▲23 | 5.61 ▼0.10 | 97.63 ▼19.19 | 42.55 ▼3.05 |
Posts /wp-admin/edit.php | 2,100 ▼0 | 1.95 ▼0.07 | 38.33 ▲1.86 | 37.40 ▲2.96 |
Add New Post /wp-admin/post-new.php | 1,526 ▼0 | 23.70 ▲0.71 | 655.75 ▲36.87 | 52.47 ▼6.22 |
Media Library /wp-admin/upload.php | 1,400 ▼0 | 4.13 ▼0.05 | 93.49 ▼6.66 | 42.32 ▲0.18 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
It is recommended to fix the following
- This plugin did not uninstall successfully, leaving 6 options in the database
- widget_recent-comments
- widget_recent-posts
- db_upgraded
- widget_theysaidso_widget
- can_compress_scripts
- theysaidso_admin_options
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though everything seems fine, this is not an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
The following issues need your attention
- 2× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/sabberworm/php-css-parser/tests/quickdump.php
- > /wp-content/plugins/event-tickets-manager-for-woocommerce/public/partials/event-tickets-manager-for-woocommerce-public-display.php
- 190× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Svg\\Surface\\SurfaceInterface' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/phenx/php-svg-lib/src/Svg/Surface/SurfaceGmagick.php:13
- > PHP Fatal error
Uncaught Error: Class 'FontLib\\Header' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/phenx/php-font-lib/src/FontLib/EOT/Header.php:21
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/event-tickets-manager-for-woocommerce/onboarding/templates/event-tickets-manager-for-woocommerce-onboarding-template.php:15
- > PHP Fatal error
Uncaught Error: Class 'Sabberworm\\CSS\\Value\\ValueList' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/sabberworm/php-css-parser/lib/Sabberworm/CSS/Value/RuleValueList.php:5
- > PHP Fatal error
Uncaught Error: Class 'FontLib\\TrueType\\File' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/phenx/php-font-lib/src/FontLib/WOFF/File.php:20
- > PHP Fatal error
Uncaught Error: Class 'FontLib\\BinaryStream' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/phenx/php-font-lib/src/FontLib/Table/Table.php:19
- > PHP Fatal error
Uncaught Error: Interface 'Sabberworm\\CSS\\Renderable' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/sabberworm/php-css-parser/lib/Sabberworm/CSS/Rule/Rule.php:15
- > PHP Fatal error
Uncaught Error: Class 'Dompdf\\Renderer\\AbstractRenderer' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/dompdf/dompdf/src/Renderer/ListBullet.php:22
- > PHP Fatal error
Uncaught Error: Interface 'Sabberworm\\CSS\\Renderable' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/sabberworm/php-css-parser/lib/Sabberworm/CSS/CSSList/CSSList.php:26
- > PHP Fatal error
Uncaught Error: Interface 'Dompdf\\Canvas' not found in wp-content/plugins/event-tickets-manager-for-woocommerce/package/lib/dompdf/vendor/dompdf/dompdf/src/Adapter/PDFLib.php:34
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There were no browser issues found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 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
Attributes that require attention:
- Requires php: Invalid version format
event-tickets-manager-for-woocommerce/event-tickets-manager-for-woocommerce.php 92% from 13 tests
Analyzing the main PHP file in "Event Tickets Manager for WooCommerce – Events and Bookings Calendar, Registration, Event Check-in Using Emails, Edit Your Ticket Content" version 1.2.2
The following require your attention:
- Description: Keep the plugin description shorter than 140 characters (currently 382 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
There were no executable files found in this plugin112,589 lines of code in 362 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 252 | 9,688 | 17,779 | 67,993 |
SVG | 18 | 0 | 0 | 35,224 |
CSS | 55 | 684 | 149 | 3,643 |
JavaScript | 13 | 520 | 354 | 3,495 |
Markdown | 6 | 265 | 0 | 947 |
PO File | 1 | 284 | 364 | 631 |
JSON | 6 | 0 | 0 | 378 |
XML | 6 | 4 | 2 | 192 |
YAML | 3 | 12 | 2 | 64 |
HTML | 1 | 0 | 0 | 17 |
Sass | 1 | 2 | 0 | 5 |
PHP code 50% from 2 tests
An overview of cyclomatic complexity and code structure
These items need your attention
- Method cyclomatic complexity has to be reduced to less than 100 (currently 652)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.45 |
Average class complexity | 44.72 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 797.00 |
Average method complexity | 4.74 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 652.00 |
Code structure | ||
---|---|---|
Namespaces | 35 | |
Interfaces | 6 | |
Traits | 0 | |
Classes | 275 | |
▷ Abstract classes | 16 | 5.82% |
▷ Concrete classes | 259 | 94.18% |
▷ Final classes | 0 | 0.00% |
Methods | 3,391 | |
▷ Static methods | 179 | 5.28% |
▷ Public methods | 2,905 | 85.67% |
▷ Protected methods | 356 | 10.50% |
▷ Private methods | 130 | 3.83% |
Functions | 48 | |
▷ Named functions | 22 | 45.83% |
▷ Anonymous functions | 26 | 54.17% |
Constants | 277 | |
▷ Global constants | 5 | 1.81% |
▷ Class constants | 272 | 98.19% |
▷ Public constants | 272 | 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
47 PNG files occupy 2.23MB with 0.53MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
public/src/image/qr.png | 2.92KB | 2.74KB | ▼ 6.31% |
admin/resources/icons/multiple-order-bumps.png | 4.12KB | 3.94KB | ▼ 4.39% |
admin/resources/icons/warning.png | 3.08KB | 1.93KB | ▼ 37.28% |
admin/src/images/img12.png | 13.41KB | 5.47KB | ▼ 59.19% |
admin/src/images/email-icon.png | 2.29KB | 2.03KB | ▼ 11.48% |