Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▲0.32MB] [CPU: ▲12.21ms] Passed 4 tests
This is a short check of server-side resources used by Spreebie Transcoder – Resize, Compress and Store Video
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.77 ▲0.31 | 60.56 ▲15.49 |
Dashboard /wp-admin | 3.61 ▲0.31 | 62.96 ▲11.85 |
Posts /wp-admin/edit.php | 3.73 ▲0.37 | 67.33 ▲17.68 |
Add New Post /wp-admin/post-new.php | 6.22 ▲0.33 | 112.37 ▲3.82 |
Media Library /wp-admin/upload.php | 3.54 ▲0.31 | 56.55 ▲18.99 |
Spreebie Transcoded Media Categories /wp-admin/edit-tags.php?taxonomy=spreebie_transcoder_category&post_type=spreebie_t_m | 3.55 | 59.59 |
View Spreebie Transcoded Media /wp-admin/edit.php?post_type=spreebie_t_m | 3.58 | 52.03 |
Spreebie Transcoded Media Error Stages /wp-admin/edit-tags.php?taxonomy=spreebie_transcoder_error_stage&post_type=spreebie_t_m | 3.54 | 52.07 |
Server storage [IO: ▲7.16MB] [DB: ▲0.00MB] 67% from 3 tests
Input-output and database impact of this plugin
Just a few items left to fix
- There were 2 files (0.05KB) illegally modified outside of "wp-content/plugins/spreebie-transcoder/" and "wp-content/uploads/"
- (new file) out.txt
- (new file) wp-admin/out.txt
Filesystem: 580 new files
Database: no new tables, 14 new options
New WordPress options |
---|
widget_recent-comments |
spreebie_transcoder_max_video_size |
spreebie_transcoder_system_environment_section |
widget_theysaidso_widget |
spreebie_transcoder_ffmpeg_speed |
db_upgraded |
can_compress_scripts |
widget_recent-posts |
spreebie_transcoder_error_stage_children |
spreebie_transcoder_ffmpeg_quality |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Spreebie Transcoder – Resize, Compress and Store Video
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,851 ▲94 | 13.62 ▼1.13 | 1.75 ▼0.19 | 45.43 ▲2.12 |
Dashboard /wp-admin | 2,260 ▲72 | 5.89 ▼0.07 | 96.32 ▼19.27 | 38.32 ▼8.72 |
Posts /wp-admin/edit.php | 2,140 ▲51 | 2.05 ▲0.04 | 40.27 ▲1.83 | 34.81 ▼1.61 |
Add New Post /wp-admin/post-new.php | 1,562 ▲20 | 23.12 ▲4.81 | 658.45 ▼1.07 | 62.43 ▲8.09 |
Media Library /wp-admin/upload.php | 1,442 ▲54 | 4.25 ▲0.04 | 100.35 ▼3.97 | 43.37 ▼1.96 |
Spreebie Transcoded Media Categories /wp-admin/edit-tags.php?taxonomy=spreebie_transcoder_category&post_type=spreebie_t_m | 2,110 | 2.32 | 30.16 | 36.25 |
View Spreebie Transcoded Media /wp-admin/edit.php?post_type=spreebie_t_m | 1,110 | 1.99 | 30.04 | 29.81 |
Spreebie Transcoded Media Error Stages /wp-admin/edit-tags.php?taxonomy=spreebie_transcoder_error_stage&post_type=spreebie_t_m | 1,521 | 2.19 | 27.96 | 34.21 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
- Zombie WordPress options detected upon uninstall: 6 options
- db_upgraded
- widget_recent-comments
- widget_theysaidso_widget
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-posts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Good news, no errors were detected
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 fix the following items
- 314× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/spreebie-transcoder/vendor/google/auth/tests/Credentials/AppIndentityCredentialsTest.php:25
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/spreebie-transcoder/vendor/google/auth/tests/Credentials/UserRefreshCredentialsTest.php:37
- > PHP Fatal error
Uncaught Error: Class 'GuzzleHttp\\Exception\\RequestException' not found in wp-content/plugins/spreebie-transcoder/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php:10
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\Processor\\MemoryProcessor' not found in wp-content/plugins/spreebie-transcoder/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php:20
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Promise\\PromisorInterface' not found in wp-content/plugins/spreebie-transcoder/vendor/guzzlehttp/guzzle/src/Pool.php:19
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Log\\LoggerInterface' not found in wp-content/plugins/spreebie-transcoder/vendor/psr/log/Psr/Log/AbstractLogger.php:12
- > PHP Fatal error
Uncaught Error: Interface 'Google\\Cloud\\Core\\Compute\\Metadata\\Readers\\ReaderInterface' not found in wp-content/plugins/spreebie-transcoder/vendor/google/cloud-core/src/Compute/Metadata/Readers/StreamReader.php:25
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Exception\\GuzzleException' not found in wp-content/plugins/spreebie-transcoder/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php:9
- > PHP Fatal error
Trait 'Google\\Cloud\\Core\\ArrayTrait' not found in wp-content/plugins/spreebie-transcoder/vendor/google/cloud-storage/src/Bucket.php on line 48
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/spreebie-transcoder/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php:24
- > 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 96% from 29 tests
readme.txt Passed 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
5 plugin tags: ffmpeg, compression, resizing, google cloud storage, video
spreebie-transcoder/spreebie-transcoder.php 92% from 13 tests
Analyzing the main PHP file in "Spreebie Transcoder – Resize, Compress and Store Video" version 1.0.1
You should first fix the following items:
- Description: Keep the plugin description shorter than 140 characters (currently 609 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Success! There were no dangerous files found in this plugin47,287 lines of code in 543 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 480 | 7,970 | 23,902 | 36,458 |
JSON | 23 | 4 | 0 | 5,677 |
Markdown | 30 | 1,421 | 0 | 4,626 |
XSLT | 2 | 23 | 20 | 209 |
JavaScript | 2 | 39 | 33 | 152 |
CSS | 1 | 16 | 0 | 79 |
YAML | 2 | 10 | 0 | 42 |
XML | 2 | 3 | 0 | 35 |
make | 1 | 4 | 0 | 9 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.25 |
Average class complexity | 6.88 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 81.00 |
Average method complexity | 2.02 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 27.00 |
Code structure | ||
---|---|---|
Namespaces | 54 | |
Interfaces | 35 | |
Traits | 41 | |
Classes | 424 | |
▷ Abstract classes | 12 | 2.83% |
▷ Concrete classes | 412 | 97.17% |
▷ Final classes | 10 | 2.43% |
Methods | 2,923 | |
▷ Static methods | 156 | 5.34% |
▷ Public methods | 2,379 | 81.39% |
▷ Protected methods | 222 | 7.59% |
▷ Private methods | 322 | 11.02% |
Functions | 292 | |
▷ Named functions | 75 | 25.68% |
▷ Anonymous functions | 217 | 74.32% |
Constants | 177 | |
▷ Global constants | 4 | 2.26% |
▷ Class constants | 173 | 97.74% |
▷ Public constants | 173 | 100.00% |
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
5 compressed PNG files occupy 0.40MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-1.png | 155.44KB | 164.62KB | 0.00% |
screenshot-5.png | 39.76KB | 41.49KB | 0.00% |
screenshot-2.png | 84.97KB | 87.64KB | 0.00% |
screenshot-4.png | 85.67KB | 91.47KB | 0.00% |
screenshot-3.png | 39.01KB | 41.46KB | 0.00% |