Benchmarks
Plugin footprint 65% 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.92MB] [CPU: ▲3.19ms] Passed 4 tests
This is a short check of server-side resources used by TableGen - Data Table Generator
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.38 ▲0.91 | 51.18 ▲11.53 |
Dashboard /wp-admin | 4.22 ▲0.92 | 62.56 ▲12.35 |
Posts /wp-admin/edit.php | 4.34 ▲0.98 | 55.99 ▲4.97 |
Add New Post /wp-admin/post-new.php | 6.80 ▲0.92 | 96.77 ▼11.89 |
Media Library /wp-admin/upload.php | 4.15 ▲0.92 | 45.43 ▲8.15 |
Create table /wp-admin/admin.php?page=create-table-page | 4.12 | 38.58 |
Export /wp-admin/admin.php?page=attc-export | 4.12 | 40.07 |
Import /wp-admin/admin.php?page=attc-import | 4.11 | 37.36 |
Extensions /wp-admin/admin.php?page=attc-extension | 4.12 | 40.31 |
All Tables /wp-admin/admin.php?page=table-generator-all | 4.12 | 37.96 |
Server storage [IO: ▲1.56MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 77 new files
Database: 2 new tables, 8 new options
New tables |
---|
wp_at_meta |
wp_at_table_creator |
New WordPress options |
---|
db_upgraded |
widget_recent-comments |
can_compress_scripts |
attc_db_version |
theysaidso_admin_options |
widget_recent-posts |
tablegen_db_updated |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
This is an overview of browser requirements for TableGen - Data Table Generator
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,907 ▲146 | 13.85 ▼0.28 | 15.30 ▲13.65 | 43.64 ▼0.05 |
Dashboard /wp-admin | 2,231 ▲51 | 5.61 ▼0.03 | 85.58 ▼16.66 | 36.82 ▼4.99 |
Posts /wp-admin/edit.php | 2,136 ▲36 | 1.97 ▼0.03 | 39.28 ▲0.10 | 35.33 ▲0.23 |
Add New Post /wp-admin/post-new.php | 1,566 ▲31 | 23.13 ▲4.91 | 642.55 ▲7.66 | 45.75 ▼23.33 |
Media Library /wp-admin/upload.php | 1,436 ▲39 | 4.20 ▲0.03 | 98.75 ▼2.76 | 46.24 ▼1.33 |
Create table /wp-admin/admin.php?page=create-table-page | 934 | 2.30 | 28.78 | 78.13 |
Export /wp-admin/admin.php?page=attc-export | 939 | 2.37 | 28.86 | 41.07 |
Import /wp-admin/admin.php?page=attc-import | 1,036 | 2.34 | 26.46 | 43.62 |
Extensions /wp-admin/admin.php?page=attc-extension | 898 | 2.30 | 27.68 | 29.37 |
All Tables /wp-admin/admin.php?page=table-generator-all | 1,072 | 2.37 | 28.08 | 34.17 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
The following items require your attention
- Zombie tables were found after uninstall: 2 tables
- wp_at_table_creator
- wp_at_meta
- The uninstall procedure has failed, leaving 8 options in the database
- widget_recent-posts
- attc_db_version
- tablegen_db_updated
- db_upgraded
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-comments
- widget_theysaidso_widget
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Smoke test failed, please fix the following
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=attc-import
- > Notice in wp-content/plugins/table-creator/views/view-import.php+44
Undefined variable: table
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 take a closer look at the following
- 19× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/table-creator/views/import/google-sheet.php
- > /wp-content/plugins/table-creator/includes/classes/ATTC_enqueue.php
- > /wp-content/plugins/table-creator/libs/evalmath.class.php
- > /wp-content/plugins/table-creator/libs/csv-parser.class.php
- > /wp-content/plugins/table-creator/includes/classes/ATTC_import.php
- > /wp-content/plugins/table-creator/views/view-extension.php
- > /wp-content/plugins/table-creator/tablegen-data-table-generator.php
- > /wp-content/plugins/table-creator/includes/classes/ATTC_controller.php
- > /wp-content/plugins/table-creator/includes/classes/ATTC_database.php
- > /wp-content/plugins/table-creator/config.php
- 19× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/table-creator/views/view-create-table-tab.php:19
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/table-creator/views/shortcode/normal-table.php on line 5
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/table-creator/views/shortcode/advanced-table.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_nonce_field() in wp-content/plugins/table-creator/views/view-export.php:11
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_enqueue_style() in wp-content/plugins/table-creator/views/shortcode/advanced-table.php:50
- > PHP Notice
Undefined variable: args in wp-content/plugins/table-creator/views/view-table-setting.php on line 4
- > PHP Notice
Undefined variable: ATTC in wp-content/plugins/table-creator/views/view-edit-table.php on line 26
- > PHP Fatal error
Uncaught Error: Call to a member function loadView() on null in wp-content/plugins/table-creator/views/view-edit-table.php:26
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/table-creator/views/view-import.php:21
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/table-creator/views/view-table-setting.php on line 4
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser issues were found
Optimizations
Plugin configuration 90% 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
5 plugin tags: data table, table, table generator, html table, responsive data table
table-creator/tablegen-data-table-generator.php 77% from 13 tests
Analyzing the main PHP file in "TableGen - Data Table Generator" version 1.3.1
You should first fix the following items:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("table-creator.php" instead of "tablegen-data-table-generator.php")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
- Description: Keep the plugin description shorter than 140 characters (currently 250 characters long)
Code Analysis Passed 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
Good job! No executable or dangerous file extensions detected16,967 lines of code in 64 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 16 | 2,255 | 7,254 | 7,829 |
PHP | 29 | 1,031 | 2,648 | 5,113 |
CSS | 18 | 182 | 296 | 3,737 |
SVG | 1 | 0 | 0 | 288 |
PHP code Passed 2 tests
Analyzing cyclomatic complexity and code structure
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.45 |
Average class complexity | 49.94 |
▷ Minimum class complexity | 3.00 |
▷ Maximum class complexity | 229.00 |
Average method complexity | 4.08 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 64.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 16 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 16 | 100.00% |
▷ Final classes | 1 | 6.25% |
Methods | 253 | |
▷ Static methods | 34 | 13.44% |
▷ Public methods | 190 | 75.10% |
▷ Protected methods | 51 | 20.16% |
▷ Private methods | 12 | 4.74% |
Functions | 14 | |
▷ Named functions | 11 | 78.57% |
▷ Anonymous functions | 3 | 21.43% |
Constants | 80 | |
▷ Global constants | 76 | 95.00% |
▷ Class constants | 4 | 5.00% |
▷ Public constants | 4 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
5 compressed PNG files occupy 0.00MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
public/assets/css/DataTables-1.10.13/images/sort_desc.png | 0.15KB | 0.25KB | 0.00% |
public/assets/css/DataTables-1.10.13/images/sort_asc_disabled.png | 0.14KB | 0.25KB | 0.00% |
public/assets/css/DataTables-1.10.13/images/sort_desc_disabled.png | 0.14KB | 0.25KB | 0.00% |
public/assets/css/DataTables-1.10.13/images/sort_asc.png | 0.16KB | 0.25KB | 0.00% |
public/assets/css/DataTables-1.10.13/images/sort_both.png | 0.20KB | 0.29KB | 0.00% |