Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.11MB] [CPU: ▼7.21ms] Passed 4 tests
An overview of server-side resources used by Fripixel Crypto Quotation
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.58 ▲0.11 | 40.03 ▼3.64 |
Dashboard /wp-admin | 3.42 ▲0.11 | 49.76 ▼7.05 |
Posts /wp-admin/edit.php | 3.53 ▲0.17 | 47.43 ▼3.49 |
Add New Post /wp-admin/post-new.php | 6.00 ▲0.11 | 87.57 ▼14.64 |
Media Library /wp-admin/upload.php | 3.34 ▲0.11 | 39.96 ▲2.47 |
Server storage [IO: ▲1.73MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 319 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_theysaidso_widget |
theysaidso_admin_options |
widget_recent-comments |
db_upgraded |
can_compress_scripts |
widget_recent-posts |
Browser metrics Passed 4 tests
Checking browser requirements for Fripixel Crypto Quotation
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,804 ▲58 | 13.29 ▼1.51 | 1.72 ▲0.01 | 40.97 ▼1.32 |
Dashboard /wp-admin | 2,203 ▲12 | 5.78 ▼0.12 | 101.78 ▼5.87 | 40.93 ▼5.40 |
Posts /wp-admin/edit.php | 2,089 ▼0 | 2.02 ▲0.04 | 36.64 ▲0.03 | 35.54 ▼1.34 |
Add New Post /wp-admin/post-new.php | 1,542 ▲6 | 18.21 ▼4.95 | 612.84 ▼68.82 | 55.18 ▼4.35 |
Media Library /wp-admin/upload.php | 1,382 ▼6 | 4.19 ▼0.03 | 96.91 ▼5.50 | 43.04 ▼7.61 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
It is recommended to fix the following
- This plugin does not fully uninstall, leaving 6 options in the database
- can_compress_scripts
- db_upgraded
- widget_recent-posts
- widget_theysaidso_widget
- widget_recent-comments
- theysaidso_admin_options
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 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
The following issues need your attention
- 1× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/fripixel-crypto-quotation/quotation.php
- 124× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/guzzle/tests/Handler/CurlMultiHandlerTest.php:15
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/promises/tests/PromiseTest.php:16
- > PHP Fatal error
Uncaught Error: Class 'GuzzleHttp\\Cookie\\CookieJar' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php:8
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/guzzle/tests/PrepareBodyMiddlewareTest.php:16
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/psr7/tests/MessageTest.php:11
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/guzzle/tests/InternalUtilsTest.php:9
- > PHP Warning
require(wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/psr7/vendor/autoload.php): failed to open stream: No such file or directory in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/psr7/tests/Integration/server.php on line 5
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\RequestInterface' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/psr7/src/Request.php:15
- > PHP Fatal error
Uncaught Error: Class 'Http\\Client\\Tests\\HttpClientTest' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/guzzle/tests/HttplugIntegrationTest.php:12
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\ResponseInterface' not found in wp-content/plugins/fripixel-crypto-quotation/vendor/guzzlehttp/psr7/src/Response.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 93% 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
4 plugin tags: quotation, bitcoin, crypto, currency
fripixel-crypto-quotation/index.php 85% from 13 tests
The entry point to "Fripixel Crypto Quotation" version 5.4 is a PHP file that has certain tags in its header comment area
Please make the necessary changes and fix the following:
- Git Repository: Please remove the Git repository from this plugin
- Main file name: The principal plugin file should be the same as the plugin slug ("fripixel-crypto-quotation.php" instead of "index.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Good job! No executable or dangerous file extensions detected28,375 lines of code in 275 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 204 | 3,754 | 6,217 | 21,489 |
Markdown | 16 | 1,172 | 0 | 3,539 |
reStructuredText | 8 | 860 | 1,088 | 1,109 |
JSON | 13 | 0 | 0 | 813 |
YAML | 16 | 131 | 5 | 518 |
XML | 8 | 6 | 0 | 392 |
make | 4 | 48 | 5 | 216 |
JavaScript | 2 | 19 | 60 | 185 |
CSS | 2 | 17 | 0 | 78 |
Python | 1 | 18 | 22 | 28 |
Dockerfile | 1 | 6 | 0 | 8 |
PHP code Passed 2 tests
Analyzing cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.17 |
Average class complexity | 8.47 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 88.00 |
Average method complexity | 1.79 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 25.00 |
Code structure | ||
---|---|---|
Namespaces | 22 | |
Interfaces | 26 | |
Traits | 3 | |
Classes | 159 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 159 | 100.00% |
▷ Final classes | 37 | 23.27% |
Methods | 1,729 | |
▷ Static methods | 153 | 8.85% |
▷ Public methods | 1,589 | 91.90% |
▷ Protected methods | 17 | 0.98% |
▷ Private methods | 123 | 7.11% |
Functions | 477 | |
▷ Named functions | 46 | 9.64% |
▷ Anonymous functions | 431 | 90.36% |
Constants | 66 | |
▷ Global constants | 2 | 3.03% |
▷ Class constants | 64 | 96.97% |
▷ Public constants | 53 | 82.81% |
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
4 PNG files occupy 0.37MB with 0.16MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/screenshot-1.png | 54.55KB | 27.19KB | ▼ 50.15% |
vendor/guzzlehttp/guzzle/docs/_static/guzzle-icon.png | 0.78KB | 0.94KB | 0.00% |
vendor/guzzlehttp/guzzle/docs/_static/logo.png | 241.87KB | 69.68KB | ▼ 71.19% |
vendor/guzzlehttp/guzzle/.github/logo.png | 78.23KB | 34.21KB | ▼ 56.26% |