Obsolete:OWA cluster

From Wikitech
This page contains historical information. It may be outdated or unreliable.

This details the architecture and functionality of the machines dedicated to Open Web Analytics machines we have in our cluster.

Tracking

OWA uses javascript tracking with 2 files:

  • the general OWA tracking code
  • site-specific settings on what to track

The general owa tracker code lives at: http://owa.wikimedia.org/owa/modules/base/js/owa.tracker-combined-min.js
Site-specific tracking code will be at: http://owa.wikimedia.org/resources/{site-specific-resource}.js

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.

Overall Architechture

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.

Processing Nodes

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.

e-commerce

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.

Enabling/disabling

Currently, the DonationInterface extension is fully integrated with OWA, and is turned on and off by specifying
define('OWA', true);
in the LocalSettings file of any MediaWiki install with DonationInterface activated (ie the payments machines).