Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully
Server metrics [RAM: ▲0.03MB] [CPU: ▼5.74ms] Passed 4 tests
An overview of server-side resources used by WP-TwitterAnalytics
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.50 ▲0.04 | 40.83 ▲0.37 |
Dashboard /wp-admin | 3.34 ▲0.00 | 50.18 ▼12.07 |
Posts /wp-admin/edit.php | 3.40 ▲0.04 | 48.06 ▲0.21 |
Add New Post /wp-admin/post-new.php | 5.93 ▲0.04 | 86.37 ▼11.47 |
Media Library /wp-admin/upload.php | 3.27 ▲0.04 | 44.02 ▲9.60 |
Server storage [IO: ▲0.39MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin was installed successfully
Filesystem: 59 new files
Database: 2 new tables, 7 new options
New tables |
---|
wp_im_tweets |
wp_im_query |
New WordPress options |
---|
widget_recent-comments |
widget_recent-posts |
widget_theysaidso_widget |
InsightMetrix_db_version |
db_upgraded |
can_compress_scripts |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Checking browser requirements for WP-TwitterAnalytics
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,804 ▲43 | 14.59 ▲0.31 | 1.70 ▲0.17 | 44.57 ▲5.95 |
Dashboard /wp-admin | 2,210 ▲33 | 5.56 ▼0.00 | 94.41 ▲9.09 | 82.12 ▲44.05 |
Posts /wp-admin/edit.php | 2,115 ▲15 | 1.97 ▲0.00 | 34.42 ▼0.72 | 32.13 ▼4.23 |
Add New Post /wp-admin/post-new.php | 1,693 ▲165 | 21.96 ▼1.39 | 668.14 ▼20.50 | 50.88 ▼3.55 |
Media Library /wp-admin/upload.php | 1,409 ▲15 | 4.20 ▼0.02 | 97.52 ▼4.19 | 84.23 ▲38.17 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- Zombie tables detected upon uninstall: 2 tables
- wp_im_tweets
- wp_im_query
- Zombie WordPress options detected upon uninstall: 7 options
- widget_theysaidso_widget
- theysaidso_admin_options
- widget_recent-posts
- InsightMetrix_db_version
- db_upgraded
- widget_recent-comments
- can_compress_scripts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
The smoke test was a success, however most plugin functionality was not tested
SRP 0% 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
- 3× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/wp-twitteranalytics/flexigrid/FlexiGrid.php
- > /wp-content/plugins/wp-twitteranalytics/chart/ChartControls.php
- > /wp-content/plugins/wp-twitteranalytics/js/InsightMetrix-js.php
- 19× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to a member function get_results() on null in wp-content/plugins/wp-twitteranalytics/includes/DeleteControl.php:20
- > PHP Warning
Use of undefined constant INSIGHT_METRIX_API_URL - assumed 'INSIGHT_METRIX_API_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-twitteranalytics/chart/ChartControls.php on line 3
- > PHP Notice
Undefined variable: im_chartSettings in wp-content/plugins/wp-twitteranalytics/chart/ChartControls.php on line 36
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/wp-twitteranalytics/chart/chart.php:15
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/wp-twitteranalytics/chart/ChartControls.php on line 23
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/wp-twitteranalytics/chart/ChartControls.php on line 20
- > PHP Fatal error
Uncaught Error: Call to a member function get_var() on null in wp-content/plugins/wp-twitteranalytics/api/data.php:42
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/wp-twitteranalytics/chart/ChartControls.php on line 36
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_basename() in wp-content/plugins/wp-twitteranalytics/InsightMetrix.php:10
- > PHP Warning
Use of undefined constant INSIGHT_METRIX_API_URL - assumed 'INSIGHT_METRIX_API_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-twitteranalytics/flexigrid/FlexiGrid.php on line 42
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
3 plugin tags: analytics, social analytics, twitter
wp-twitteranalytics/InsightMetrix.php 92% from 13 tests
"WP-TwitterAnalytics" version 1.0's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
You should first fix the following items:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("wp-twitteranalytics.php" instead of "InsightMetrix.php")
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
Good job! No executable or dangerous file extensions detected3,362 lines of code in 17 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 5 | 24 | 163 | 1,586 |
PHP | 10 | 144 | 105 | 1,020 |
CSS | 2 | 130 | 6 | 756 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 5.00 |
▷ Minimum class complexity | 5.00 |
▷ Maximum class complexity | 5.00 |
Average method complexity | 2.33 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 3.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 1 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 1 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 3 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 1 | 33.33% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 2 | 66.67% |
Functions | 8 | |
▷ Named functions | 8 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 5 | |
▷ Global constants | 5 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
24 compressed PNG files occupy 0.02MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/control-delete.png | 0.77KB | 0.91KB | 0.00% |
images/icon32.png | 2.26KB | 1.52KB | ▼ 32.70% |
images/control-play.png | 0.41KB | 0.39KB | ▼ 4.34% |
images/control-record.png | 0.51KB | 0.53KB | 0.00% |
flexigrid/css/images/hl.png | 0.18KB | 0.15KB | ▼ 16.40% |