Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Installer ran successfully
Server metrics [RAM: ▲4.39MB] [CPU: ▲37.72ms] Passed 4 tests
Server-side resources used by EventPrime – Events Calendar, Bookings and Tickets
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.86 ▲3.40 | 62.48 ▲21.87 |
Dashboard /wp-admin | 8.04 ▲4.69 | 93.54 ▲34.98 |
Posts /wp-admin/edit.php | 8.11 ▲4.75 | 94.02 ▲48.06 |
Add New Post /wp-admin/post-new.php | 10.77 ▲4.88 | 146.15 ▲55.30 |
Media Library /wp-admin/upload.php | 7.96 ▲4.73 | 79.90 ▲45.98 |
Email /wp-admin/edit.php?post_type=em_event&page=ep-bulk-emails | 8.00 | 82.81 |
Bookings /wp-admin/edit.php?post_type=em_booking | 8.04 | 87.65 |
Shortcodes /wp-admin/edit.php?post_type=em_event&page=ep-publish-shortcodes | 8.24 | 79.51 |
Extensions /wp-admin/edit.php?post_type=em_event&page=ep-extensions | 7.97 | 79.05 |
Types /wp-admin/edit-tags.php?taxonomy=em_event_type&post_type=em_event | 8.07 | 82.11 |
Calendar /wp-admin/edit.php?post_type=em_event&page=ep-event-calendar | 8.44 | 82.26 |
Organizers /wp-admin/edit-tags.php?taxonomy=em_event_organizer&post_type=em_event | 8.08 | 78.88 |
All Events /wp-admin/edit.php?post_type=em_event | 8.07 | 83.72 |
Reports /wp-admin/edit.php?post_type=em_event&page=ep-events-reports | 8.30 | 85.49 |
Settings /wp-admin/edit.php?post_type=em_event&page=ep-settings | 8.61 | 81.47 |
Server storage [IO: ▲17.31MB] [DB: ▲0.08MB] Passed 3 tests
Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 501 new files
Database: 3 new tables, 19 new options
New tables |
---|
wp_em_price_options |
wp_eventprime_ticket_categories |
wp_eventprime_checkout_fields |
New WordPress options |
---|
widget_eventm_calendar |
db_upgraded |
widget_eventm_event_countdown |
widget_eventm_popular_organizer |
widget_eventm_featured_venue |
widget_eventm_popular_performer |
widget_eventm_featured_type |
widget_recent-comments |
emagic_db_version |
widget_eventm_popular_type |
... |
Browser metrics Passed 4 tests
A check of browser resources used by EventPrime – Events Calendar, Bookings and Tickets
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,391 ▲629 | 23.14 ▲8.40 | 6.90 ▲5.28 | 39.34 ▼4.85 |
Dashboard /wp-admin | 2,632 ▲455 | 12.57 ▲6.91 | 292.21 ▲188.87 | 44.57 ▲3.10 |
Posts /wp-admin/edit.php | 2,562 ▲462 | 12.67 ▲10.64 | 120.61 ▲83.42 | 39.37 ▼0.34 |
Add New Post /wp-admin/post-new.php | 1,641 ▲96 | 23.66 ▲5.42 | 484.40 ▼125.40 | 34.95 ▼36.75 |
Media Library /wp-admin/upload.php | 1,694 ▲300 | 11.65 ▲7.47 | 137.76 ▲41.28 | 45.10 ▲3.37 |
Email /wp-admin/edit.php?post_type=em_event&page=ep-bulk-emails | 1,552 | 11.59 | 213.52 | 69.25 |
Bookings /wp-admin/edit.php?post_type=em_booking | 1,763 | 12.69 | 118.11 | 38.45 |
Shortcodes /wp-admin/edit.php?post_type=em_event&page=ep-publish-shortcodes | 2,487 | 12.41 | 97.82 | 29.88 |
Extensions /wp-admin/edit.php?post_type=em_event&page=ep-extensions | 2,424 | 12.22 | 98.43 | 104.04 |
Types /wp-admin/edit-tags.php?taxonomy=em_event_type&post_type=em_event | 2,028 | 12.94 | 112.51 | 69.07 |
Calendar /wp-admin/edit.php?post_type=em_event&page=ep-event-calendar | 1,920 | 10.10 | 194.78 | 50.64 |
Organizers /wp-admin/edit-tags.php?taxonomy=em_event_organizer&post_type=em_event | 1,969 | 12.44 | 120.01 | 43.65 |
All Events /wp-admin/edit.php?post_type=em_event | 1,653 | 12.68 | 123.06 | 32.49 |
Reports /wp-admin/edit.php?post_type=em_event&page=ep-events-reports | 1,785 | 15.08 | 141.38 | 82.09 |
Settings /wp-admin/edit.php?post_type=em_event&page=ep-settings | 1,733 | 12.74 | 115.03 | 67.09 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.08MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
- The uninstall procedure failed, leaving 3 tables in the database
- wp_em_price_options
- wp_eventprime_checkout_fields
- wp_eventprime_ticket_categories
- This plugin did not uninstall successfully, leaving 19 options in the database
- emagic_db_version
- widget_recent-comments
- theysaidso_admin_options
- widget_eventm_event_countdown
- widget_eventm_featured_venue
- widget_eventm_popular_organizer
- widget_eventm_popular_type
- widget_eventm_slider
- widget_eventm_popular_venue
- widget_recent-posts
- ...
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 no errors were found, this is by no means an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following
- 28× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/emailers/mail/refund.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/events/views/list/views/calendar.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/venues/views/list/views/box.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/emailers/mail/event_submitted.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/event_types/views/list/views/card.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/emailers/mail/welcome_mail.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/emailers/mail/reset_user_password.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/emailers/mail/payment_confirmed.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/emailers/mail/cancellation.php
- > /wp-content/plugins/eventprime-event-calendar-management/includes/events/views/list/views/slider.php
- 271× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Notice
Trying to get property 'organizer_details' of non-object in wp-content/plugins/eventprime-event-calendar-management/includes/events/views/single-event/organizers.php on line 2
- > PHP Notice
Trying to get property 'terms' of non-object in wp-content/plugins/eventprime-event-calendar-management/includes/organizers/views/list/views/box.php on line 15
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/emailers/emailer-booking_canceled.php:6
- > PHP Notice
Undefined variable: args in wp-content/plugins/eventprime-event-calendar-management/includes/events/views/list/views/masonry.php on line 11
- > PHP Fatal error
Uncaught Error: Class 'EventM_Factory_Service' not found in wp-content/plugins/eventprime-event-calendar-management/includes/core/admin/settings/settings-tab-license.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/eventprime-event-calendar-management/includes/events/views/view-list-load.php:28
- > PHP Fatal error
Uncaught Error: Call to undefined function maybe_unserialize() in wp-content/plugins/eventprime-event-calendar-management/includes/bookings/admin/meta-boxes/views/meta-box-booking-notes.php:2
- > PHP Notice
Trying to get property 'performers' of non-object in wp-content/plugins/eventprime-event-calendar-management/includes/performers/views/list/views/list.php on line 10
- > PHP Notice
Trying to get property 'performer_details' of non-object in wp-content/plugins/eventprime-event-calendar-management/includes/events/views/single-event/performers.php on line 2
- > PHP Notice
Undefined variable: args in wp-content/plugins/eventprime-event-calendar-management/includes/venues/views/single-venue/load_more.php on line 11
- > PHP Notice
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
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
These attributes need your attention:
- Tags: You are using too many tags: 17 tag instead of maximum 10
eventprime-event-calendar-management/event-prime.php 92% from 13 tests
The entry point to "EventPrime – Events Calendar, Bookings and Tickets" version 3.3.4 is a PHP file that has certain tags in its header comment area
The following require your attention:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("eventprime-event-calendar-management.php" instead of "event-prime.php")
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Success! There were no dangerous files found in this plugin139,814 lines of code in 404 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 308 | 5,115 | 17,340 | 96,460 |
JSON | 9 | 0 | 0 | 16,618 |
JavaScript | 46 | 969 | 1,324 | 12,814 |
CSS | 37 | 2,825 | 464 | 10,473 |
PO File | 1 | 1,484 | 2,921 | 3,349 |
Markdown | 1 | 21 | 0 | 63 |
SVG | 2 | 0 | 0 | 37 |
PHP code 0% from 2 tests
This is a very shot review of cyclomatic complexity and code structure
These items need your attention
- Cyclomatic complexity of classes should be reduced to less than 1000 (currently 4,413)
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 502)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.47 |
Average class complexity | 135.22 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 4,413.00 |
Average method complexity | 9.11 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 502.00 |
Code structure | ||
---|---|---|
Namespaces | 2 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 94 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 94 | 100.00% |
▷ Final classes | 1 | 1.06% |
Methods | 1,561 | |
▷ Static methods | 348 | 22.29% |
▷ Public methods | 1,231 | 78.86% |
▷ Protected methods | 278 | 17.81% |
▷ Private methods | 52 | 3.33% |
Functions | 121 | |
▷ Named functions | 111 | 91.74% |
▷ Anonymous functions | 10 | 8.26% |
Constants | 159 | |
▷ Global constants | 159 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
48 PNG files occupy 0.91MB with 0.39MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/assets/css/images/ui-icons_ffffff_256x240.png | 6.33KB | 4.18KB | ▼ 33.99% |
includes/assets/images/event_sponsors_icon.png | 9.55KB | 3.46KB | ▼ 63.73% |
includes/assets/images/advanced-chckout-fields.png | 28.29KB | 12.33KB | ▼ 56.42% |
includes/assets/images/event_tickets_icon.png | 11.00KB | 5.07KB | ▼ 53.88% |
includes/assets/css/images/ui-icons_777620_256x240.png | 4.51KB | 4.18KB | ▼ 7.28% |