Benchmarks
Plugin footprint 64% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Install script ran successfully
Server metrics [RAM: ▲6.79MB] [CPU: ▲43.02ms] 25% from 4 tests
Server-side resources used by Internal Comments
Please take the time to fix the following items
- RAM: Try to keep total memory usage under 10MB (currently 10.02MB on /wp-admin/options-general.php?page=dws-internal-comments)
- CPU: You should keep total CPU usage under 500.00ms (currently 1,860.48ms on /wp-admin/admin.php?page=internal-comments)
- Extra RAM: The extra memory usage should kept under 5MB (currently 6.79MB on /wp-admin/options-general.php?page=dws-internal-comments)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 10.22 ▲6.75 | 82.26 ▲34.46 |
Dashboard /wp-admin | 10.11 ▲6.81 | 93.27 ▲40.91 |
Posts /wp-admin/edit.php | 10.23 ▲6.87 | 111.07 ▲59.34 |
Add New Post /wp-admin/post-new.php | 12.71 ▲6.82 | 134.78 ▲37.35 |
Media Library /wp-admin/upload.php | 10.03 ▲6.80 | 101.44 ▲62.54 |
All Comments /wp-admin/edit-comments.php | 10.10 | 94.97 |
Internal Comments /wp-admin/admin.php?page=internal-comments | 10.29 | 1,860.48 |
Freemius Debug [v.2.4.4] /wp-admin/admin.php?page=freemius | 10.26 | 81.98 |
Internal Comments /wp-admin/edit-comments.php?comment_type=dws_internal | 10.08 | 87.75 |
Internal Comments /wp-admin/options-general.php?page=dws-internal-comments | 10.02 | 88.98 |
Server storage [IO: ▲4.55MB] [DB: ▲0.01MB] Passed 3 tests
Filesystem and database footprint
This plugin installed successfully
Filesystem: 737 new files
Database: no new tables, 12 new options
New WordPress options |
---|
fs_gdpr |
theysaidso_admin_options |
can_compress_scripts |
internal_comments_original_version |
fs_active_plugins |
internal_comments_version |
widget_theysaidso_widget |
db_upgraded |
fs_debug_mode |
widget_recent-comments |
... |
Browser metrics Passed 4 tests
Internal Comments: an overview of browser usage
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,860 ▲99 | 14.25 ▼0.11 | 1.82 ▲0.18 | 26.38 ▼18.63 |
Dashboard /wp-admin | 2,230 ▲50 | 5.52 ▼0.13 | 95.39 ▲1.21 | 46.39 ▲3.56 |
Posts /wp-admin/edit.php | 2,142 ▲42 | 1.98 ▼0.03 | 40.88 ▲5.51 | 41.30 ▲4.67 |
Add New Post /wp-admin/post-new.php | 1,551 ▲23 | 21.02 ▼2.54 | 660.23 ▼27.99 | 56.34 ▲0.51 |
Media Library /wp-admin/upload.php | 1,438 ▲38 | 4.26 ▲0.13 | 100.34 ▼15.23 | 46.59 ▼1.02 |
All Comments /wp-admin/edit-comments.php | 1,848 | 2.27 | 41.63 | 40.25 |
Internal Comments /wp-admin/admin.php?page=internal-comments | 1,005 | 1.67 | 26.22 | 54.66 |
Freemius Debug [v.2.4.4] /wp-admin/admin.php?page=freemius | 1,078 | 1.66 | 23.90 | 31.16 |
Internal Comments /wp-admin/edit-comments.php?comment_type=dws_internal | 1,577 | 2.28 | 35.86 | 33.77 |
Internal Comments /wp-admin/options-general.php?page=dws-internal-comments | 864 | 2.04 | 25.89 | 30.69 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
These items require your attention
- Uninstall procedure validation failed for this plugin
- > Notice in wp-content/plugins/internal-comments/vendor/freemius/wordpress-sdk/includes/class-freemius.php+8575
Undefined property: stdClass::$plugins
- Zombie WordPress options were found after uninstall: 12 options
- widget_theysaidso_widget
- fs_debug_mode
- widget_recent-posts
- widget_recent-comments
- db_upgraded
- fs_accounts
- fs_active_plugins
- fs_gdpr
- internal_comments_original_version
- theysaidso_admin_options
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 50% 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
Please fix the following
- 62× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\DI\\Definition\\Definition' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/php-di/src/Definition/ArrayDefinition.php:12
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\DI\\Definition\\Helper\\DefinitionHelper' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/php-di/src/Definition/Helper/CreateDefinitionHelper.php:16
- > PHP Fatal error
Uncaught Error: Class 'DWS_IC_Deps\\DeepWebSolutions\\Framework\\Core\\Functionalities\\AbstractPermissionsChildFunctionality' not found in wp-content/plugins/internal-comments/src/includes/Permissions/OutputPermissions.php:13
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\DI\\Definition\\Definition' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/php-di/src/Definition/ValueDefinition.php:12
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\Invoker\\ParameterResolver\\ParameterResolver' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/invoker/src/ParameterResolver/Container/ParameterNameContainerResolver.php:12
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\DI\\Definition\\Source\\DefinitionSource' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/php-di/src/Definition/Source/SourceChain.php:13
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\Laravel\\SerializableClosure\\Contracts\\Serializable' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/laravel/serializable-closure/src/Serializers/Native.php:14
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\Invoker\\ParameterResolver\\ParameterResolver' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/invoker/src/ParameterResolver/Container/TypeHintContainerResolver.php:13
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\Invoker\\ParameterResolver\\ParameterResolver' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/invoker/src/ParameterResolver/AssociativeArrayResolver.php:15
- > PHP Fatal error
Uncaught Error: Interface 'DWS_IC_Deps\\DI\\Definition\\Source\\DefinitionSource' not found in wp-content/plugins/internal-comments/dependencies/dependency-injection/php-di/php-di/src/Definition/Source/AnnotationBasedAutowiring.php:32
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine on the user side
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
2 plugin tags: private comments, internal comments
internal-comments/internal-comments.php 92% from 13 tests
The main PHP script in "Internal Comments" version 1.2.4 is automatically included on every request by WordPress
You should first fix the following items:
- Description: The description should be shorter than 140 characters (currently 141 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
No dangerous file extensions were detected47,933 lines of code in 571 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 531 | 8,782 | 33,087 | 46,581 |
JavaScript | 7 | 66 | 63 | 437 |
PO File | 2 | 144 | 192 | 326 |
TypeScript | 5 | 49 | 163 | 206 |
CSS | 19 | 4 | 8 | 144 |
Sass | 4 | 24 | 0 | 144 |
JSON | 1 | 0 | 0 | 48 |
SVG | 1 | 1 | 0 | 30 |
Markdown | 1 | 4 | 0 | 17 |
PHP code 50% from 2 tests
Analyzing cyclomatic complexity and code structure
The following items need your attention
- Class cyclomatic complexity should be reduced to less than 1000 (currently 2,911)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.59 |
Average class complexity | 15.51 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 2,911.00 |
Average method complexity | 3.59 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 86.00 |
Code structure | ||
---|---|---|
Namespaces | 99 | |
Interfaces | 81 | |
Traits | 98 | |
Classes | 249 | |
▷ Abstract classes | 32 | 12.85% |
▷ Concrete classes | 217 | 87.15% |
▷ Final classes | 19 | 8.76% |
Methods | 2,535 | |
▷ Static methods | 314 | 12.39% |
▷ Public methods | 1,988 | 78.42% |
▷ Protected methods | 165 | 6.51% |
▷ Private methods | 382 | 15.07% |
Functions | 230 | |
▷ Named functions | 171 | 74.35% |
▷ Anonymous functions | 59 | 25.65% |
Constants | 221 | |
▷ Global constants | 152 | 68.78% |
▷ Class constants | 69 | 31.22% |
▷ Public constants | 67 | 97.10% |
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
3 PNG files occupy 0.03MB with 0.01MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor/freemius/wordpress-sdk/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |
vendor/freemius/wordpress-sdk/assets/img/plugin-icon.png | 9.16KB | 5.26KB | ▼ 42.58% |
vendor/freemius/wordpress-sdk/assets/img/internal-comments.png | 6.20KB | 4.20KB | ▼ 32.29% |