Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
This plugin's installer ran successfully
Server metrics [RAM: ▲0.80MB] [CPU: ▲1,412.45ms] 50% from 4 tests
A check of server-side resources used by Google Cloud Storage plugin
The following require your attention
- CPU: Total CPU usage should be kept under 500.00ms (currently 1,221.12ms on /wp-admin/options-general.php?page=gcs)
- Extra CPU: Extra CPU usage should be kept under 200.00ms (currently 1,412.45ms on /wp-admin/options-general.php?page=gcs)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.29 ▲0.83 | 1,281.62 ▲1,242.47 |
Dashboard /wp-admin | 4.13 ▲0.83 | 1,546.42 ▲1,500.09 |
Posts /wp-admin/edit.php | 4.19 ▲0.83 | 1,471.43 ▲1,426.44 |
Add New Post /wp-admin/post-new.php | 6.65 ▲0.77 | 1,580.22 ▲1,480.79 |
Media Library /wp-admin/upload.php | 3.99 ▲0.77 | 1,540.12 ▲1,509.82 |
GCS /wp-admin/options-general.php?page=gcs | 3.96 | 1,221.12 |
Server storage [IO: ▲2.80MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 579 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_recent-posts |
widget_theysaidso_widget |
widget_recent-comments |
db_upgraded |
can_compress_scripts |
theysaidso_admin_options |
gcs_use_https_for_media |
Browser metrics Passed 4 tests
Checking browser requirements for Google Cloud Storage plugin
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,794 ▲59 | 14.48 ▲0.10 | 1.65 ▼0.08 | 37.40 ▼9.48 |
Dashboard /wp-admin | 2,210 ▲19 | 5.88 ▼0.05 | 93.70 ▼8.72 | 36.86 ▼6.99 |
Posts /wp-admin/edit.php | 2,090 ▲1 | 1.94 ▼0.04 | 31.70 ▼8.78 | 33.12 ▼3.08 |
Add New Post /wp-admin/post-new.php | 1,516 ▼20 | 21.60 ▼1.46 | 609.53 ▼23.74 | 55.09 ▲2.77 |
Media Library /wp-admin/upload.php | 1,386 ▼2 | 4.16 ▼0.09 | 95.41 ▼0.82 | 41.82 ▲0.24 |
GCS /wp-admin/options-general.php?page=gcs | 817 | 2.02 | 31.06 | 32.87 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- The uninstall procedure has failed, leaving 7 options in the database
- widget_recent-comments
- theysaidso_admin_options
- widget_theysaidso_widget
- widget_recent-posts
- db_upgraded
- gcs_use_https_for_media
- can_compress_scripts
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)
Good news, no errors were detected
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
- 1× PHP files output text when accessed directly:
- > /wp-content/plugins/gcs/Uploads/Uploads.php
- 263× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Log\\LoggerInterface' not found in wp-content/plugins/gcs/vendor/monolog/monolog/src/Monolog/Logger.php:28
- > PHP Fatal error
Uncaught Error: Interface 'Monolog\\Processor\\ProcessorInterface' not found in wp-content/plugins/gcs/vendor/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php:17
- > PHP Fatal error
Uncaught Error: Class 'Google\\Cloud\\Core\\Testing\\TestHelpers' not found in wp-content/plugins/gcs/vendor/google/cloud-core/snippet-bootstrap.php:5
- > PHP Warning
include(): Failed opening 'vendor/autoload.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/gcs/vendor/google/crc32/tests/GoogleTest.php on line 18
- > PHP Fatal error
Trait 'Google\\Cloud\\Core\\Batch\\BatchDaemonTrait' not found in wp-content/plugins/gcs/vendor/google/cloud-core/src/Batch/BatchRunner.php on line 30
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/gcs/vendor/guzzlehttp/psr7/src/MultipartStream.php:10
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/gcs/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php:22
- > PHP Fatal error
Trait 'Google\\Cloud\\Core\\ArrayTrait' not found in wp-content/plugins/gcs/vendor/google/cloud-core/src/RestTrait.php on line 25
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/gcs/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php:23
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\Formatter\ormalizerFormatter' not found in wp-content/plugins/gcs/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php:20
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser errors were detected
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that require attention:
- Requires at least: The plugin version is formatted incorrectly
gcs/gcs.php 85% from 13 tests
The main file in "Google Cloud Storage plugin" v. 0.1.6 serves as a complement to information provided in readme.txt and as the entry point to the plugin
The following require your attention:
- Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
- Domain Path: The domain path is invalid: folder "/languages" does not exist
Code Analysis 97% 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
There were no executable files found in this plugin60,013 lines of code in 546 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 472 | 7,170 | 25,212 | 47,567 |
JSON | 28 | 4 | 0 | 7,135 |
Markdown | 32 | 1,568 | 0 | 4,766 |
XSLT | 2 | 23 | 20 | 209 |
C | 2 | 35 | 70 | 132 |
make | 2 | 17 | 16 | 51 |
YAML | 2 | 11 | 2 | 44 |
m4 | 1 | 11 | 14 | 38 |
C/C++ Header | 1 | 10 | 18 | 25 |
XML | 1 | 0 | 0 | 19 |
Bourne Shell | 2 | 6 | 16 | 17 |
Dockerfile | 1 | 8 | 0 | 10 |
PHP code 50% from 2 tests
A short review of cyclomatic complexity and code structure
Please fix the following
- Method cyclomatic complexity has to be reduced to less than 100 (currently 179)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 9.42 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 179.00 |
Average method complexity | 2.55 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 179.00 |
Code structure | ||
---|---|---|
Namespaces | 59 | |
Interfaces | 45 | |
Traits | 46 | |
Classes | 338 | |
▷ Abstract classes | 13 | 3.85% |
▷ Concrete classes | 325 | 96.15% |
▷ Final classes | 28 | 8.62% |
Methods | 2,443 | |
▷ Static methods | 234 | 9.58% |
▷ Public methods | 1,864 | 76.30% |
▷ Protected methods | 197 | 8.06% |
▷ Private methods | 382 | 15.64% |
Functions | 247 | |
▷ Named functions | 87 | 35.22% |
▷ Anonymous functions | 160 | 64.78% |
Constants | 313 | |
▷ Global constants | 50 | 15.97% |
▷ Class constants | 263 | 84.03% |
▷ Public constants | 243 | 92.40% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
There were not PNG files found in your plugin