Extension:ApiFeatureUsage

The ApiFeatureUsage extension adds a special page and an API module to fetch summaries of data logged by [//doc.wikimedia.org/mediawiki-core/master/php/classApiBase.html#a6285fc0c04a48ad14ffd95a5f9283735 ApiBase::logFeatureUsage], which is typically an indication of use of deprecated API features.

Dependencies
Log data must be added to some sort of storage system. Currently Elasticsearch is supported via Extension:Elastica.

Configuration

 * Parameters
 *  : Configuration array for accessing the log storage backend.
 * class: Backend access class to instantiate. Either this or factory is required.
 * factory: PHP callable which must return an instance of a backend access class. Either this or class is required.

Additional configuration values in :
 * Elastica backend
 * serverList: Array of Elasticsearch servers. Required.
 * maxConnectionAttempts: Maximum connection attempts, default 1.
 * indexPrefix: Prefix for the indexes to use. Default " ".
 * indexFormat: Date formatting for the indexes to use, see [//php.net/date the PHP manual]. Default " ".
 * type: Elasticsearch type to query. Default " ".
 * featureField: Field name for the logged value of $feature . Default " ".
 * timestampField: Field name for the logged timestamp. Default " ".
 * agentField: Field name for the logged user agent. Default " ".

Usage
The extension adds a new special page, Special:ApiFeatureUsage, with a simple form to request a summary of feature usage logs for a user agent and date range.

The extension also adds an API query submodule,. See the auto-generated API documentation for details.