Extension:EventLogging

The EventLogging extension facilitates the collection of anonymized, aggregate metrics on how users interact with MediaWiki's interface. The Wikimedia Foundation captures and analyzes this data in aggregate to better understand how readers and editors interact with our site, to identify and usability problems, and to provide feedback for features engineers, with the overarching goal of driving improvements to user experience.

Features

 * EventLogging supports client-side logging from JavaScript and server-side logging from PHP.
 * The events are JSON objects defined by JSON schemas that can be edited on a MediaWiki server in a Schema: namespace; the latter feature is generally useful for storing other structured data in wiki pages.
 * The extension includes much back-end code for transporting, parsing and loading these events into SQL tables (automatically generated from the same schemas). The details of these components are specific to Wikimedia Foundation's configuration.

Documentation

 * /Schemas for logging your own events
 * /Events
 * /Comparison notes
 * Trello board
 * See also: Event logging on Wikitech''

Administration

 * See EventLogging metrics on Ganglia.
 * Subscribe to the eventlogging-alerts mailing list to receive alerts when outages occur.
 * Ganglia host views: db1047; Vanadium

For developers

 * Sample code for specifying a soft dependency on EventLogging.

Developer setup
Your local instance must be running some cache server, such as memcached.

describes the EventLogging configuration variables. The extension provides a dummy web server in  that responds to requests for the beacon URL on port 8080, so you can set and run python EventLogging/server/bin/eventlogging-devserver in a terminal to see events. See server/README.rst for Python setup instructions.

For server-side events, set $wgEventLoggingFile to a local file writable by the PHP/Web server, and in a terminal run tail -f on that file.

Don't use a schema name like "MyFakeTest" during development. Since schemas are referenced by MediaWiki revision ID, development versions won't conflict with production, so you should always use a real name and can point to the production wiki holding schemas during development.

Recent changes
https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/EventLogging.git&a=rss