Download plugins/DBStats/MySQLMetadataDataAccess.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 2.41 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/DBStats/MySQLMetadataDataAccess.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/plugins/DBStats/MySQLMetadataDataAccess.php
-
curl -L -o MySQLMetadataDataAccess.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/DBStats/MySQLMetadataDataAccess.php
2.41 kB
| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\Plugins\DBStats; | |
| use Exception; | |
| use Piwik\Config; | |
| use Piwik\Db; | |
| /** | |
| * Data Access Object that serves MySQL stats. | |
| */ | |
| class MySQLMetadataDataAccess | |
| { | |
| public function getDBStatus() | |
| { | |
| if ( | |
| function_exists('mysql_connect') | |
| && function_exists('mysql_stat') | |
| && function_exists('mysql_close') | |
| ) { | |
| $configDb = Config::getInstance()->database; | |
| $link = mysql_connect($configDb['host'], $configDb['username'], $configDb['password']); | |
| $status = mysql_stat($link); | |
| mysql_close($link); | |
| $status = explode(" ", $status); | |
| } else { | |
| $fullStatus = Db::fetchAssoc('SHOW STATUS'); | |
| if (empty($fullStatus)) { | |
| throw new Exception('Error, SHOW STATUS failed'); | |
| } | |
| $status = array( | |
| 'Uptime' => $fullStatus['Uptime']['Value'], | |
| 'Threads' => $fullStatus['Threads_running']['Value'], | |
| 'Questions' => $fullStatus['Questions']['Value'], | |
| 'Slow queries' => $fullStatus['Slow_queries']['Value'], | |
| 'Flush tables' => $fullStatus['Flush_commands']['Value'], | |
| 'Open tables' => $fullStatus['Open_tables']['Value'], | |
| 'Opens' => 'unavailable', // not available via SHOW STATUS | |
| 'Queries per second avg' => 'unavailable', // not available via SHOW STATUS | |
| ); | |
| } | |
| return $status; | |
| } | |
| public function getTableStatus($tableName) | |
| { | |
| return Db::fetchRow("SHOW TABLE STATUS LIKE ?", array($tableName)); | |
| } | |
| public function getAllTablesStatus() | |
| { | |
| return Db::fetchAll("SHOW TABLE STATUS"); | |
| } | |
| public function getRowCountsByArchiveName($tableName, $extraCols) | |
| { | |
| // otherwise, create data table & cache it | |
| $sql = "SELECT name as 'label', COUNT(*) as 'row_count'$extraCols FROM `$tableName` GROUP BY name"; | |
| return Db::fetchAll($sql); | |
| } | |
| public function getColumnsFromTable($tableName) | |
| { | |
| return Db::fetchAll("SHOW COLUMNS FROM " . $tableName); | |
| } | |
| } | |