Addshore has uploaded a new change for review. https://gerrit.wikimedia.org/r/300703
Change subject: Factor user_groups queries into 1 script ...................................................................... Factor user_groups queries into 1 script Change-Id: I2671c59c80fee8013eadd7effd4580ff32150a8c --- M cron/daily.03.sh D src/wikidata/site_stats/admins.php D src/wikidata/site_stats/bots.php D src/wikidata/site_stats/bureaucrats.php D src/wikidata/site_stats/propertycreators.php A src/wikidata/site_stats/user_groups.php 6 files changed, 44 insertions(+), 124 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/analytics/wmde/scripts refs/changes/03/300703/1 diff --git a/cron/daily.03.sh b/cron/daily.03.sh index e16adff..9e8db9c 100755 --- a/cron/daily.03.sh +++ b/cron/daily.03.sh @@ -46,10 +46,7 @@ eval "$1/src/wikidata/site_stats/total_pages.php" eval "$1/src/wikidata/site_stats/active_users.php" eval "$1/src/wikidata/site_stats/users.php" -eval "$1/src/wikidata/site_stats/admins.php" -eval "$1/src/wikidata/site_stats/bureaucrats.php" -eval "$1/src/wikidata/site_stats/bots.php" -eval "$1/src/wikidata/site_stats/propertycreators.php" +eval "$1/src/wikidata/site_stats/user_groups.php" eval "$1/src/wikidata/site_stats/rolling_rc.php" eval "$1/src/wikidata/site_stats/pages_by_namespace.php" eval "$1/src/wikidata/site_stats/user_languages.php" diff --git a/src/wikidata/site_stats/admins.php b/src/wikidata/site_stats/admins.php deleted file mode 100755 index ec60627..0000000 --- a/src/wikidata/site_stats/admins.php +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/php -<?php - -/** - * @author Addshore - * Used by: https://grafana.wikimedia.org/dashboard/db/wikidata-site-stats - */ - -require_once( __DIR__ . '/../../../lib/load.php' ); -Output::startScript( __FILE__ ); - -$metrics = new WikidataAdmins(); -$metrics->execute(); - -class WikidataAdmins{ - - public function execute() { - $pdo = WikimediaDb::getPdo(); - $result = $pdo->query( "select count(*) as count from wikidatawiki.user_groups where ug_group = 'sysop' group by ug_group" ); - - if( $result === false ) { - throw new RuntimeException( "Something went wrong with the db query for admins" ); - } - $rows = $result->fetchAll(); - $count = $rows[0]['count']; - WikimediaGraphite::sendNow( "daily.wikidata.site_stats.user_groups.admins", $count ); - } - -} diff --git a/src/wikidata/site_stats/bots.php b/src/wikidata/site_stats/bots.php deleted file mode 100755 index 8a4f5a5..0000000 --- a/src/wikidata/site_stats/bots.php +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/php -<?php - -/** - * @author Addshore - * Used by: https://grafana.wikimedia.org/dashboard/db/wikidata-site-stats - */ - -require_once( __DIR__ . '/../../../lib/load.php' ); -Output::startScript( __FILE__ ); - -$metrics = new WikidataBots(); -$metrics->execute(); - -class WikidataBots{ - - public function execute() { - $pdo = WikimediaDb::getPdo(); - $result = $pdo->query( "select count(*) as count from wikidatawiki.user_groups where ug_group = 'bot' group by ug_group" ); - - if( $result === false ) { - throw new RuntimeException( "Something went wrong with the db query for bots" ); - } - $rows = $result->fetchAll(); - $count = $rows[0]['count']; - WikimediaGraphite::sendNow( "daily.wikidata.site_stats.user_groups.bots", $count ); - } - -} diff --git a/src/wikidata/site_stats/bureaucrats.php b/src/wikidata/site_stats/bureaucrats.php deleted file mode 100755 index 9f51469..0000000 --- a/src/wikidata/site_stats/bureaucrats.php +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/php -<?php - -/** - * @author Addshore - * Used by: https://grafana.wikimedia.org/dashboard/db/wikidata-site-stats - */ - -require_once( __DIR__ . '/../../../lib/load.php' ); -Output::startScript( __FILE__ ); - -$metrics = new WikidataBureaucrats(); -$metrics->execute(); - -class WikidataBureaucrats{ - - public function execute() { - $pdo = WikimediaDb::getPdo(); - $result = $pdo->query( "select count(*) as count from wikidatawiki.user_groups where ug_group = 'bureaucrat' group by ug_group" ); - - if( $result === false ) { - throw new RuntimeException( "Something went wrong with the db query for bureaucrats" ); - } - $rows = $result->fetchAll(); - $count = $rows[0]['count']; - WikimediaGraphite::sendNow( "daily.wikidata.site_stats.user_groups.bureaucrats", $count ); - } - -} diff --git a/src/wikidata/site_stats/propertycreators.php b/src/wikidata/site_stats/propertycreators.php deleted file mode 100755 index cc08115..0000000 --- a/src/wikidata/site_stats/propertycreators.php +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/php -<?php - -/** - * @author Addshore - * Used by: https://grafana.wikimedia.org/dashboard/db/wikidata-site-stats - */ - -require_once( __DIR__ . '/../../../lib/load.php' ); -Output::startScript( __FILE__ ); - -$metrics = new WikidataPropertycreators(); -$metrics->execute(); - -class WikidataPropertycreators{ - - public function execute() { - $pdo = WikimediaDb::getPdo(); - $result = $pdo->query( "select count(*) as count from wikidatawiki.user_groups where ug_group = 'propertycreator' group by ug_group" ); - - if( $result === false ) { - throw new RuntimeException( - "Something went wrong with the db query for propertycreators" - ); - } - $rows = $result->fetchAll(); - $count = $rows[0]['count']; - WikimediaGraphite::sendNow( - "daily.wikidata.site_stats.user_groups.propertycreators", - $count ); - } - -} diff --git a/src/wikidata/site_stats/user_groups.php b/src/wikidata/site_stats/user_groups.php new file mode 100644 index 0000000..4e3caf2 --- /dev/null +++ b/src/wikidata/site_stats/user_groups.php @@ -0,0 +1,43 @@ +#!/usr/bin/php +<?php + +/** + * @author Addshore + * Used by: https://grafana.wikimedia.org/dashboard/db/wikidata-site-stats + */ + +require_once( __DIR__ . '/../../../lib/load.php' ); +Output::startScript( __FILE__ ); + +// Map of group name => metric name +$groupMap = array( + 'sysop' => 'admins', + 'bureaucrat' => 'bureaucrats', + 'bot' => 'bots', + 'propertycreator' => 'propertycreators', +); + +$metrics = new WikidataUserGroups(); +$metrics->execute( $groupMap ); + +class WikidataUserGroups{ + + public function execute( array $groupMap ) { + $pdo = WikimediaDb::getPdo(); + foreach ( $groupMap as $group => $metricName ) { + Output::timestampedMessage( "Running query for $metricName group" ); + $result = $pdo->query( + "SELECT count(*) AS count FROM wikidatawiki.user_groups WHERE ug_group = '$group' GROUP BY ug_group" + ); + + if( $result === false ) { + Output::timestampedMessage( "DB query for $metricName failed" ); + continue; + } + $rows = $result->fetchAll(); + $count = $rows[0]['count']; + WikimediaGraphite::sendNow( "daily.wikidata.site_stats.user_groups.$metricName", $count ); + } + } + +} -- To view, visit https://gerrit.wikimedia.org/r/300703 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2671c59c80fee8013eadd7effd4580ff32150a8c Gerrit-PatchSet: 1 Gerrit-Project: analytics/wmde/scripts Gerrit-Branch: master Gerrit-Owner: Addshore <addshorew...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits