|This page contains historical information. It is probably no longer true.|
This details the architecture and functionality of the machines dedicated to Open Web Analytics machines we have in our cluster.
- the general OWA tracking code
- site-specific settings on what to track
The general owa tracker code lives at:
Site-specific tracking code will be at:
Levels of Tracking
Currently, in order of space required and computational intensity, OWA supports:
- pageview level tracking - just lets you know the pages users visited, where they came from, etc
- DOM element click tracking - lets you know specifically what elements were clicked, how frequently, etc
- full DOMstream interaction - records the flow of user interactions with elements of the page
The level of tracking is specified in the site-specific tracking code.
We have an LVS server redirecting requests to owa.wikimedia.org to the appropriate OWA processing nodes, each of which are attached to a database machine, which is replicated and backed up.
The client fires off events to the processing nodes, which record the events to a temporary event queue. Periodically this event queue is played into the database. Due to the possibility of event reordering or events from different types of interactions reaching OWA at different times, there is also a 'database queue' of incomplete events that is also processed by these nodes.
Additionally, frequently-accessed objects are cached in a shared memcached deployment similar to our Apache machines.
We've created a CiviCRM module that integrates our e-commerce information with OWA. This will allow anyone with access to CiviCRM to see more details of the session associated with the donations received.
Currently, the DonationInterface extension is fully integrated with OWA, and is turned on and off by specifying
in the LocalSettings file of any MediaWiki install with DonationInterface activated (ie the payments machines).