wiki:TablesStructure

FireStats tables

This page describes some of the important tables used by FireStats.

Hit table (firestats_hits)

The hits table holds recent hits, one row for each hit.

Row name Description
id Primary key of this table. an auto incrementing unique id
ip_int1 The first 64 bits of the IP address in an int format. since FireStats supports ipv6 128 bits are required to hold each ip address
ip_int2 The second 64 bits of the IP address in an int format
timestamp Timestamp of the hit, when it was recorded
url_id The ID of the hit URL in the urls table (firestats_urls)
url_site_id The Site ID of url (To which site monitored by FireStats the url belongs
referer_id The Referer URL id in the urls table (firestats_urls)
useragent_id The UserAgent ID in the Useragents table ((firestats_useragents)
session_id future use
country_code 2 bytes country code of IP address or NULL if unknown
excluded_by_user future use
excluded_ip 1 if this row is excluded by IP address, 0 otherwise

URLs table (firestats_urls)

The urls table holds all the urls and referrer information :

Row name Description
id URL id, referenced from other tables
url URL text as a binary blob
site_id The site_id this url belongs to
md5 url md5 checksum, used for indexing purposes
host url hostname. for http://firestats.cc/wiki that would be firestats.cc
search_engine_id The ID of the search engine this url is from or NULL if not from a search engine
search_terms Search terms in this url, if from a search engine or NULL for none
title The title of the page referenced by this url. currently only for WordPress posts and pages of monitored blogs
type URL Type, currently supported types: FS_URL_TYPE_POST=1 - WordPress post or page. FS_URL_TYPE_RSS=2 - RSS page
add_time The time this url was first added to FireStats
matching_exclude_patterns 1 if url matches a url excluding pattern, 0 otherwise

Useragents table (firestats_useragents)

The useragents table hold all the useragents (firestats_useragents)

Row name Description
id Useragent ID, referenced from other tables
useragent Useragent text as a binary blob
md5 Useragent md5 checksum, used for indexing purposes
match_bots 1 if useragent matches a useragent excluding pattern, 0 otherwise

FireStats archive tables

After a time defined by the user, FireStats convert hits in the hits table into a more compact form and store them in the archive ables.

Ranges table (firestats_archive_ranges)

The ranges table define the archive ranges. each range has an id, a beginning and end time and is referenced by the other archive tables to specify that some data was collected in this range. currently ranges are always of one day, but this may change in the future.

Row name Description
id Range ID
range_start Start time of this range
range_end End time of this range

Archive tables

Archive tables are pretty much self explanatory, and are all similar. each row in the table have a range_id. the range_id represents a start and end time for this range in the firestats_archive_ranges table. the rest of the information in the row is the number of X happened in that range, where X is obvious from the table name and from the column name. for example, firestats_archive_countries holds page views and visits from each country in each time range.

Other tables

If you want documentation of any other tables, please create an enhancement request.

Last modified 8 years ago Last modified on Sep 4, 2009, 4:46:47 PM