Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲4.92MB] [CPU: ▲18.76ms] Passed 4 tests
Server-side resources used by Vampire Character Manager
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.64 ▲3.18 | 54.18 ▲13.23 |
Dashboard /wp-admin | 9.24 ▲5.94 | 86.50 ▲32.49 |
Posts /wp-admin/edit.php | 9.28 ▲5.93 | 92.17 ▲46.99 |
Add New Post /wp-admin/post-new.php | 10.54 ▲4.65 | 77.53 ▼17.67 |
Media Library /wp-admin/upload.php | 9.16 ▲5.93 | 94.59 ▲64.64 |
Data Tables /wp-admin/admin.php?page=vtmcharacter-data | 9.06 | 80.71 |
Player Admin /wp-admin/admin.php?page=vtmcharacter-player | 9.07 | 71.23 |
Configuration /wp-admin/admin.php?page=vtmcharacter-config | 9.07 | 74.24 |
XP Approval /wp-admin/admin.php?page=vtmcharacter-xp | 9.07 | 76.89 |
Backgrounds /wp-admin/admin.php?page=vtmcharacter-bg | 9.06 | 74.92 |
Assign XP /wp-admin/admin.php?page=vtmcharacter-xpassign | 9.07 | 70.34 |
Character Approval /wp-admin/admin.php?page=vtmcharacter-chargen | 9.07 | 75.26 |
Path Changes /wp-admin/admin.php?page=vtmcharacter-paths | 9.08 | 70.38 |
Character Admin /wp-admin/admin.php?page=character-plugin | 9.04 | 70.26 |
Character Options /wp-admin/options-general.php?page=vtmoptions | 9.07 | 70.94 |
Server storage [IO: ▲1.99MB] [DB: ▲0.07MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 119 new files
Database: 66 new tables, 13 new options
New tables |
---|
wp_vtm_CHARGEN_TEMPLATE_MAXIMUM |
wp_vtm_CHARACTER_TEMPORARY_STAT |
wp_vtm_MAIL_STATUS |
wp_vtm_SOURCE_BOOK |
wp_vtm_CHARACTER |
wp_vtm_DOMAIN |
wp_vtm_PENDING_XP_SPEND |
wp_vtm_CHARACTER_GENERATION |
wp_vtm_SECTOR |
wp_vtm_CHARACTER_STAT |
... |
New WordPress options |
---|
theysaidso_admin_options |
widget_vtmplugin_widget |
widget_solar |
widget_theysaidso_widget |
can_compress_scripts |
widget_recent-comments |
widget_recent-posts |
db_upgraded |
widget_vtmplugin_background_widget |
vtm_character_db_version |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Vampire Character Manager
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,964 ▲177 | 14.15 ▼0.20 | 2.65 ▲0.74 | 41.63 ▼2.70 |
Dashboard /wp-admin | 2,333 ▲156 | 5.60 ▼0.17 | 99.95 ▲1.31 | 44.10 ▲1.52 |
Posts /wp-admin/edit.php | 2,241 ▲141 | 2.11 ▲0.12 | 41.65 ▲4.44 | 36.80 ▲2.09 |
Add New Post /wp-admin/post-new.php | 1,483 ▼43 | 16.65 ▼6.60 | 643.42 ▼75.51 | 46.91 ▼15.47 |
Media Library /wp-admin/upload.php | 1,538 ▲135 | 4.23 ▲0.02 | 100.68 ▼3.21 | 43.50 ▼0.42 |
Data Tables /wp-admin/admin.php?page=vtmcharacter-data | 1,145 | 1.93 | 27.46 | 29.94 |
Player Admin /wp-admin/admin.php?page=vtmcharacter-player | 1,246 | 1.78 | 25.38 | 26.86 |
Configuration /wp-admin/admin.php?page=vtmcharacter-config | 1,103 | 1.93 | 26.30 | 31.53 |
XP Approval /wp-admin/admin.php?page=vtmcharacter-xp | 1,128 | 1.93 | 31.20 | 28.14 |
Backgrounds /wp-admin/admin.php?page=vtmcharacter-bg | 1,192 | 1.82 | 24.78 | 32.42 |
Assign XP /wp-admin/admin.php?page=vtmcharacter-xpassign | 957 | 1.78 | 24.47 | 26.70 |
Character Approval /wp-admin/admin.php?page=vtmcharacter-chargen | 1,071 | 1.81 | 24.60 | 29.04 |
Path Changes /wp-admin/admin.php?page=vtmcharacter-paths | 1,144 | 1.65 | 27.62 | 30.40 |
Character Admin /wp-admin/admin.php?page=character-plugin | 1,108 | 1.77 | 23.32 | 26.08 |
Character Options /wp-admin/options-general.php?page=vtmoptions | 937 | 2.14 | 24.88 | 27.40 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.07MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
- Zombie tables were found after uninstall: 66 tables
- wp_vtm_CHARACTER_RITUAL
- wp_vtm_DISCIPLINE
- wp_vtm_CONFIG
- wp_vtm_SECT
- wp_vtm_CHARACTER_DISCIPLINE_POWER
- wp_vtm_XP_REASON
- wp_vtm_DISCIPLINE_POWER
- wp_vtm_TEMPORARY_STAT_REASON
- wp_vtm_TEMPORARY_STAT
- wp_vtm_CHARACTER_COMBO_DISCIPLINE
- ...
- Zombie WordPress options detected upon uninstall: 13 options
- vtm_character_version
- widget_recent-comments
- widget_theysaidso_widget
- widget_vtmplugin_background_widget
- can_compress_scripts
- widget_solar
- vtm_character_db_version
- widget_vtmplugin_widget
- theysaidso_admin_options
- widget_recent-posts
- ...
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
These errors were triggered by the plugin
- > GET request to /wp-admin/admin.php?page=character-plugin
- > Warning in wp-content/plugins/vampire-character/inc/functions.php+142
Illegal string offset 'vtm_link_editCharSheet'
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=character-plugin
- > Notice in wp-includes/link-template.php+409
Trying to get property 'ID' of non-object
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please take a closer look at the following
- 49× 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_shortcode() in wp-content/plugins/vampire-character/inc/functions.php:417
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/vampire-character/inc/profile.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/vampire-character/inc/adminpages/characters.php:320
- > PHP Fatal error
Uncaught Error: Class 'vtmclass_Report_ListTable' not found in wp-content/plugins/vampire-character/inc/adminpages/masterpath.php:90
- > PHP Fatal error
Uncaught Error: Class 'vtmclass_MultiPage_ListTable' not found in wp-content/plugins/vampire-character/inc/adminpages/skill_types.php:140
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/vampire-character/templates/vtmpm.php:6
- > PHP Warning
include_once(ABSPATHwp-admin/includes/plugin.php): failed to open stream: No such file or directory in wp-content/plugins/vampire-character/inc/widgets.php on line 2
- > PHP Fatal error
Uncaught Error: Call to undefined function register_activation_hook() in wp-content/plugins/vampire-character/inc/install.php:5
- > PHP Fatal error
Uncaught Error: Class 'vtmclass_MultiPage_ListTable' not found in wp-content/plugins/vampire-character/inc/adminpages/nature.php:119
- > PHP Warning
Use of undefined constant VTM_CHARACTER_URL - assumed 'VTM_CHARACTER_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/vampire-character/inc/adminpages.php on line 3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
There are user-side issues you should fix
- 10 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=vtmoptions
- > Javascript (severe) in unknown
/wp-content/plugins/vampire-character/js/googleapi.js?ver=6.3.1 55:0 Uncaught ReferenceError: google is not defined
- 10 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=vtmoptions
- > Javascript (severe) in unknown
/wp-content/plugins/vampire-character/js/googleapi.js?ver=6.3.1 45:60 Uncaught TypeError: Cannot read properties of null (reading 'value')
Optimizations
Plugin configuration Passed 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
7 plugin tags: character, larp, generation, roleplay, rpg...
vampire-character/vampire-character.php Passed 13 tests
The main PHP script in "Vampire Character Manager" version 2.13 is automatically included on every request by WordPress
36 characters long description:
Management of Characters and Players
Code Analysis Passed 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
Success! There were no dangerous files found in this plugin36,932 lines of code in 63 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 58 | 6,965 | 3,766 | 36,153 |
CSS | 3 | 70 | 61 | 711 |
JavaScript | 1 | 15 | 5 | 36 |
HTML | 1 | 1 | 0 | 32 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.32 |
Average class complexity | 29.65 |
▷ Minimum class complexity | 3.00 |
▷ Maximum class complexity | 339.00 |
Average method complexity | 3.31 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 32.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 46 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 46 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 573 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 519 | 90.58% |
▷ Protected methods | 54 | 9.42% |
▷ Private methods | 0 | 0.00% |
Functions | 526 | |
▷ Named functions | 523 | 99.43% |
▷ Anonymous functions | 3 | 0.57% |
Constants | 8 | |
▷ Global constants | 8 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
7 PNG files occupy 0.02MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
inc/adminpages/icons/print.png | 3.12KB | 0.28KB | ▼ 91.11% |
inc/adminpages/icons/background.png | 3.16KB | 0.31KB | ▼ 90.30% |
inc/adminpages/icons/delete.png | 3.20KB | 0.42KB | ▼ 86.75% |
inc/adminpages/icons/profile.png | 3.12KB | 0.30KB | ▼ 90.27% |
inc/adminpages/icons/spendxp.png | 2.89KB | 0.44KB | ▼ 84.71% |