Object ModelObject Model
Understanding the object model used to model the information in log files is key to getting the most out of polliwog. This is especially true since polliwog (in it's default configuration) makes extensive use of External site, opens in new window JoSQL to get access to, sort and group the objects created during processing of the log.

All of the following objects are in the org.polliwog.data package.

Object NameDescription
HitThis is the default class that is created by polliwog for each line read from the log file. The actual class created is specified by property: hitClass. The class models the information in the hit such as the status code, date/time the hit occurred, the request line, the referer (if present), the number of bytes returned and IP address of the visitor.

This class also contains a number of accessors for information that is derived about the hit, for example the country/location of the visitor, the site area and page title.

See the hits page for more details.
VisitThis class models a visit. A visit is basically a collection Hits along with other information about the visit. For example, derived information such as the country/location of the visitor, the Browser/OS they used, and search engine searches they performed during their visit (that led to your site), site areas they visited and linking sites they came from are stored in these objects.

Visit objects are those that are used to generate the per-visitor visit pages. Once that page has been generated however Visit objects are converted to instances of: HumanVisitSummary which summarizes the information in the Visit object and does not contain the hits.
HumanVisitSummaryThis class models a summary of a humans visit. This object is created when polliwog has finished with the Visit object. The summary is the object that is stored throughout the rest of the processing of the log. As the name suggests it contains a summary of the Visit information, most importantly it does not contain the pages (Hit objects) that the visitor viewed during their visit, except for the Entry Page and Exit Page (i.e. the first and last pages viewed).
HitStatisticsThis class holds statistics about a collection of hits. The Visit and HumanVisitSummary objects contain a HitStatistics object. It contains information such as when the date/time of when the visitor first started looking at pages, when they stopped (i.e. their visit ended), the number of pages viewed, the total downloads (size of the pages/hits) and details of the types of pages that were viewed and http status codes.
VisitedSiteAreaThis class provides information on a site area that was visited. It contains timestamps of when the visitor was in the area and when they left.
SiteAreaThis class models a site area. It should be noted that this is separate and distinct from the VisitedSiteArea class which models an area that the visitor has viewed. This class represents the site area itself and contains references to the pages within that area.
HitPageThis class models a page. This is basically the definition of a page (in a similar way that an object is an instance of a class, the Hit is an instance of a HitPage). The HitPage contains information about all the visitors/search engines that have accessed that page. For details on how pages are identified see: page resolution.
SearchEngineVisitThis class models a visit by a search engine crawler/bot/spider. It details the number of visits that the search engine made, the name, the user agent string used, pages downloaded, when the visits started/finished and a count of the number of bytes downloaded.
BrowserThis class models the browser that was used by the visitor. It is based upon the user agent header in the log. If no user agent header is provided then the browser will be null.
OSThis class models the operating system that was used by the visitor. It is based upon the user agent header in the log. If no user agent header is provided then the operating system will be null.
SearchEngineSearchThis class models a search performed by a user on a search engine that led to your site. It details the name of the search engine, the keywords used and where possible the results page that the link to your site was on (note: results page resolution is difficult to do accurately!), it also contains a reference to the Hit object.
VisitorDataThis class is the container for all the visitor information. All information from the HumanVisitSummary objects to search engine visits, site areas, HitPage objects and visit/hit collections can be accessed from it. Most of the other objects listed above also contain a reference to this object.
VisitorEnvironmentWhilst the VisitorData contains the actual visitor information, this class contains the configuration/environment information used to generate the visitor data. As such it can be used to resolve certain information (such as performing country/location lookups) and for formatting of information and so on.