froemken / mysqlreport Goto Github PK
View Code? Open in Web Editor NEWAnalyze TYPO3 database queries
License: GNU General Public License v2.0
Analyze TYPO3 database queries
License: GNU General Public License v2.0
Extension is not working under TYPO3 11.5.30, but composer.json "require" says different: "^11.5.23 || ^12.2.0"
Also the ext_emconf.php says, it should be compatible with TYPO3 11.5.23 and up: 'typo3' => '11.5.23-12.5.99'
After install backend breaks with this error message:
Invalid service "dashboard.widget.mysql-max-used-connections": class "TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget" does not exist.
The class TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget is not available under TYPO3 11.5
An exception occurred while executing 'EXPLAIN SELECT backend_layout
, backend_layout_next_level
, uid
FROM pages
WHERE (uid = ) AND ((pages
.deleted
= 0) AND (pages
.hidden
= 0) AND (pages
.starttime
<= 1667920020) AND ((pages
.endtime
= 0) OR (pages
.endtime
> 1667920020)))': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND ((pages
.deleted
= 0) AND (pages
.hidden
= 0) AND (pages
.`starttim' at line 1
Missing uid value
in $sizeOfEachLogFile = (int)($bytesWrittenEachHour / $variables['innodb_log_files_in_group']);
there is imo no benefit in having times like "0.0057640075683594" i suggest to round it to something like "0.005764". this improves also the readability
The methods ProfileRepository::getProfileRecordsByUniqueIdentifier
and ProfileRepository::findProfileRecordsForCall
use incomplete groupby statements.
Furthermore the select
part omit proper quoting.
getProfileRecordsByUniqueIdentifier
:Quoting:
->add('select', 'crdate, unique_call_identifier, mode, SUM(duration) as duration, COUNT(*) as amount')
should be
->select('crdate', 'unique_call_identifier', 'mode')
->selectLiteral('SUM(duration) as duration', 'COUNT(*) as amount')
GroupBy must be:
->groupBy('unique_call_identifier', 'crdate' , 'mode')
findProfileRecordsForCall
:Quoting:
->add('select', 'query_type, unique_call_identifier, SUM(duration) as duration, COUNT(*) as amount')
should be
->select('query_type', 'unique_call_identifier')
->selectLiteral('SUM(duration) as duration', 'COUNT(*) as amount')
GroupBy must be:
->groupBy('query_type', 'unique_call_identifier')
what about using e.g. https://github.com/doctrine/sql-formatter to show the query in a improved way? would be fine for composer based only to avoid custom autoloading
Uptime partial contains still status variables which are not available anymore.
Here is a good explaination of various MySQL settings:
Would be good to have them in mysqlreport
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.